Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The problem with the GPL is that it presupposes its own supremacy and refuses to work with other free licenses. Two prime examples are MPL and CDDL (which was based on the MPL). Both of which GNU regards as free software licenses, but says to not use them because they don't bow to the FSF.

The binary in memory linking clause is the most harmful thing to ever happen to free software. It destroys collaboration and restricts user freedom. It causes partisanship and infighting within our communities and prevents good ideas, the best ideas, from being freely shared (breaking both freedoms 2 & 3!). GNU has declared war on other licenses for far less than that.

Can we all admit that the in memory linking clause makes GPL non-free software? We'd all be better off to realize it.



License incompatibility happens when two licenses has different conditions which both need to be happen in order stay in compliance.

Its very easy for a license to fix this. They can either use common conditions, or they do like GPLv3 and have a list of additional conditions which may be added in order to be compatible with other licenses. MPL do not have that, nor does CDDL, and thus we have the situation where they are incompatible with most other copyleft licenses.


I don't see why it's on the CDDL to fix. CDDL is a file based source license, the resulting binaries can be freely linked against binaries with different licenses. Section 3.6 explicitly says so!

The primary difference between MPL 1.1 and CDDL 1.0 with MPL 2.0 is that sections 1.7 and 3.3 of MPLv2 explicitly bow to GPL, a concession made by Mozilla to attempt to end this nonsense. Section 3.7 of MPL 1.0 and 1.1 (3.6 of CDDL) are clauses that imply GPL compatibility, without explicitly naming GPL. That wasn't good enough for the FSF, thus, MPLv2.

MPL was chosen as a template for CDDL because sections 3.7 (CDDL 3.6) gives it a quality like BSD, that the binaries can be larger works with different license terms while the rest of the license retains the copyleft qualities of the source code. Thus, CDDL would have "all the advantages of BSD, all the advantages of GPL".

Any supposed incompatibility is in the legal opinion of the FSF, who never stated their reasons, only the final conclusion, preventing healthy discussion on the matter.

Since the FSF and GNU identify all versions of MPL and CDDL to be "free" and "copyleft", why is the burden on CDDL or MPL? The FSF could have solved this by explicitly naming MPL/CDDL in GPLv3 (as they did with AGPL).


The MPLv2 was specifically designed to be compatible with as many FOSS licenses as possible. It was not possible to make it compatible with GPLv2 however, because the GPLv2 is incompatible with any license that has explicit patent clauses (which I would consider to be a historic accident and a serious issue with GPLv2).

That issue was resolved with a specific section in the MPLv2 that allows licensing the code under (L)GPLv2+/AGPLv3+.

  1.12. “Secondary License”

    means either the GNU General Public License, Version 2.0, the GNU Lesser General Public License, Version 2.1, the GNU Affero General Public License, Version 3.0, or any later versions of those licenses.
The MPLv1.0/v1.1 allows automatically upgrading to any later version of the MPL, in section "6.2. Effect of New Versions. ". Therefore (IANAL etc.) any code published under MPL is compatible with GPLv2+.


>Both of which GNU regards as free software licenses, but says to not use them because they don't bow to the FSF.

CDDL is and was created with the purpose of being GPL incompatible, because Sun did not want Linux to be able to use ZFS and DTRACE which were technical crown-jewels of Solaris.

>The binary in memory linking clause is the most harmful thing to ever happen to free software.

What ?


> CDDL is and was created with the purpose of being GPL incompatible, because Sun did not want Linux to be able to use ZFS and DTRACE

Not true at all.

* https://www.reddit.com/r/IAmA/comments/31ny87/i_am_the_cto_o...

* https://www.youtube.com/watch?v=-zRN7XLCRhc&feature=youtu.be...


Wasn't CDDL designed to be incompatible with GPL? That is not something you can blame GPL for.


I don't think that was the case.

(usual disclaimer, not a lawyer, etc.). CDDL is file based - basically saying "if you modify this file, and distribute the software, you must provide the source code to the modified files".

Sun's intent (as far as I understand) was to appease OEMs by allowing them add additional files to Solaris (think device drivers, etc.) without requiring them to give away the source to their IP.


Yes that was indeed the case, Sun Solaris was losing hard to Linux and they were trying to go the open source route to get back on track (OpenSolaris), however since they (rather obviously) did not want to hand over their key technology advantages like ZFS and DTrace to Linux (their main competitor to which they were losing), they needed to release them under a non-GPLv2 compatible license to prevent Linux inclusion.

They were initially waiting for GPLv3 to be finalized (which would have been fine since Linux is GPLv2 ONLY) but it took too much time so they created CDDL which was, of course GPL incompatible.


I think it is the case that CDDL was deliberately intended to be incompatible, mostly because Danese Cooper, author of CDDL, said so herself.



We have some Sun people saying that was the reason, and some of them saying that it wasn't. That sounds like an ambiguous draw to me.


License proliferation was a problem largely supported by the OSI. IMHO there are really only 3 free/open licenses necessary - GPL, LGPL and BSD (or MIT). Anyone else is trying to be open or free while also supporting some other agenda.

If you want it both ways, go dual lincense with GPL and a commercial license. Just be up front and honest about it.

That said, I need to reread GPL3 in detail...


There are a few other variants. Affero, as noted, also the Mozilla Public License, which applies on a file-by-file basis and allows for proprietary code to be integrated into a MozPL licensed work as a whole and distributed.

But otherwise, yes: GPL, LGPL, BSD/MIT are the principle cases.


I'd prefer if people forget about BSD/MIT and use ALv2 instead, for the patent clauses.

With the following preferred licenses you'd get explicit patent clauses, in ascending order of copyleft-ness:

ALv2 MPLv2 LGPLv3 GPLv3 AGPLv3

Perhaps the Eclipse Public License would also be an alternative at the same level as MPLv2 but I'm not familiar with it.


Fair point.

ALv2 == Apache License, v2.


Don't forget the AGPL.


GPL is just a subset of AGPL, isn't it?


I don't understand what your point has to do with memory. Care to elaborate?


CDDL is not a free software licence. it was explicitly created to be GPL-incompatible, in order to preserve Sun's control over their IP.


https://www.gnu.org/licenses/license-list.html

  Common Development and Distribution License (CDDL), version 1.0 (#CDDL)

    This is a free software license.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: