Thursday 13 October 2016

Why GPL Enforcement Is Essential to OpenWrt/LEDEs Past and Future





Why GPL Enforcement Is Essential to OpenWrt/LEDEs Past and Future

Bradley M. Kuhn

Thursday 13 October 2016



Slide Links



Some of the slides have links to various articles.

I dont mind at all if you would rather read those than listen to me further. :)

ebb.org/bkuhn/talks/OpenWRT-2016/gpl.html, or via url shortener at ur1.ca/pvrdi

Source code of slides is available. Im sure to have typos; please submit patches there rather than calling them out. :)



The Guiding Moral Theory




Fighting for software freedom means trying to build a world where every user has the unencumbered, inalienable right to copy, share, modify, redistribute, upgrade and improve all the software on which they rely.



The Final Goal




IMO, the final goal of the software freedom movement is to change the world so that all software available is Free Software, giving every users those key inalienable rights.



What is Copyleft?



Fundamentally, copyleft is a strategy, not a moral imperative onto itself.

We must never forget: the goal is software freedom.

Copyleft is simply a tool to help us get there.



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



Its Not Magic



Copyleft is not magic pixie dust.


What is GPL Enforcement?



Broadly, GPL enforcement is the process of ensuring that redistributors grant the rights that copyleft assures.

The primary goals are:

ensure that the users of a product containing copylefted works can participate upstream by testing, building, and enhancing the work on the actual device.

help distributor themselves join and contribute back to the upstream project.


The Principles of Community-Oriented GPL Enforcement at sfconservancy.org/linux-compliance/principles.html.



Whats a GPL Violation?



GPL (both v2 and v3) require:

The whole work licensed under GPL.

(which means all copyrighted material added must be under GPL-compatible licenses.)

Complete, Corresponding Source (CCS) of that work provided, under GPL.


The licenses terminate upon violation 

 thus failure to comply means lost distribution rights.

 enforcement uses this rights termination as leverage to restore compliance.




How This Relates to OpenWrt



OpenWrt may be the most successful historical example of GPL enforcement.

The project began as the outcome of GPL enforcement action.



Where It All Began




Spring 2003: dozens of reports on WRT54G.

Discussions begin with Cisco (whod bought Linksys just weeks before)

Story hits slashdot on 2003-06-08

FSF (where I used to work) put together group to do enforcement.

key members: Erik Andersen (BusyBox) & Harald Welte (Linux)




First, the End of the Story




WRT54G source is released (but wireless driver kept proprietary).

SVN check-in r1 of the OpenWrt project was the actual source code we reviewed in our GPL compliance efforts.



How We Got There



Cisco had just purchased Linksys.

Cisco was actually surprised that any Free Software was in Linksys devices.

Linksys had no plan for GPL compliance.


After months of negotiation, Linksys admitted the build came from Broadcom.

Please note: Broadcom was a different company, and led by different people then.



Dealing With Broadcom



 & it was thirteen years ago today 



Dealing With Broadcom



On Monday 13 October 2003, Broadcom brought most of their executive team to meet with us.

Their primary request: dont push on the wireless driver issue, for fear of an FCC fight, and in return they will comply with GPL.

The coalition of copyright holders enforcing the GPL in this case made that deal.



Was It the Right Deal?




Ive often wondered if we made the right deal.

But I doubt Id go back and change it, because the birth of OpenWrt was too important to mess with.

 & besides, I am convinced time-travel into the past is impossible.



Culture of Enforcement-Born Projects



More than any other project, I believe OpenWrt/LEDE culture has GPL enforcement in their DNA more than any other project.

OpenWrt/LEDE developers have a healthy distrust of any proprietary component, particularly proprietary device drivers.

Developers are not afraid to confront companies who make proprietary drivers 

 & laud companies who change their behavior and get GPL compliance right:

(cf: ath9k  but ask me to tell you the ath5k story sometime :)




Whats Next



The GPL gives OpenWrt/LEDE a strong argument:

if you are out of compliance, we cant maintain your changes upstream.


OpenWrt/LEDE is the key project to influence wireless industry behavior:

proprietary Linux device drivers violate the license; the project takes on risk if it distributes them 

 so vendors must eliminate the risk by liberating the drivers & gain upstream cooperation.


The tool of GPL works for OpenWrt/LEDE to assure wireless device users software freedom.



What about FCC & Other Regulators?



So much, but also so little, has changed in the 13 years since I sat across the table from those Broadcom executives.

We all have a shared problem: misunderstanding by the FCC.


I thought we solved in this with the Cognitive Radio Report and Order back on 2007-04-25.

This is the ruling that allowed us to say: you have no FCC-related argument to fail to comply with the GPL

Im quite sure ath9k would have been a non-starter without this ruling.


But thanks to Eric Schultz for being the very first to point out FCC NPRM 15-170 was likely to trump the 2007 ruling.



What about FCC & Other Regulators?



But be clear on this point:

the question is still open with the FCC; its not decided yet. We should not treat it as a fait accompli!




There is more hard work ahead of us as we finalize rules, and we welcome continued input from manufacturers, users, technologists, and others.


 Julius Knapp, FCC on November 12, 2015



Reusing the Strategy



How can GPL help?

We had, from 2003-2007, and now may again soon have a potential conflict between copyright requirements under GPL & FCC regulations.

In the USA, we can bring this issue to the forefront: ultimately, two federal laws/regulations (i.e., copyright & spectrum regulation) have a fundamental conflict.


So, why not ask the federal government to directly consider this conflict!



Bringing The Issue Forward



Ultimately, the NPRM dance with the FCC, while necessary, is only one approach to bring forward the issue.

Consider this other simple, parallel approach:



Bringing The Issue Forward



Bring a product before the FCC that needs to be GPLd due to compliance, and ask for certification.

If/When it is not certified, we can directly ask the federal government to address the question head-on: Is the USA federal government really telling us to either violate GPL, or never incorporate GPLd software into FCC-compliant wireless products?

Conservancy is investigating executing on this approach.



More Info / Talk License




URLs / Social Networking / Email:

Pls. support Conservancy: sfconservancy.org/supporter/

The Guide is available & welcomes contributions at copyleft.org.

You can join the current GPL enforcement coalition of Linux developers.

Conservancy: sfconservancy.org & @conservancy.

Me: faif.us & ebb.org/bkuhn

Slides: ebb.org/bkuhn/talks.



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