Software Freedom Conservancy

[RSS] Conservancy Blog

Displaying posts tagged GPL

Calling all Tesla owners: let's discuss the source code for the GPLed parts of your car!

by Denver Gingerich on October 30, 2019

It has been many years since we started working with Tesla to help them resolve their ongoing GPL violations. However, Tesla has still not provided the necessary source code for their cars (a benefit of ownership enshrined in the GPL, which Tesla chooses to use) and the incomplete versions of source they have released are more than 17 months old (at the time of this writing), despite new firmware being continuously delivered to Tesla vehicles. There have even been several updates within the past month. We know Tesla owners that care about software freedom are frustrated that they cannot exercise theirs.

We are looking for new ways to approach this issue. In particular, we are hoping to engage with interested Tesla owners to determine how we can work together and collectively improve the situation.

If you own a Tesla Model S, Model X, or Model 3, or know someone who does (especially in Canada, where I live) and would be interested in joining a discussion with Conservancy and other Tesla owners about this issue, please email us indicating your interest in the Tesla discussion. We'll get back to you in a day or two with details on how to join the conversation.

Please spread the word. Help us continue our work to bring meaningful software freedom to new classes of hardware, one manufacturer at a time.

Tags: GPL

When companies use the GPL against each other, our community loses

by Denver Gingerich on October 2, 2019

Our Executive Director, Karen Sandler, has warned for years about the dangers of lawsuits between two for-profit companies engaged in a legal dispute in which the GPL is tangentially featured. Unlike Conservancy, companies don't use legal action as the last resort, and they don't select their cases, as we do, focused on what's best for the software freedom of users. Nevertheless, these cases happen, and the GPL gets caught in the crossfire. With the assistance of our legal counsel, Pam Chestek, Conservancy has been carefully following the case of Ubiquiti Networks, Inc. v. Cambium Networks, Inc.

Cambium and Ubiquiti have been engaged in this lawsuit with each other for a little over a year now. Ubiquiti sued Cambium, claiming that Cambium violated RICO, the Computer Fraud and Abuse Act, the Digitial Millennium Copyright Act, and the Copyright Act, along with other causes of action. Cambium responded alleging that the Ubiquiti products included code under the GNU General Public Licenses and Cambium's own use of the portions of the Ubiquiti code subject to the GPL would not be an infringement. The case is still in very early stages.

As experts in GPL compliance, we carefully investigated the situation with each company. Ubiquiti was already known to us as we had received independent GPL violation reports from the public regarding their behavior. (The suit itself brought Cambium to our attention.) We have found that neither company complies properly with the GPL. Specifically, in our analysis of the facts, we have found that both Cambium and Ubiquiti fail to provide any source code for their respective routers and access points, even when we repeatedly asked over the course of several weeks, starting more than 30 days ago. This is not an issue of incomplete source or partial source; we have received no source code at all to review. Furthermore, even if we do receive some source code, the firmware images currently available indicate that there may be additional serious, overarching GPL compliance problems that are not easily resolved.

As for-profit GPL violators, these companies financially benefit from GPL non-compliance by for-profit companies. Their litigation around GPL is a distraction from the bigger issue of companies' repeated violations of the GPL. We lament the irony that two companies have begun a fight regarding GPL compliance (and deployed immense legal resources in the process), yet neither complies with GPL's most basic provisions. Because of this, it's unlikely this suit will yield GPL compliance by either party, and makes the suit another example of how for-profit legal disputes inevitably fail to prioritize the software freedom of users. In essence, we believe their dispute is not about empowering their users with the ability to augment their devices by improving and upgrading the software on them, but rather is about who is able to keep more of their code proprietary.

Conservancy will not stand by while this occurs. As such, we have today opened (at this point, non-litigation) GPL enforcement actions against both companies. We are informing the public of this situation in this blog post, since we gave both companies the industry-accepted standard amount of time to comply, and since the two companies have already made their violations public through the lawsuit filings. We call on both companies to immediately comply with the requirements of Linux's license, GPLv2.

Tags: GPL, licensing

Conservancy News Round-up

by Deb Nicholson on May 28, 2019

May is for code releases! Check out these videos, blog posts from member projects, code releases and upcoming events.

Recent Videos and Podcasts

Deb's talk on Free Software/Utopia is up, on the Free software Foundation's MediaGoblin server.

Deb was also the guest of honor on Libre Lounge, Episode 19: Community Development with Deb Nicholson. Thanks to Chris and Serge for their dedication to free software and to Conservancy's work!

On Free as in Freedom, Karen and Bradley discuss two additional permissions that can be used to “backport” the GPLv3 Termination provisions to GPLv2 — the Kernel Enforcement Statement Additional Permission, and the Red Hat Cooperation Commitment.

Our Member Projects Have Been Busy

