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...