A Beautiful Build: Releasing Linux Source Correctly

Bradley M. Kuhn

4 March 2017

What Does Conservancy Do?

Background

The Copyleft

Formal Definition of Copyleft


Copyleft is a strategy of utilizing copyright law to pursue the policy goal of fostering & encouraging the equal & inalienable right to copy, share, modify & improve creative works of authorship. Copyleft … describes any method that utilizes the copyright system to achieve the aforementioned goal. Copyleft as a concept is usually implemented in the details of a specific copyright license … Copyright holders of creative work can unilaterally implement these licenses for their own works to build communities that collaboratively share & improve those copylefted creative works.

— Definition of copyleft from copyleft.org

What is GPL Enforcement?

But It’s Not Really About Upstream.

What’s a GPL Violation?

Enforcement is Technical

How GPLv3 says CCS.


The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities.

— GPLv3§1

How GPLv2 says CCS.


You may copy and distribute the Program (or a work based on it, under § 2) in object code or executable form under the terms of § 1 & 2 above provided that you … [a]ccompany it with the complete corresponding machine-readable source code … The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable.

— GPLv2§3

The 11 Words That Consumed My Life


the scripts used to control compilation and installation of the executable.

— GPLv2§3

The 11 Words That Consumed My Life


the scripts used to control compilation and installation of the executable.

— GPLv2§3

A Pristine Example

Lessons Learned from Pristine Example

Avoid the offer for source.


Accompany [executable form] with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code … on a medium customarily used for software interchange

— GPLv2§3

Avoid the offer for source.


Accompany [executable form] with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code … on a medium customarily used for software interchange

— GPLv2§3

Give a roadmap in a README


the scripts used to control compilation and installation of the executable.

— GPLv2§3

ThinkPengiun’s README

A file called “README” at the top-level directory said:

In order to build firmware images for your router, the following needs to be installed:

gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip,
gawk, getopt, libz-dev and libc headers.

Please use “make menuconfig” to configure your appreciated configuration
for the toolchain and firmware. Please note that the default configuration
is what was used to build the firmware image for your router. It is advised
that you use this configuration.

Simply running “make” will build your firmware. The build system will
download all sources, build the cross-compile toolchain, the kernel and all
chosen applications.

 To build your own firmware you need to have access to a GNU/Linux system
 (case-sensitive filesystem required).

Make Sure It Builds


the scripts used to control compilation and installation of the executable.

— GPLv2§3

Toolchain?


the scripts used to control compilation and installation of the executable.

— GPLv2§3

It’s not “make install”


the scripts used to control compilation and installation of the executable.

— GPLv2§3

Missing hardware components

Summary

Future Work

More Info / Talk License

Presentation and slides are: Copyright © 2015, 2017 Bradley M. Kuhn, and are licensed under the Creative Commons Attribution-Share Alike 4.0 International License.

Device Lock Down (Since you asked)