DirectAction

From APIDesign

Revision as of 05:43, 18 July 2021 by JaroslavTulach (Talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to: navigation, search

Wikipedia describes various types and examples of so called direct action. This article talks about legal struggle of the ApacheNetBeans project to get an approval to distribute GPLwithClassPathException licensed component and the DirectAction used to solve it.

Contents

Animosity

The basic problem is the animosity between the Apache Foundation and the Free Software Foundation. While the first builds software as on bazaar, the latter wants to build cathedrals. Each foundation has its own license and members of the Apache foundation start to see red whenever they find these three letters anywhere: GPL. That's not surprising - the virality of GPL (described in WhyGPL essay) completely contradicts the Apache bazaar-like aproach to software development.

GPLwithClassPathException isn't GPL

However GPLwithClassPathException isn't as viral as GPL. The Classpath Exception allows redistribution of such binaries under any (including Apache) license. The problem is to get Apache legal to agree to it! Because once the true Apachers see GPL letters, they block and stop reading. It is very hard to spell GPLwithClassPathException without spelling GPL prefix!

Moreover while GPLwithClassPathException is quite common among Java projects, the roots of Apache project is its HTTP server written in C. Classpath has no meaning in C. People with C skills are rather going to see GPL in GPLwithClassPathException rather than the exception.

Finally, with LEGAL-563 things moved forward.

DirectAction: Organize a Vote!

The continuous pressure in LEGAL-563 and elsewhere opened a possibility to take action.

> "...it was accepted ... that ... GPL+CPE binaries could be included in Apache convenience binaries..."

That's from my perspective the major achievement that unlocked the rest. Reaching there took years, but the legal conclusion that APL and GPL+CPE can be combined together really worth it.

> "...PMC should be fully capable of reading and understanding ..." and > "...The crux of the issue seems to be resolved here and > it seems that PMC will be following up separately..."

Hearing from legal that the decision is fully in hands of Project Management Committee just called for an action. As PMC has only one decision process, a vote had to be organized. I am thankful that the community decided in April 2021:

https://lists.apache.org/thread.html/r1ddbb8f62ffb02a50db688c958dcd52e1dd3652974550bad9c24e95d%40%3Cdev.netbeans.apache.org%3E

that nb-javac is trusted to be GPL+CPE licensed with 4:2 majority. Of course, it was not an unisimo vote as

> "... clear statement in LICENSE.txt that nb-javac is ... GPL+CPE in its entirety ..."

certain suggestions were not satisfied. However that is (in my opinion) the difference between requirement and suggestion. Requirement has to be fulfilled, suggestions are just nice to have.

E.g. formal aspects aren't more important than already done legal deeds.

Apache NetBeans PMC had full right to decide to trust the deeds regardless of nice to have suggestions being implemented or not. I am glad that such position has been confirmed later by legal as well.

> "...comment added to the README that is sufficient for our purposes. It does not have to be present in the released binary."

Of course, it is a matter of trust...

> "It's a sliding scale. Somewhere between a notarized grant signed by > Ellison and someone whispering it to you in a bathroom, there exists a line > between sufficient or not; we have no idea where that line may be until > someone sues over it. It's okay when the PMC says it is okay, until it > isn't, and we'll deal with that if someone from Oracle ever objects.

...and it is OK until it is not OK!

Summary

Thanks to the [wikipedia:Direct_action] - e.g. organizing the PMC vote - we could successfully present an alternative which wasn't reachable by appealing the authorities.

It is possible for Apache projects to distribute GPLwCPE components in their complementary binaries since 2021!

Personal tools
buy