+ All Categories
Home > Documents > License compliance for embedded Linux devices with Buildroot...License compliance for embedded Linux...

License compliance for embedded Linux devices with Buildroot...License compliance for embedded Linux...

Date post: 12-Feb-2021
Category:
Upload: others
View: 7 times
Download: 0 times
Share this document with a friend
22
License compliance for embedded Linux devices with Buildroot Luca Ceresoli — AIM Sportline [email protected] https://lucaceresoli.net FOSDEM 2020
Transcript
  • License compliance for embedded Linuxdevices with Buildroot

    Luca Ceresoli — AIM [email protected]://lucaceresoli.netFOSDEM 2020

    mailto:[email protected]://lucaceresoli.nethttps://fosdem.org/2020/schedule/event/buildroot_license_compliance/

  • About me

    • Embedded Linux engineerat AIM Sportlinewww.aim-sportline.com

    • Develop products oncustom hardware

    • Kernel, drivers,bootloader, FPGA

    • Integration, build system• Open source enthusiast

    • Contributor to the Linuxkernel, U-Boot, Buildrootand others

    1

    https://www.aim-sportline.com/

  • Buildroot

  • Build system

    EmbeddedDevice

    Bootloader

    Kernel

    Root FSBuildroot

    BootloaderKernel

    Libraries

    Linker

    Applications

    Compiler

    Debugger

    ToolsHost tools

    End user

    2

  • Demo:

    Buildroot basics

    2

  • Open-source licensing

  • Typical license families

    Permissive(BSD, MIT, X11…)

    Use, modify, redistribute

    Provide license text

    Copyleft(GPL, LGPL, AGPL…)

    Use, modify, redistribute

    Provide license textProvide source code

    3

  • Caveats

    • There are many variations• License incompatibility• Info on websites etc might be inaccurate→ Check the license in the source code

    4

  • So, what do I have to do?

    • Provide license text• Store source code archives (provide them on request)

    • Including the “scripts used to control compilation andinstallation”

    • I.e. the entire buildsystem

    5

  • Compliance tools in Buildroot

  • Compliance tools in Buildroot

    EmbeddedDevice

    Bootloader

    Kernel

    Root FSBuildroot

    BootloaderKernel

    Libraries

    Linker

    Applications

    Compiler

    Debugger

    ToolsHost tools

    License text Source code

    Legal info

    End user ...

    6

  • Demo:

    make legal-info

    6

  • Implementing legal-infoin Buildroot packages

  • Add license info to a package

    package/vlc/vlc.mk

    VLC_LICENSE = GPL-2.0+, LGPL-2.1+VLC_LICENSE_FILES = COPYING COPYING.LIB

    package/vlc/vlc.hash

    sha256 8177f975...1b880643 COPYINGsha256 dc626520...032fe551 COPYING.LIB

    7

  • Your own closed source program

    package/myapp/myapp.mk

    MYAPP_LICENSE = ProprietaryMYAPP_REDISTRIBUTE = NO

    8

  • Source from unusual locations

    • Source code is not saved when using• _OVERRIDE_SRCDIR• _SITE_METHOD = local→ Avoid them when releasing

    9

  • ACTUAL_SOURCES

    • For some special packages:• _SOURCE contains binaries• _ACTUAL_SOURCE points to the tarball with the actual

    sources• Only used for pre-built external toolchains

    10

  • Conclusions

  • References

    • The Buildroot user manual(https://buildroot.org/docs.html)

    § 12. Legal notice and licensing § 17.5. Infrastructure for packages with specific build systems

    • License Compliance in Embedded Linux with the YoctoProject, Paul Barker, ELCE 2019 ( slides , video )

    • Mostly buildsystem-agnostic

    11

    https://buildroot.org/docs.htmlhttps://buildroot.org/downloads/manual/manual.html#legal-infohttps://buildroot.org/downloads/manual/manual.html#_infrastructure_for_packages_with_specific_build_systemshttps://elinux.org/images/2/20/License_Compliance_in_Embedded_Linux_with_the_Yocto_Project.pdfhttps://youtu.be/9wRn-9KhiEI?list=PLbzoR-pLrL6pamOj4UifcMJf560Ph6mJp

  • Questions?

    Thank you for your attention!

    Luca [email protected]

    https://lucaceresoli.net

    © Copyright 2020, Luca CeresoliSlides released under

    Creative Commons Attribution - Share Alike 3.0 Licensehttps://creativecommons.org/licenses/by-sa/3.0/

    12

    mailto:[email protected]://lucaceresoli.nethttps://creativecommons.org/licenses/by-sa/3.0/

  • Extra slides

  • Typical license families

    Publ

    icdo

    mai

    n

    Perm

    issive

    LGPL

    GPL

    ✓ ✓ ✓ ✓ Can use, modify✓ ✓ ✓ ✓ Can redistribute

    Must provide license text Must provide source code

    Derived work becomes GPL

    BuildrootOpen-source licensingCompliance tools in BuildrootImplementing legal-info in Buildroot packagesConclusionsAppendixExtra slides


Recommended