GCC 4.2.1 Released
larry bagina writes "GCC 4.2.1 was released 4 days ago. Although this minor update would otherwise be insignificant, it will be the final GPL v2 release; all future releases will be GPL v3. Some key contributors are grumbling over this change and have privately discussed a fork to stay as GPL v2. The last time GCC forked (EGCS), the FSF conceded defeat. How will the FSF/GNU handle the GPL 3 revolt?"
Who is opposing the transition to GPLv3 and why?
...of a fork for a large and well known project like GCC can definitely shake things up. All the people involved just need to remember that if they do fork GCC, they've got a lot of work to do. I'm not saying it shouldn't be done, but some people just whine about licenses, threaten to fork, and hope for the developers to hear their cry. I hate to say it, but GCC under GPLv3 is coming, and no amount of whining will change that.
"You're awefully cute, but unfortunately for you, you're made of meat."
How does making a license freely available for software authors to use translate into "shoveling [sic] GPL3 down our throats"?
"I've got more toys than Teruhisa Kitahara."
I'm very interested in everything Free Software, and have been following developments around GPLv3 and its adoption rather closely. Apart from some flaimbaits proclaiming how $CORP was going to abandon GCC (or anything else) after going for v3 of GPL, there is no evidence whatsoever supporting that this might actually be considered by anyone important - or in case there is, it wasn't visible enough for me to spot it.
So, user number 561269, would you please elaborate on the subject and cite any credible source supporting your view that a major contributor to GCC is considering to fork and "have it their way"? Your posting thoroughly lacks that kind of information right now, and therefore I think it deserves being tagged bogus or useless.
Thanks in advance for clearing this up.
- c0l0
(who's growing tired of all this anti-GPLv3-FUD swellig so much recently fast)
:%s/Open Source/Free Software/g
YTARY!
Once more, Slashdot's editors demonstrate that they are here solely for adviews and not to provide "news for nerds" or "stuff that matters". The ECGS fork will be nothing like the current fork. ECGS was forked for technical/organisational reasons: GCC was being developed much like a closed-source program with a free licence, which resulted in a stagnating compiler and unhappy would-be contributors. ECGS should the superiority of the "bazaar"/open-source development method of the "cathedral"/closed-source method in this particular context. All of this is well-known information you can find just about anywhere on the web.
Given that GCC development will remain open, this fork cannot be compared. On the other hand, we do have another situation that might be considered similar: The X.org/XFree86 fork. XFree86 was developed under a free software licence, but with 4.4 this was changed to a non-free licence. X.org forked the most recent free version and has basically completely replaced XFree86.
But, of course, this is still not perfectly comparable. XFree86 was using a relatively closed development method, and the X.org fork's more open style saw it rejuvinated: And indeed, this was part of the purpose of the fork. A GPLv2 GCC fork will not see this sort of rejuvination, as GCC has already seen the benefit for it of an open method, and continues to use it. (See: The EGCS fork the article poster referred to.)
In addition, the XFree86 licence was widely regarded as being non-free and some major distributions (e.g. Debian, Fedora) considered it completely inappropriate for inclusion. It was made unilaterally without discussion without relevant stakeholders. The GPLv3, however, has had public draft releases and discussion including many major distributors and producers of free software. Although it removes certain freedoms distributors had with GPLv2 (which, largely, went completely against the spirit of the GPLv2), the GPLv3 has the agreement of the people needed to make it work. There will be basically top-down push for adoption as there was with XFree86/X.org.
My prediction: Any GPLv2 fork of GCC will be largely forgotten in a year or two.
Look out!
Smells like FUD.
The use of weasel words, speculation of "private discussions" (how would one in the public know the content of a private discussion without being a part of it himself?) and the use of the textbook definition of straw man by bringing up the unrelated fact that one fork have been successful in the past and implying that, because of that, one "revolt" is imminent, is nothing by an ill flamebait, in order to generate controversy and the unavoidable licensing flamewar that it will certainly ensue.
This is sad because Slashdot used to be a place where, when a new version of software were posted, the discussion were directed to the changelog and the new features, fixed bugs, and this particular article didn't even mentioned that. It was a cheap shot at GPLv3, a license that seems to have lots of people that dislikes it, people that aren't even affected by it in the first place. GPL doesn't cover use, only distribution.
Sad, sad, sad, this used to be a cool blog with real "news for nerds" but lately it seems more interested in generating polemic and the page views that accompany it.
DISCLAIMER: Nothing in my post shows any support (or lack of) for any of the mentioned licenses, nor discusses the their merit (or lack of). So keep me out of the flamewar.
If the GPL v3 objections are real and widespread, then the GPL v2 forks will survive.
If the GPL v2 objections are unfounded or astroturfing, then the GPL v2 forks will die.
I think the grumbling will blow over; I don't see any serious problems with the GPL v3. In fact, the fact that GPL v3 is compatible with more open source licenses seems like a big advantage.
To be honest from my reading of the gcc mailing list, most of the complaints seemed to be focused around the fact that the original plan (which was up for discussion at least) was to change the numbering system so they went straight from 4.2.1 to 4.3.3 (lots of 3's to ram the point home of course) which would be confusing to most people (and probably to a few packaging systems as well). With what would be 4.3 going to 4.4.
The big problem is that RMS seems to want all patches put into SVN after July 31st to be GPL3+ no matter what, even on release branches which automatically pollutes them. This then causes problems for corporate users who may then have to wait for a legal department evaluation on the license...
I don't think many people would object if the GPLv3+ restriction was for 4.3/4.4+ really. (well as long as RMS doesn't go mad and revoke the linking exception for libgcc anyway...)
ZoeP
People that use a Linux distro that is newly encumbered by Microsoft patent agreements *cough*Linspire*cough* cannot use the compilers for development anyway. What does the actual GPL version matter to the users in that situation?
I am certainly not a lawyer, but MS has a ton of lawyers that seem to have become experts in the GPL arena and they seem to have little fear of GPL v2, but v3 seems to have them concerned. It seems that if developers want to stick with v2, then they may as well go all the way to the FreeBSD license. v3 is the future of free and open source projects that want to remain free in both senses until MS gets brave enough to sue over some vague patents. But if they can get enough partners like Linspire and Novell, they will have crippled much of the spirit that drives opensource. I plan on supporting companies that are standing up to the MS bullying in whatever ways I can.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
I suppose that a lot of free software authors feel that the FSF is being a little heavy handed. In fairness, it's hard to see how (after consultations lasting more than a year) that the foundation could have handled this better. All the same, there are inevitably going to be people who are not comfortable with the new licence. Given a choice of accept v3 or start a fork, it's perhaps inevitable that people who have invested a lot of effort in GNU projects are going to regard the licence as an imposition.
The new licence was always going to be divisive, although in the light of the MS-Novell pact, I think the benefits will be worthwhile in the long run. But that doesn't mean that devs on large projects like GCC don't have a valid point.
The trouble is that there's nothing now to be done about it, but to see how the dice fall.
Don't let THEM immanentize the Eschaton!
I've not studied the details of GPL v3, but I believe there will no new restrictions of programs built with a v3'd GCC. For example, we can still built our TiVo-ised closed source DRMed patent-encumbered for sale software without fearing the wrath of RMS, or at least no additional rwrath from him.
I follow the GCC list (you know, where all significant contributors hang around), and the only thing I've seen discussed is what should happen to the old branches when GCC goes GPLv3, and if the change should come with a version change. The thread starts here.
Me thinks someone is on crack.
Belief is the currency of delusion.
I'm a single-person software business, I don't hold any patents, I release by far a majority of my code under the BSD revised licence.
I -do- however have a portion of code that I keep locked up for a commercial application, if I start using a GPL v3 GCC will I be putting myself into peril?
Incidently, I'm not in the US, but well... sort of, I'm in Australia, which is almost as good as another US state *sigh*.
Since the advent of OS X Apple have made some not insignifacnt contributions to gcc as I'm sure IBM, Sun, HP, etc. have but Apple are to my knowledge to _only_ top tier hardware vendor that relies upon gcc as the core of its' OS build system.
Anyone care to speculate on how Apple might react to gcc going GPL3, perhaps they may actually fork it themselves...
References? The only grumblings I can see in the GCC mailing lists are about the version number change that accompanies the GPLv3 upgrade. A few developers feel that a license change is not a new feature so the first GPL version should be 4.2.2, not 4.3. And one developer who complains that not allowing backported patches to stay under GPLv2 will be a burdon to companies offering support for older versions (eg Novell, Xandros and Linspire).
I'm in the vfx industry and over the years I've picked up programming plugins for the applications I use. Now I don't use other peoples code because frankly I'm just doing math calculations and using the internals of the applications they are being coded for.
That being said all this GPL3, tivo this tivo that stuff is confusing the hell out of me. I release my plugins free to anyone using the applications they are designed for, I don't however release the source code. You can call me lazy all you want and generally I will agree you are correct, but this license mine field that I have to worry about when making my plugins on Linux is getting annoying to say the least. I work long enough days making the stuff you see on tv and the movies look pretty so I don't have time to go following up on all this license news.
Fault Windows all you want but the worries you have with licenses on Windows is slightly less then Linux, notice I SLIGHTLY easier. I'm halfway tempted to switch my development to a Mac and dump my Linux support to not worry about it ever again. This is pretty sad since I ENJOY Linux, I've been running nothing but Linux the past 5 years. I have better things to do then worry "Opps, shit did I link with something that requires I release the source".
Like I have said in all my previous posts I like Linux, I like it a lot, but I'm sorry to say I don't view the FSF as the best people representing Linux. This is just my very small insignificant opinion and I have no problem with others disagreeing, if things keep going the way they are though I might just have to start looking at another platform. And no I don't say this because I think people care whether I use linux or not, I say it because I DONT WANT TO USE ANYTHING ELSE.
I just read the linked-to email and found no mention of grumbling developers talking about forks.
On what grounds did Slashdot say this is true???
Please help publicise swpat.org - the software patents wiki
It's worth noting that the linked to article actually contains nothing about GCC developers complaining about GPLv3.
Please help publicise swpat.org - the software patents wiki
And no one noticed yet that binutils already went to GPLv3?
Jeroen Ruigrok/Asmodai
(* LibC is, of course, LGPL which is less "viral" than GPL - but I haven't seen much debate about v3 of LGPL...)
In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
Well, a trick involving gcc has been used to work around the GPL in the past. The trick is this:
main.c:
#include stuff
#__INSERT__REAL__CODE__HERE
main(){
call_real_code();
exit 0;
}
The compiler is then hacked to insert the actual code which does the work where it sees #__INSERT__REAL__CODE__HERE, but this version of the compiler is never distributed.
Voila! You can distribute the above file under GPL and it doesn't do someone who wants to modify the code any good because they need your hacked version of the compiler. But you never distributed the compiler, so you're not obliged to distribute the changes you made.
I'm not sure this technique would be affected by GPLv3. You could still reveal "this is how you change the hardware to load any image rather than just the one we distribute" without revealing what your code actually was.
- Linux distributors choosing to distribute GPLv3 binaries will be able to do so without changing what they're doing now.
- You don't understand GPLv3 and think others might be confused too.
None of this addresses the question: How does releasing GCC amount to shoveling the license down our throats?"I've got more toys than Teruhisa Kitahara."
If it was going to be compatible, it would have to be the exact same license.
One feature of GPL is that it claims that the entire program has to be distributed under whatever terms, with no additional restrictions. So if GPLv3 has less restrictions that GPLv2, v3 code wouldn't be allowed to be distributed under v2. If it had more restrictions, then v2 code wouldn't be allowed to be distributed under v3.
Yes. This is why you should pay attention to what you agree to.
Yeah, the only "spirit" that stays the same between them is the spirit of the FSF. The spirit of a license necessarily must be contained entirely within that license, and the contents of v2 and v3 are very different (from "share and share alike" to "share, and you must share everything").
They asked for people to use the "or any later version" clause specifically so they wouldn't have to do this. Using that clause or not is a judgement call, as to whether you trust the FSF with your license (personally, I don't).
Mostly EGCS happened because Richard Kenner, while widely recognized as an excellent compiler engineer, wasn't that good a maintainer. In particular, the Cygnus people felt that their changes to the C++ front-end was too long to get in to the mainline tree. The egcs branch tried to "modernize" the development process with open mailing lists and anonymous cvs access, as opposed to the traditional ("Cathedral") approach.
Officially the egcs was an experimental branch of gcc, and there was never a feud between the Cygnus guys between egcs, and the FSF. The FSF could thus make egcs the official gcc branch without losing face, the experiment had simply been a success.
The "link" to egcs is simply because the submitter is a troll. That gcc would change to GPL3 has been known and accepted since the whole GPL3 process started, and those developers who cared have responded by getting involved in the GPL3 process. The rare protests have been from non-developers only, and have seem more motivated by misguided Linus worship than by anything else.
Actually, LLVM is (or was, I'm not sure what the current status is) a candidate for a new middle/backend for GCC.
Tell that to Novell. :-)
...but even Linux distributors who haven't drunk the MS Kool-aid will be faced with a "choice" between sticking with current versions of key products (with whatever bugs and vulnerabilities come to light), maintaining their own forks, or being bound by the terms of GPLv3.
Darn right!
However, you missed the bit about all the developers who followed FSF's advice about the "or later" clause and now have no choice but to allow their work to be distributed under GPLv3.
Er, no, your "summary" just chose to exclude all the bits from the original that did address the question. However, in case you are havving difficlty with the concept of "metaphor" I fully concede that my post contained absolutely no evidence that any representative of the FSF has ever used a digging implement to compel any third party to physically ingest a software license.
In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
The state of GCC quite sad, actually. It is looking more and more like an academic playground for compiler ideas. Now, academic playgrounds are fine, but GCC is the Free Software compiler and the most important compiler for almost all of Linux, LAMP stacks, Samba, FreeBSD, etc..
i son.html
:(
GCC performance hasn't improved in years. You don't have to believe me for it, just check the GCC developers own performance tracking:
https://vmakarov.108.redhat.com/nonav/spec/compar
Essentially, it says that GCC has gotten slower at compiling and the generated code is no faster. Quite a sad result given the amount of contributors and large "improvements" that are constatly made.
What did improve is standard compliance. GCC is very good there now. But so are the latest Microsoft and Intel compilers. And they *do* generate faster code in newer versions.
Essentially, if this situation keeps going on, Free Software will have to cope with a growing disadvantage compared to Windows, just because its compiler is stagnating. That's quite sad.
The only glimmer of hope is that nowdays many optimizations aren't turned on at -O2 because they're so slow. Maybe those can turn the tide somewhat. But if you look at a Linux installation, -O2 is still the most used flag. And the situation is sad
IIRC GPLv2 defines source as the "preferred way of making changes to the program", not as the thing being compiled. In your case the source code is the changes to the compiler. Period. Not distributing it means you're under violation of the GPL.
.asm or .o files. Sure, you can compile / build your program with them, but that's not the source code. That's not how you make your changes.
What you're dong is akin to distributing the
That's not to say you can't pull that trick more subtly. You might need some compiler extensions which are independant of your program, but all the logic for your program is there.
There are multiple ways to circumvent the GPL, but that's not one of them.
(And no, I'm not going to list them. I like the FSF)
I maintain a more or less portable OSS project (uSTL - an STL implementation) and I have had to make at least a few changes for each compiler release. Sometimes it happens due to new warnings that catch potential bugs I didn't know about. Sometimes it is due to policy changes (like the stricter aliasing rules in gcc 4), and sometimes there are new features I want to take advantage of.
Since I am strongly opposed to GPLv3 and anything that uses it, I am not going to upgrade my gcc any further than 4.2.1, which I'll probably do today. This means that uSTL, and my other five projects on SourceForge, may have problems compiling on later gcc releases, even though I will not intentionally put any incompatibilities in my code. Not being able to predict the future, I don't know whether these problems would be minor ones or major ones, but I do know that unless they expose some fundamental problem with my code, I will reject any bugs related to them and state explicitly that any gcc > 4.2.1 is not supported and never will be.
Now, you probably wouldn't care about this. After all, I only had a few thousand downloads - a minute fraction of the developers in the world. And you might say "oh, who needs this guy's code anyway?" But I have a feeling I'm not the only one, and I do occasionally contribute to projects other than my own. Perhaps you don't care if you lose my skills and the skills of all those other developers, but I suspect that they do all add up to quite a bit, and while you might not notice it at first, the GPLv3 camp might get lonelier and emptier as time passes.
Obviously many guys are worried about a compiler getting GPL3, they wouldn't be able to modify the compiler and then include the compiler in some tivo like device or whatever GPL3 would make GCC troublesome... Not really getting it, sounds as if some fudders want to call GPL3 dangerous whenever possible...
Copyright infringement is "piracy" in the same way DRM is "consumer rape"
However, you missed the bit about all the developers who followed FSF's advice about the "or later" clause and now have no choice but to allow their work to be distributed under GPLv3.
And you "missed the part" where developers who wrote their own code under the "V2 or later" clause can decide for themselves whether or not to move their own projects to "V3 or later" or whatever license they want.
Only developers who signed over their copyright to FSF are being "forced" to move to "V3 or later". Since FSF legally owns that own code, good on them for moving their code to their new license.
Anything you compile with GCC can be under any license; GCC doesn't force stuff to be under e.g. GPL. Thus, the license of GCC isn't really an issue.
...)? LGPLv3 is incompatible with GPLv2-only. I wonder if distros will be able to ship both LGPLv3-glibc and GPLv2-only apps linking against glibc in binary form.
In contrast, if glibc some day moves to LGPLv3, what will happen to GPLv2-only applications and libraries (git, Qt, MySQL,
as a software developer you feel that the new version of GPL was not written with software developers in minds, and for software developers benefit.
The license was written with hackers and tinkerers in mind. It was designed specifically for our benefit, because it protects our ability to write and modify open source code on consumer hardware devices which employ open source code.
If that's not important to you personally, fine. But you should realize that as computer use shifts further and further from desktops to phones, pdas, and other highly proprietary platforms, there are a lot of free/open source developers who will appreciate the "rights" protected by GPLv3, even as they complain about it now.
Not trolling here, but what's to keep somebody from coming up with a license called GNU Public License v4, defining their own wicked terms along with it, and picking up all the GNU software with the "or later" clause in it?
Does the FSF have the trademark on GNU Public License? What is the third party called it something else, but declared it to be a newer version of the GNU Public License?
...but there is still nothing they can do to stop others re-distributing the "v2 or later" version of the code under GPLv3.
Are you sure that this is the case? It would seem to me that they cannot change the text in the COPYING file, and thus the only thing they can do is distribute as "GPLv2 or later" themselves.
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
StoneCypher is Full of BS
It's no surprise that the C++ faithful see everything through C++ tinted glasses, but gcc is VASTLY broader than C++ alone, and tying it to a LLVM backend would compromise the project badly in its broader role.
Huh? Are you implying that LLVM only compiles C++ code? GCC is written in C, can it only compile C code?
LLVM currently handles C, C++ and Objective-C (on OSX only) quite well, though with a bit of work on llvm-gcc it could easily handle Ada (Duncan from AdaCore is working on this), Java and Fortran. LLVM is also used to compile the OpenGL shader language, both by Apple internally and in a branch in Mesa. There's also a working llvm-qemu prototype using LLVM's JIT.
GCC isn't nearly as broad as LLVM. GCC is a compiler. LLVM is a compiler toolkit, JIT, static analysis and dynamic analysis framework, an instruction set, and a compile-time link-time and run-time optimizer. By contrast, GCC supports more languages in and produces code for more backends out. The difference is that LLVM can grow new front-ends and back-ends, but GCC can't grow LLVM's features.
If they make a sizeable enough contribution under GPLv3 or later then the entire project falls under that even if large sections could be taken out and released under GPLv2. Same situation as with the kernel where large sections are GPLv2 or later but the majority is GPLv2 only.
It also allows any old author to come along and strip those permissions away. It is not and cannot be a replacement for LGPL. The FSF knows this and made it intentionally so, they want to end the mixing of free and proprietary software. Linus explored this, if he moved the kernel to GPLv3 with an exception for Tivo then someone can fork it and make sizeable contributions under vanilla GPLv3 and he'd end up with the license he dislikes.
This is the problem with the exceptions. It gives too much power for individual or small groups of authors to force the majority down a path they don't like. Better not to get into that sort of contract.
EGCS became the official "GCC" for version 2.95. The EGCS bazaar-style development model was adopted and the EGCS maintainers became the GCC maintainers. So, I'd say "conceded defeat" is pretty accurate.
How about the source code? http://llvm.org/svn/llvm-project/cfe/trunk/
Yes, but no big powerful companies are in a position to sue Ford out of existence if people make after-market mods. Tivo faces very real legal threats that it really can not afford to fight.
As for your options... (b) is what they will probably have to do, which will once again make life worse for everyone, including the 1% who want to tinker. (c) will not help since the tinkerers will then start complaining that they are not being allowed to buy thier Tivo (since leasing is apparently also evil). (a) just doesn't make sense.. their 'model' in this case is 'not get sued into bankruptcy'.
And yes, they used to be able to sell Tivo before that had features like this, and they got threatened for doing it. They didn't wake up one day and say 'hey! let us screw our users and take away a really popular feature for no reason besides feeling like jerks!'.. they woke up one day and said 'if we keep this feature, we very well might not be able to sell ANY Tivos again, so sacrifice one feature to save the rest'.
I also find it amusing that the people who want to tinker with their Tivo are failing to support Neuro's DVR. So instead of rewarding a company that is trying to appeal to the FSF people, they are punishing a company that isn't 'doing enough'.
And the FSF wonder why embedded companies don't like them. People aren't willing to vote with their time or their wallets and help companies that do get it.. all they do is whine and make life difficult for companies that are giving back but still close their device.
I think the vanilla gcc can only make use of the PPC core, I am *not sure* about this however. A version of gcc can be downloaded from "Barcelona supercomputer something" and is able to compile both for the PPC core as well as for the vector cores. The PPC part can be compiled to both 32 bit and 64 bit memory model.
If the code is not in the main gcc, I think there is no legal thing that hinders you from merging the stuff.
You're holding them hostage. If they rely on your uSTL, they may be prevented from moving to a later version of gcc. You, on the other hand, are refusing to move because you dislike GPLv3, not because you are going to have any problems whatsoever with using a GPLv3ed gcc.
Given that, I'd only use uSTL if I was willing to maintain it myself, and that would be the reaction of most people.
You're delusional. Hundreds of millions of people use Microsoft products without worrying about the license, and Microsoft licenses are more restrictive than any GPL version, and they're more likely to have an effect than the gcc license. What makes you think there's going to be three people (including you) who will boycott new gcc versions because they don't like the license?
No, they're expected to have at least an occasional desire to contribute, in exchange for getting excellent software. Alternatively, they're expected to improve the software when it's in their own interests. The FSF is quite insistent on the ability to sell GPLed software; if you can't use software commercially, it isn't free by their standards.
So, why are you maintaining a free software project (or, if you prefer, open source)? Are you being paid? If so, did you consult with your employers/customers? If not, why are you intent on being a "penniless slave"?
"When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes