GCC, LLVM, Copyleft, Companies, and Non-Profits (2014)
ebb.org
ebb.org
I enjoy free software, but it is painful to think that I might not be able to use Emacs with software that I consider to be equally free (LLVM) due to political strategies. I know RMS has been through enough of the embrace-extend-extinguish era to be suspicious, but given the quality of free toolchains today and the surrounding communities, I have doubts of this history repeating itself in LLVM.
[1] http://lists.gnu.org/archive/html/emacs-devel/2015-02/msg003...
The speaker talks about copyleft and how it's dying, and mentions that he's certain the gcc will one day become irrelevant and die to llvm, due to llvm's commercial support and traction.
The end result being the savannah turning into a reservation.
One of the many reasons why LLVM is taking off is because it provides an API that lets programs hook into the compiler, which means IDEs can deeply integrate with the compiler. For example, IDEs can highlight errors based on where the compiler says errors are instead of having to run its own parser for the language.
Why doesn't gcc have this feature?
Well, it was proposed, but it was shot down because RMS doesn't want proprietary tools to be able to hook into gcc. In fact, gcc was deliberately designed as a monolithic application with no API specifically to keep third-party tools away from it.
So yet another reason why people are moving away from gcc is because llvm/clang enables you to have better development tools. GNU is being killed by its own religion.
It totally ignores that it was the GPLv3 that let Apple move to LLVM - with Apple not being the only company that was kind of okay with GPLv2 but totally avoids GPLv3.
It often looses touch with reality. It absolutely ignores that Apple was a contributor of GCC and some of the LLVM developers were GCC developers before. It goes on and on how LLVM is in a terrible state that will get even worse because of a missing copyleft, when in reality LLVM is thriving because of the many companies that are contributing.
In my opinion, Apple was never okay with copyleft (whichever version). There is nothing wrong with a company objecting to copyleft licensing.
Apple limit redistribution because they want to make it harder to pirate apps. That isn't the choice I'd make for my apps but I can see why Apple feels they need to try and prevent piracy.
Some people have suggested allowing free apps to be redistributed and thus allowing free GPL apps, but the result of that would just be somebody putting up GNU Go for $0.99 and then getting sued by the FSF again. They probably don't think it's worth the hassle of special casing free GPL apps, when users who want them can easily just get them outside of the store.
[1] http://www.fsf.org/blogs/licensing/more-about-the-app-store-...
How? Don't you need to get a developer license and all that jazz?
Why would the FSF sue in this instance? As far as I can tell it's not about the $0 or $0.99 price - if the $0.99 app provides the a way for users to get the source, it will be GPL-compliant the FSF will be fine with that.
So what you are saying is if I wrote, say, a game for the app store, and wanted to release it under GPLv3, Apple wouldn't approve it? Even if I provide the binaries/src on a seperate website linked from within the app but not dependent on apple in anyway whatsoever?
Would it matter on the monetization scheme? eg free, one time payment, in app purchases, all with access to src to be compatible with GPL?
If it's true that Apple doesn't allow GPL'd s/w in the store, I think my hatred for Apple just grew by 10,000 sizes.
edit: Seems to be true, Apple store is completely at odds with GPL'd software, and potentially quite a few other licenses.
https://www.fsf.org/blogs/licensing/more-about-the-app-store...
Well, to clarify. You, as a software author, are quite free to release your software under both the GPL and the Apple App Store. This is fine. In other words, you're distributing your software under multiple licenses.
What you cannot do is distribute someone else's GPL'd code as part of your Apple App Store app, because the GPL does not give you the right to distribute the code under the App Store's conditions.
Thank you very much for the clarification.
Those two terms are incompatible, and neither side is willing to change the terms.
It's not so much that Apple won't allow it as Apple's terms and GPLv3's requirements are incompatible with each other, and neither Apple nor the FSF is willing to budge.
I'd suggest looking into the VLC debacle. VLC used to be in the App Store, and some VLC developers threatened to sue because Apple was distributing VLC in violation of the GPL.
Apple's terms are incompatible with any license which do not allow additional terms to be injected. This mean any license, be that proprietary, copyleft, or permissive. If you don't have the authors permission to add additional restrictions, Apple's terms are legally prohibiting you to use it in App Store.
But from a practical point, only GPL apps has so far been pulled from App Store. Proprietary apps are permitted if the author permits the additional restrictions, and permissive licensed apps are so far being left alone, regardless of the arguments from people like Theo (http://undeadly.org/cgi?action=article&sid=20070913014315).
Actually, Apple were compelled to contribute to GCC.
That is one of the points of the article.
That an Objective-C compiler exists at all is because of GCC. The fact that we can see and examine the source is because of the GNU GPL.
Yeah, no. They contribute the same to LLVM -- and even more than they did with GCC--, while still nobody "compells" them.
Plus Apple released lots of other Open Source stuff, even when not compelled by GPL. Nobody forced with respect to Darwin for example.
This does not negate OP's statement, "The fact that we can see and examine the source [of the Objective-C compiler] is because of the GNU GPL." We have very well-documented and undisputed evidence that NeXT wanted to make the Objective-C compiler proprietary, and that they only backed down after the FSF lawyers determined that that would be a violation of the license.
As far as Apple's open source contributions, according to Saurik, they often fall short even when legally compelled, let alone their voluntary contributions: https://news.ycombinator.com/item?id=2083877
I think the primary problem is that Apple (IMO, irrationally) refuses to make deals with GPL projects.
the earliest publicly discussed major GPL violation
was by NeXT computing when Steve Jobs attempted and
failed (thanks to RMS' GPL enforcement work) to make
the Objective C front-end to GCC proprietary.It sounds like Stallman wasn't entirely sure the GPL would have prevented Jobs from doing what he wanted, but was convinced by a lawyer that the FSF would have a strong case ("It seemed to me at the time that it was [legal] ... but since the result was very undesirable for free software, I said I would have to ask the lawyer. What the lawyer said surprised me; he said that judges would consider such schemes to be 'subterfuges' and would be very harsh toward them. He said a judge would ask whether it is 'really' one program, rather than how it is labeled.").
And despite LLVM's and clang's history with Apple, it is most decidedly not an Apple project any longer. The LLVM foundation handles that. Looking at commits Google is a likely contender for the biggest overall contributor at this point.
I think this is a good example of mutually assured collaboration amongst companies. Sure some stuff gets split off and made proprietary, like the nvidia shader compiler, but overall more goes into it than out.
I agree with Linus on gpl v2 and gpl v3, v3 is off into the crazy territory. https://www.youtube.com/watch?v=PaKIZ7gJlRU
If anything I'd say this is an example of how taking too extreme of stances even if well intentioned, and I'll even grant them as "right on their own merits" can backfire in the end. RMS can consider llvm/clang an attack on gpl if he wants, but in the end I only see it as developers wanting to have improved tools and are willing to collaborate to do it. the fact that clang-format exists is a good testament to how gcc isn't doing itself any favors with its political stance in regards to being useful in other categories.
But all thats just like my opinion man.
That's... not what Linus said. To paraphrase, he doesn't like the anti-tivoization clause for his own code because he would rather get driver patches from Tivo that he can use on other hardware than prohibit them from using Linux, and he doesn't like how the or any later version clause is being used to make nontrivial changes to the license, which is why he didn't use it to begin with.
Linus exaggerates kind of a lot. People need to understand that. He said that he "hates" GPLv3, by which he apparently means only that he prefers GPLv2 for Linux, and then goes on to say that GPLv3 may be a great license and he has no problem with people using it for other software.
And I still don't see anything in GPLv3 that you would expect anyone to find shocking or highly objectionable. It's basically just patching the unintentional holes people have discovered over time in GPLv2. 99% of people would never even want to do any of the things it prohibits over the GPLv2.
But as the article notes, some proprietary software companies like to spread FUD, and so a lot of FUD has been spread.
I suggest watching https://www.youtube.com/watch?v=5PmHRSeA2c8 as it gives a up-to-date view which all the necessary qualifiers in one single talk. I especially like the (paraphrasing quite a bit) "GPLv3 is a fine license, GPLv3 is a horrible license, and I like to overstate things if you haven't noticed. For my own code I just want changes back. GPLv2 is a license that does this and nothing else, which is why I use it for my own projects.".
So what FUD specifically is there about GPLv3 then? How is the anti-tivoization clause helpful to companies then? It honestly reads to me as a doubling down on copyleft.
I've talked to a few lawyers and they basically consider GPLv3 a contract that isn't worth bothering with.
Which basically reads to me GPL as generally used code will eventually go by the wayside. If legal people won't buy off on it there is no chance I could convince managers to use it. Net result: less GPL used, user/overall freedom reduced. Dunno I don't see the v3 license as being a good thing. Maybe it plugged holes, but it ensured the ship will hit an iceberg in the future.
Presumably they gave you a reason, along with a sizeable bill?
You seem to have misunderstood the intent of the GNU GPL.
The intent is not to help companies.
The intent is to ensure that users (i.e. us) have continued access to Free Software.
How does the 'anti-tivoization' clause help in that? Imaging you had a device: a TV, a phone, whatever.
It is discovered that the device is actually spying on you; if the device used [1] GNU GPLv3 software you would be entitled to both the source and the keys.
You could then correct this 'mis-feature' and stop the device from spying on you.
If the device used software only under the GNU GPLv2 then you would be entitled to only the source. If the device rejected your attempt to upload new software then too bad.
[1]: A vast over-simplfication, but I hope my point is illustrated.
That isn't a reason. Lawyers don't have magical powers to reason about the business implications of legal documents, the interesting thing they can tell you is how the law will treat the words, e.g. if some part of the document would not be enforceable or would do something you wouldn't have expected from reading it. It would actually be interesting if they said something like that, because that would be a reason. Ask them for a reason. Otherwise it's just FUD.
It is quite obvious that if your intent was to produce a tivoized product then GPLv3 is not your friend, because that was the point. But most people don't want to do that, so why should they care?
That isn't true. Apple actually proposed integrating LLVM into GCC: https://gcc.gnu.org/ml/gcc/2005-11/msg00888.html
Also, I see a lot of people repeating the mistaken idea that Apple are opposed to GPLv3 due to the patent clauses. Even RMS is repeating this[1]. It's not the case: https://news.ycombinator.com/item?id=8868994
[1] http://lists.gnu.org/archive/html/emacs-devel/2015-02/msg004...
Yes, that will show them. /s
That seems to be a much more important battle to fight, rather than trying to stop people using GCC for code completion and refactoring in emacs.
Some AGPL installations of a niche software ain't exactly refutation of the parent, unless by "nobody" he meant actually "absolutely 0 people", which I don't think anybody did. Nodody is a stand-in for "not significant numbers".
What percentage of projects announced and featured in HN in the last 5 years use that licence?
Nice to see you again, though.
Once again, here is your (incorrect) logical fallacy naming game.
not only is it sour grapes, but you're still making baseless accusations. I was correct about you in the first thread, and your continued participation in this one keeps proving I was correct.