Indeed. Though who cares? A GPLv2 toolchain worked to build FreeBSD for well over a decade and no one died of viral copyleft pollution. And the similar platform that was far more polluted with this stuff ended up being the one that "won" in the market anyway.
Of all the good reasons behind switching to Clang (or behind having a two-compiler ecosystem in general), "license purity" is IMHO the dumbest.
My understanding is that FreeBSD never used GCC post-GPLv3. I was being specific, not making a point about GPLv3 (arguments against which I also view as dumb, FWIW).
> My understanding is that FreeBSD never used GCC post-GPLv3.
Right, which has been a sign that with GPLv3, GCC was on the way out for sure: if its not being kept current, it's got a limited lifespan.
> I was being specific, not making a point about GPLv3 (arguments against which I also view as dumb, FWIW).
The GPLv3 itself was shaped very much by the FSFs analysis of what it thought business users would require (filtered through the FSF's ideology -- see the limits on the applicability of the antitivoization for a key example.)
That FreeBSD would be shaped by its view of what business users want, without constraint by the FSF's ideology, should not be surprising, nor should it be surprising that that conflicts in irreconcilable ways from the FSF's view made concrete in the GPLv3.
Open-source, unix-like OS's for users whose visions align more with the FSF's views are readily available. (And nothing stops a sufficiently-motivated party from making a GPLv3, FreeBSD-derived, GCC-using OS if they really want it.)
And there is no maintained GPL2 gcc, so they need an alternative. Also, the goal of the project is to provide a free operating system, and GPL software does not meet that goal, in either version. So naturally it is desirable to replace it when possible.
I watched a presentation from a FreeBSD developer discussing the switch, and one of the reasons cited was that corporate users would be limited by the GPLv3.
Considering that every unit sold of the most popular consumer smartphone/tablet OS is built with a GPLv3 toolchain, I think you need to talk to your lawyers.
Like I said, this argument is dumb. The fact that Very Important People With Decision Power are making dumb decisions doesn't make it less dumb. FreeBSD isn't really doing this to support their business customers (again, things like Android are existence proofs to the contrary), they're doing it to stick it to the FSF (c.f. some of the comments in this very thread. That's dumb.
(Which is not to argue that clang is a bad choice -- it isn't!)
> FreeBSD isn't really doing this to support their business customers
This is precisly why FreeBSD chose this route. It was a deliberate communicated decision years ago from the FreeBSD Foundation. I wonder if you have ever heard this quote:
> I believe it is an established maxim in morals that he who makes an assertion without knowing whether it is true or false, is guilty of falsehood; and the accidental truth of the assertion, does not justify or excuse him.
> Considering that every unit sold of the most popular consumer smartphone/tablet OS is built with a GPLv3 toolchain, I think you need to talk to your lawyers.
However, note that it doesn't _bundle_ it. And Google has gone to some lengths to produce their own non-[L]GPL libc (Bionic). As far as I know, the Android userland is pretty much a no-GPL zone these days.
Can we assume that this is because smartphone manufacturers do not want to allow customers to install modified version of the compiler on devices that the customers has bought?
We can discuss if one should be allowed to modify ones own property, but lets at least be clear if that is the discussion we have.
Er, no, it's just because there's no reason to ship a compiler. However, if they were shipping a compiler, I suspect it would not be a GPLv3 GCC; Google have pretty systematically purged GPL from the Android userspace, and I don't think it has any GPLv3.
Finally a compiler comes along that shares the same license philosophy and can be imported wholesale WITHOUT having to worry about licensing issues due to changes that may need o be made.
If clang/llvm hadn't come along FreeBSD would have upgraded to a later version of GCC.