If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
No announcement yet.
C++11 & The Long-Term Viability Of GCC Is Questioned
May I point out that quite some embedded devices use BSD (I worked on quite some), of most of them you'll just never realize. Also, since OSX is a "BSD" by heart, I wouldn't really dare to call it a failure. It has a larger desktop market share than linux (servers offc is another thing). And if you're talking about licenses, I think GPLv3 was a major mistake, and a huge turnoff for a lot of developers. There is a reason Linus refuses to adopt GPLv3 for the kernel, and I completely share his point of view.
Let me show you how stupid this part of your comment is. It doesn't matter if some dev hidden in his basement takes some BSD code and includes it in his project. BSD gets nothing from it and it's not the reason to be proud. It's the reason to put your head down and go home, because you've just been fooled. It's like someone saying his proud, because Gates is breathing his air. It's such stupid. Furthermore, it's Linux, GPL that has much higher marketshare than BSD. You can only dream about BSD to run on such great number of devices like Linux does: TVs, tuners and God knows what else. What's more funny it's Linux kernel that runs on these devices not some random BSD bits patched together like in yours flagship example. iPhone, OS X are not BSD by heart, they just use BSD userspace in some part and not BSD kernel. When comes to GPLv3 it's very good license, far more popular than BSD. Linus simply doesn't want to relicense kernel, because it would take a huge amount of resources and time. There's no need to relicense it.
And if you're talking compilers, clang is in a lot of areas far superior to GCC, certainly from the point of view of a developer. Clang is just a joy to work with. A lot faster compiles, certainly when using template code, and actual meaningful errors which most of the time point to exactly the right problem. Not 4 pages of meaningless spaghetti errors for 1 forgotten ";" in old template code you haven't changed in months, which GCC compiled just fine just because you didn't use that specific specialization anywhere until then. I've been there, happy hunting if you're in that situation. I can only recommend setting the CC environment variable to "clang" and CXX to "clang++" in a case like that, it'll save you some time. It errors catches any template code, used or not, unlike GCC.
In fact, clang right now is my default compiler in my development environment. And while clang's 'scan-build' static analyzer isn't as far as I hoped, it does some things well and is improved every release. Something like this is doesn't even exist in the gcc tool-chain. If more and more developers discover what day-to-day advantages clang has over GCC, it will get used more and more, at the expense of GCC.
When comes to this part I partially agree. I'm not against it and when it will become faster than GCC I see no reason to not use it.
So GPL winning? As long as developers stand behind it, and I'm afraid it's going to lose ground here.
I think you meant GCC, because GPL simply owns any other Open Source license.
Code is contributed to the Linux kernel under a number of licenses, but all
code must be compatible with version 2 of the GNU General Public License
(GPLv2), which is the license covering the kernel distribution as a whole.
In practice, that means that all code contributions are covered either by
GPLv2 (with, optionally, language allowing distribution under later
versions of the GPL) or the three-clause BSD license. Any contributions
which are not covered by a compatible license will not be accepted into the
Copyright assignments are not required (or requested) for code contributed
to the kernel. All code merged into the mainline kernel retains its
original ownership; as a result, the kernel now has thousands of owners.
One implication of this ownership structure is that any attempt to change
the licensing of the kernel is doomed to almost certain failure. There are
few practical scenarios where the agreement of all copyright holders could
be obtained (or their code removed from the kernel). So, in particular,
there is no prospect of a migration to version 3 of the GPL in the
So, its GPL2 or later plus BSD as option, and no migration from GPL2 to 3, because Linus considers it a difficult and worthless task. Exactly as I wrote.
And just to be clear. I love GPLv2, but I will never release any code under GPLv3. It is too much of a burden on me, a developer. I don't want to be involved in idealistic intellectual wars, and GPLv3 forces this upon me without any additional benefits to me.
Co-signed. I will never release any of my work under GPLv3 for much the same reasons as you.
First, the "wars" are not "idealistic" - they are legal and they are to follow as laws.
Secondly, the only "burden" is the difference between GPL2 and 3 - a protection against tiviosation and patent issues.
So you two basically said "We write closed source code and we don't give a damn about freedoms". Then use BSD license.
I think, the best way out of situation is for RMS and FSF to nullify the GPL2 and to provide any "protection" only if the code is migrated to GPL3, and license header explicitly states "GPL3 and later"
FSF and RMS stayed true to their mission, while you guys are a disgrace.
Then why is gpl use decreasing and BSD use increasing?
Because a few companies are pumping big money into them? Particularly into projects meant to replace the GPL versions.
There hasn't been a huge change, in any case. Fluctuations are normal.
There will always be people who prefer the BSD license. There will also always be projects where the BSD license is the right choice, and even RMS agrees with this: free codecs, reference implementations of basic scientific algorithms, reference implementations of standards, etc. There's lots of that going on: Mesa, OpenCV, ROS, LLVM, X.org, Wayland, WebM... and it makes sense for those projects. It is also a good license for stuffing holes in proprietary operating systems.
But if you're imagining some great downfall of copyleft, then you're way mistaken. GPL (and variants thereof) is still the absolutely dominant license in the FLOSS landscape. And it will remain this way:
- Linux is absolutely dominant as a kernel and unlikely to give up this position.
- All our html rendering engines are (L)GPL: Gecko, KHTML and Webkit
- Most of our productivity suites are (L)GPL: LibreOffice, Calligra, Gnumeric, Abiword... (OpenOffice has been relicensed since the fork, but it is dying)
- All of our toolkits are (L)GPL: Qt, GTK+ (unless you count EFL or Athena)
- Most of our media infrastructure is (L)GPL: ffmpeg, x264, LAME, VLC, MPlayer, GStreamer, PulseAudio...
Good luck replacing any of those with a BSD-licensed equivalent.
The garbage viral GPL dying has been a huge leap forward for open source software development.
GPL software is synonymous with failure:
* The various crappy dead GPL Linux phones that no one wanted until Google and its developer and user friendly BSD style license came along and now utterly dominate the cellphone world. And thanks to the BSD style license there is an explosion in open source development for Android because no one has to worry about the garbage GPL.
* The POS GCC toolchain screwed up by sickening GNU ideology. Apple gets sick of having to deal with the POS GCC tools and starts funding Clang/LLVM and the compiler world sees an absolute explosion in code sharing and development thanks to the free and developer friendly BSD style license.
The only thing keeping the garbage viral GPL from complete irrelevance is Linus's boneheaded mistake years ago of going with it for the Linux kernel.
Then why is gpl use decreasing and BSD use increasing?
First off there is no such fact, we have one company (black duck software) making these claims, a proprietary company setup by ex-microsoft employees, their claims mean jack-shit to me and have had no validity anywhere else in the industry from what I can see. Only trolls like to link to their 'findings'.
Lookin past that, given that web development is exploding and that the type of code which is the main basis of this ecosystem (frameworks/components/libraries) tend to be more permissively licenced (MIT/BSD/LGPL/MPL etc), I would not be surprised that the huge amount of current development in this area would result in more permissively licenced code than copyleft code being released at the moment. But I sure would need more reliable data than the claims of 'black duck software' before I take it as fact, that's for sure.
In short, permissive and copyleft licences serve different needs, the need which is currently most satisfied will be reflected in current licence use. In the larger scope of things, both types of licencing are a rock solid part of the open source ecosystem and will remain so.