Consider this example which is based on actual events.
Consider Project A which is based on code released by company X under GPLv2 only. We're grateful for the release of this code and start to develop a project based around it.
Then organisation Y releases Library B, something which would help us immensely with our project. However it's released under the GPLv3 and one of two scenarios occurs, they want to change the license but have distributed copyright ownership and cannot contact the original authors so the license cannot be changed, or they don't want to be seen eroding 'freedom', so they refuse.
Who is right in this situation? Why should two projects who have the goal of progressing FOSS be doomed to non-collaboration?
There is no right or wrong, GPLv2 and GPLv3 are different licences.
In order to make it possible to use GPLv(n) code together with GPLv(x) code, developers often use the 'or later' clause when they licence under GPL.
However if they only want the code to be used under the conditions of GPLv(n) then they will omit that clause, as Linus Torvalds did with Linux for instance.
The example you portray has nothing to do specifically with GPL, it would be just as true in any other licence incompability scenario. And if the original authors don't want to change the licencing then that's their right, end of story really.
Again GPLv2 and GPLv3 are _separate_ licences, and incompatible with eachother _unless_ there is a clause which allows the code to be released under a later GPL version.
Those projects aren't doomed to non-collaboration because that is a non-issue. Worst case scenario you'll have to modify one of those projects so they can invoke the other one as an external program. Free software license incompatibility is blown way out of proportion.
This is a real life example of a scenario currently playing out between LibreCAD (GPLv2 only) and LibreDWG (GPLv3) because the former was based on the source code released from a company who has no intention of changing it and the latter is the FSF, who see anything but the latest and greatest GPL version for their own projects as undermining free software.
So you have a situation where you have a program and a library that would really benefit each other, yet are unable to combine that code and distribute it.
Yes and there are workarounds for it. If they aren't willing to do a workaround and neither of them are willing to compromise on their position (LibreCAD should probably switch to GPLv3, btw), then it's both of their faults.
>the FSF, who see anything but the latest and greatest GPL version as undermining free software
This is false. The FSF has no problem with people using licenses that aren't the GPLv3. It's suggested that you use the GPLv3, but any license that meets the criteria for being free software is an acceptable free software license.
LibreCAD can't switch because their project depends on a large amount of GPLv2 only code.
The FSF won't change its position because LibreDWG is a FSF project.
Catch 22, who's right?
You can blame the copyright system for that for making it not possible to negotiate license changes in the event the original copyright holder is not contactable for whatever reason. But again, there are workarounds and it makes no sense for them not to consider them, so this whole thing is a non-issue anyway. If they want to save DWG files, is there any reason they cannot invoke LibreDWG from a separate command line program using an intermediate format?
It's not the copyright system's fault in this regard.
The originator of the LibreCAD code has no interest in hiring another legal team to go through the process of re-licensing an already open source project, and the FSF sees anything less than *GPLv3 in its own projects undermining the end user's freedom.
The copyright system is to blame because without it there would be no need for them to even think about hiring a lawyer because these complex licensing issues wouldn't even exist. I would advise against looking to blame someone, as the system is not known for working in the first place.
But if you really want to blame someone, you can blame both of them. They're both wrong, because there are workarounds.
So your solution is to abolish the current copyright system?
How would you fix it?
What would you do different to the current one?
And this topic is well documented and there currently is only one viable workaround, the FSF licensing LibreDWG under a GPLv2 compatible license. They have blatantly refused however, as explained here.
http://libregraphicsworld.org/blog/entry/libredwg-controvers...
That page basically says exactly what I did: There is a work around, they could create an alternate plugin interface specifically for this purpose. However they don't want to because it's "ugly." So after reading that I would say the blame falls completely on the LibreCAD developers. Something perceived as being "ugly" is not a valid reason for the FSF to compromise its political goals. The FSF re-licensing software they own the copyrights to is not an option. They're a political organization and they drafted the GPLv3 for urgent political reasons, for them not to use it would be hypocrisy.
As for replacing the copyright system, let's save that discussion for a different thread where it is more relevant.
If you had looked further into the subject, you would know that the LibreCAD developers attitude of 'it's ugly' includes 'it breaks a lot of stuff'.
They can't justify the workload of adding a module that would otherwise not exist because of licensing issues.
And the FSF is supposed to be a champion of, well, free software, and I find it highly hypocritical of them to leave a project out to dry like this, especially if LibreDWG was released a few years before and released under the GPLv2.
I read the article you linked and nowhere does it say that things will break. I know it's convenient for you to attack the FSF but the real problem is that RibbonSoft is a proprietary company that is more interested in dual licensing and refuses to accept the GPLv3.
Yes, I agree, it is ridiculous. That's what happens when you have to deal with software licensing. The whole point of licenses is to be incompatible, if all licenses were compatible then we would only have one license.
I didn't come up with this system, if you must blame something, blame copyright. If you think it's bad this way, it's even worse when the two licenses in question are proprietary; often times in that situation you won't even have the option of a rewrite or a workaround. The nature of copyright is that not even free software licenses can give you the legal ability to do everything you could possibly think of doing, but they give you enough to ensure that every user is granted the four freedoms as long as the copyright holds. The FSF's position is that it would be more meaningful for the community to convince RibbonSoft to re-license as GPLv3 than it would be to have the short term gain of having DWG support available sooner.
I should lay out the options for you, so you can understand them.
LibreCAD is GPLv2 only, it has code from Ribbonsoft and also from independent contributors.
In order for them to transition to GPLv3, the following must occur:
- Ribbonsoft has to clear the code release with their legal department again to see if any contracts prevented parts of the code being released with such a license, then to approach the contractors who contributed to the program and get their input, then they have to go through and see if any patent licenses they have for their code would prevent such a transition. This equates to a lot of money that Ribbonsoft may not want to dish out again.
- Any contributors to LibreCAD who used GPLv2 only licenses or didn't assign copyright to the team would have to be contacted and their permission would have to be obtained for a change.
- Any other GPLv2 only code would have to be stripped out in order to obtain compatibility with GPLv3
On the other hand, the FSF holds all the copyrights to the LibreDWG codebase. It would cost them nothing to change the license to GPLv2, nor would it waste any time with reimplementation of code already out there.
The answer is so simple that I'm finding it difficult to believe that you still can't see it.
>The answer is so simple that I'm finding it difficult to believe that you still can't see it.
That the FSF should compromise its entire purpose so Ribbonsoft can save money and avoid duplicating code? I don't think anybody donates to the FSF in order that Ribbonsoft can maintain their business model.
It's not its entire purpose, the GPLv2 is still a valid GNU license, it's still copyleft and this sort of behaviour from them isn't helping the community at all, nor is it helping free software. It's pragmatic and idiotic.
A lax permissive license could potentially lead to a whole host of other problems including licensing problems. These licenses are not free from incompatibilities either, see the infamous BSD advertising clause for an example of that. And a permissive license certainly would not guarantee the project stay "unencumbered" either. The most adequate solution to this would be to either work on persuading RibbonSoft to relicense under GPLv3, or to just do a workaround. Attacking the GPL serves no purpose, even if you disputed the choice of license it would make more sense to criticize RibbonSoft than it would to criticize the FSF just for writing the GPL.
The BSD advertising clause has been dead for years, and it was primarily incompatible with ... the GPL.
The GPL is incompatible with licenses that impose more restrictions than it does, even if those restrictions are fairly limited, like the advertising clause.
I can't say I've ever heard of license incompatibility stupidity outside of the GPL. Lots of GPL problems, though: OpenSSL, dtrace, ZFS. Apple actually dropped GCC and invested in producing the liberally licensed clang BECAUSE of the GPLv3.
It's a bit strange that you blame then GPL when it is just as much the authors of the incompatible licenses' fault, especially when in some cases it's completely their fault because the authors of those licenses deliberately wrote them with the intent of being incompatible with the GPL. Additionally I find it strange that you fault the values of the GPLv3 for Apple ditching gcc, rather than faulting Apple for being an abusive proprietary company that has problems with the values that the GPLv3 imposes. As if the FSF should be working to please Apple?
No, if you'll re-read my post you'll see how I described that even if you view this issue in a vacuum, the other parties are still at fault as well. Apple especially does not want you to "get along," and especially not if you're releasing something on their app store. Now please stop this blind hatred and FUD spreading, it's not constructive.
Apple implemented a full AOT/JIT/Disassembler (LLVM), debugger (lldb), static code analyzer (clang), C and C compiler (clang), and c++11 stdlib, all under a free MIT-like OSS license.
There all built as libraries, can be linked against to build IDEs, JITs, etc etc etc.
That instance is fine. It certainly is nice that they released it under a free software license, it would have been better if they used copyleft, but there is nothing wrong with the license they chose. They part where they don't want you to "get along" is the part where they distribute proprietary software, sell devices with proprietary hardware locks, forbid use of the GPL (and other free software licenses) on their app store, etc. See this blog entry for an example of how this has specifically applied in one case to some FSF-copyrighted GNU software: https://www.fsf.org/news/2010-05-app-store-compliance
Then organisation Y releases Library B, something which would help us immensely with our project. However it's released under the GPLv3 and one of two scenarios occurs, they want to change the license but have distributed copyright ownership and cannot contact the original authors so the license cannot be changed, or they don't want to be seen eroding 'freedom', so they refuse.
Who is right in this situation? Why should two projects who have the goal of progressing FOSS be doomed to non-collaboration?