This summer's Outreachy interns were announced. "Congratulations to the 43 interns accepted to the Outreachy May 2019 to August 2019 round!"

phpMyAdmin -- along with several other Conservancy projects -- are excited about participating in Outreachy this round.

MicroBlocks presented at ROBOLOT, an educational robotics conference held in Catalan. The video of their panel is about 75% Catalan and 25% English, so feel to skip around or brush up on your Catalan.

The Godot team attended GDC, aka the "Game Developers Conference" in San Francisco reported on their improved name recognition at this year's event.

The folks at Reproducible Builds, shared" that security and software supply chain attacks were in the news and that this was a busy month for their distro work.

Some recent code releases:

Etherpad merged in a big chunk of code to improve recovery from brief server outages. "The resulting code is 15% smaller than before, and is also much easier to comprehend."

What's coming up?

Catch up with staff:

Karen keynotes sambaXP on June 5th at 10:15 local time in Göttingen, Germany.

Bradley will be at the Ninth Annual RacketCon in Salt Lake City, Utah, where he will give a talk titled, "Conservancy and Racket: What We Can Do Together!"

Many of our projects have events coming up:

In addition to the aforementioned sambaXP and RacketCon...

First talks are announced for Selenium's upcoming London conference, tickets are available now.

North Bay Python has announced their dates for this year's event, November 2 & 3, 2019. Talk submissions will open soon!

Tags: conservancy, Wine, GPL, Kallithea, Google Summer of Code, Member Projects, Godot, Reproducible Builds, QEMU, Selenium, Outreachy

Choosing a GPLv3-termination Backport to GPLv2

by Bradley M. Kuhn and Karen M. Sandler on May 11, 2019

About four years ago, Conservancy (in collaboration with the Free Software Foundation) published the Principles of Community-Oriented GPL enforcement. Our goal was to conduct our enforcement ethically and respectfully, treating today's violators as tomorrow's contributors. Accordingly, the Principles advocate a holistic approach to GPL enforcement that truly seeks to gain GPL compliance to advance software freedom. We were so happy about the way the Principles assisted the Netfilter team and we were excited that there was substantial interest in codifying these long standing ad-hoc Principles into a widely adopted and published consensus.

Ideas in FOSS also have a way of taking on a life of their own; we share our ideas in the hopes that others will build on them. We have been pleasantly surprised that the last Principle, “Community-oriented compliance processes should extend the benefit of GPLv3-like termination, even for GPLv2-only works”, received so much interest.

This interest led to two independent initiatives to “backport” the GPLv3 termination provisions — by way of an additional permission — to GPLv2-only-licensed works. Additional permissions to GPLv2 have been used for various purposes since the early 1990s (such as for the Bison exception). Additional permissions grant more leeway — relaxing some requirement of the default license — in an effort to reach some policy goal for the project. In this case, the additional permission softens the strict terms of the GPLv2 termination provisions, which state that any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. That means permissions under GPLv2 are instantly and permanently lost on even easily-correctable violations and require reinstatement of permissions by copyright holders. In contrast, the GPLv3 version gives downstream violators short time periods to comply and receive automatic reinstatement of permissions, via the following clause:

If you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice.

This improved policy can indeed be “backported” to GPLv2 via an additional permission.

Two Choices

Two efforts over the last year and a half have “implemented” these backports. The first released was the solution now used by the Linux community, which states:

Notwithstanding the termination provisions of the GPL-2.0, we agree that it is in the best interests of our development community to adopt the following provisions of GPL-3.0 as additional permissions under our license with respect to any non-defensive assertion of rights under the license, However:

[Quotes GPLv3 termination provisions as above]

We call this sub-document the Kernel Enforcement Statement Additional Permission (“KESAP”), as it is published as part of a larger document named “Kernel Enforcement Statement”. (The rest of that document does not contain legally binding terms.)

The second effort, inspired by this KESAP, was released later by Red Hat, which they call the GPL Cooperation Commitment (GPL-CC), but which we will call here “RHCC” to avoid any confusion with FSF initiatives around the GPL and license drafting. The RHCC is available on github.

Adopting One of the Additional Permissions

Conservancy finds both documents intriguing and worthy of additional study and consideration. Moreover, Conservancy has decided that we will adopt one of these GPLv3-termination-backport provisions for copyrights we hold, and advocate adoption for other copyrights held by contributors for our member projects. While we don't demand this of anyone (and won't make use of such an additional permission mandatory for our GPLv2'd projects), we make a strong recommendation for use of a GPLv3-termination-backporting additional permission.

We have for months carefully considered which of the two options is the best to adopt. This was a difficult decision, since the two are similar and both have some problematic aspects. While we applaud both the Linux community and Red Hat for promulgating these useful additional permissions, on balance we prefer KESAP, and so we are adopting and endorsing KESAP. Below we discuss our reasons for this choice between the two for those who wish more detail. Anyone interested can also listen to episode 0x67 of Free as in Freedom where we discuss these issues in detail.

Length and Complexity

KESAP is about half as long as RHCC. When you remove the direct quote in both documents that come from GPLv3's text itself (which obviously must be included in both), the RHCC adds 1,180 words and KESAP adds only 323.

The RHCC is also more complex. It adds additional defined terms, including redefining “We”, which is already a term used in GPLv2's preamble to refer to the FSF. It adds an irrevocability clause, which is not harmful, but it is unnecessary since unilaterally granted copyright permissions are generally irrevocable anyway. Furthermore, given that the word “irrevocable” doesn't appear in GPLv2, adding a redundant irrevocable clause could easily confuse license readers into thinking that GPLv2 itself is otherwise revocable even while the additional permission is not.

Aggressive Defensive Termination Violates Principles

Our biggest concern with both KESAP and RHCC is that they only apply in “non-defensive” situations. This allows copyright holders to fail to provide 30 days for violators to repair violations when those violators are already aggressors in some other form of litigation.

While we are somewhat sympathetic to those who might seek to use GPL enforcement to retaliate against other bad actions, we believe that even potential bad actors deserve the benefit of the doubt and the meager 30 days to repair a violation before facing aggressive enforcement tactics. Furthermore, defensive actions that bring the GPL into court as part of business dispute otherwise unrelated to free software are also the most likely litigation to generate bad legal precedent regarding the GPL. (Indeed, many of the lawsuits that have already been brought over the GPL are in this category. While so far these have settled out of court, there's no reason to expect that to always happen in the future.) We are disappointed that both sets of drafters feel that copyright holders should hold back this permission in those cases. As the Principles state, we continue to discourage any legal action (defensive or otherwise) against a copyright holder who otherwise succeeds in producing a compliant GPL'd source release within 30 days of violation notice. We ask Red Hat and the Linux community to also make this same cure commitment universally, perhaps in an updated version of these additional permissions.

We do note that RHCC is slightly better on this point, since it does narrow non-defensive via a defined term, but it does not narrow it enough to make a real difference, while also adding additional complexity. Moreover, the text specifically mentions legal proceedings and claims, which draws attention to the very activities that make nervous copyleft software adopters skittish.

Additional Permissions Should Not Codify Assent Mechanisms

RHCC has its own orthogonal assent mechanism, based on the presence of a file in the repository. This assent mechanism, while it seems similar to a traditional inbound=outbound regime, is actually novel and untested. The mechanism attempts to gain assent based on a specific date of inclusion of the RHCC file in a repository. Contributors, however, do not necessarily receive any notice of the addition of that file, and therefore their assent is unclear.

For example, imagine a pull request from two levels downstream that waits for merge for months. The modern DVCS-based software development process allows developers to work indefinitely on a forked copy of the repository and there is no way to know that the contributor had a copy of the repository that pre-dated the addition of the file, and they may not have a copy of the RHCC in their repository. When all is merged, it will appear that their commit postdated the addition of the RHCC, but the contributor may be unaware that the exception is added.

Furthermore, many projects already have licensing assent systems that are likely incompatible with one that is baked into the RHCC. Indeed, Linux itself has decided that they cannot make KESAP part of the DCO assent, since too many Linux developers already believe Signed-Off-By means assent merely to GPLv2-only-compatible licensing. The RHCC, when added to a existing project, cannot be adapted to fit a DCO process without modification of the DCO. Since Signed-Off-By tags rarely assent specifically to a version of the Project's DCO, RHCC is incompatible with a DCO-assent-based inbound=outbound assent system.

By contrast, the KESAP is flexible on assent. The entire KES, which includes the actual additional permission that is the KESAP, asks contributors to affirmatively assent with a patch that adds their own name to the file — explicitly indicating assent. Extracted from the KES, the KESAP text can be combined easily with virtually any assent mechanism in use in FOSS today. RHCC simply cannot.

Adding KESAP to your project

Linux is the gold standard of frictionless legal assent that is well-accepted by both individual hobbyists and contributors and corporate contributions and users alike. Recommending the Linux solution to this particular GPLv3-termination backport is simply the best way to quickly promulgate these additional permissions to GPLv2'd projects. We'll be working over the coming months to encourage, and hopefully assist, Conservancy's LGPLv2'd and GPLv2'd (or-later) member projects to implement KESAP. We will also relicense all Conservancy's own GPLv2 (or-later) copyrights to include the KESAP.

Tags: conservancy, GPL, law, licensing

Next page (older) »

[1] 2 3 4 5 6 7 8 9 10 11

Connect with Conservancy on Mastodon, Twitter, pump.io, Facebook, and YouTube.

Main Page | Contact | Sponsors | Privacy Policy | RSS Feed

Our privacy policy was last updated 25 May 2018.