GNU Grep and Sed Maintainer Quits: RMS and FSF Harming GNU Project
In a scathing rant posted to a GNU project mailing list, the maintainer of grep and sed announced that he was quitting the GNU project over technical and administrative disagreements. Chief among them: He believes RMS is detrimental to the project by slowing down technical innovation (the example used was RMS's distaste for C++, not exactly a strong point against RMS). Additionally, he noted that the FSF is not doing enough to help GNU "Projects such as gnash are bound to have constant funding problems despite being (and having been for years) in the FSF's list of high priority projects.". Finally: "Attaching the GNU label to one's program has absolutely no
attractiveness anymore. People expect GNU to be as slow as an elephant,
rather than as slick as a gazelle, and perhaps they are right. Projects
such as LLVM achieve a great momentum by building on the slowness of
GNU's decision processes, and companies such as Apple get praise even
if they are only embracing these projects to avoid problems with GPLv3."
The author is quick to note that he has no philosophical disagreements with GNU or the FSF.
but this is my account of Richard Stallman's presentation to the Yorktown High School Computer Club for anyone who would be interested.
Enough said.
Gnu/Anonymous FSF/Coward.
My question is why is there no grep -p, as there is in AIX. I love that flag.
the example used was RMS's distaste for C++, not exactly a strong point against RMS
So RMS doesn't like C++ -- this doesn't stop people who can use it properly from writing their projects in it, does it?
Does RMS actually have control over what GNU projects are implemented in? If so, I'd say that's quite a strong point against GNU -- throw the whole "right tool for the job" bit out the window because one dude doesn't like it?
I knew about Linus Torvalds's distaste of C++, but not Richard Stallman's. What is it with open-source leaders and their irrational hate of C++?
However, all Stallman had to offer on the topic was "We
still prefer C to C++, because C++ is so ugly" (sic).
well, score one for technical argument and intellectual reasoning.
If ugliness was a consideration, then surely GNU should be moving to a beautiful language, such as C#. If no, then WTF does subjective qualities of a language have to do with anything, there's no problem with any language as long as it is understandable (and I contend that means individual coding style rather than anything in-built - C can be so obfuscated they have competitions for it!).
the problem with all of this is the usual geek tendency of arrogance - where one always thinks he has the mental superiority to everyone else, and this is the biggest single detriment to the OSS community of all.
wow, you'd think they would be pretty much done by now
You'll still get eaten by a big cat.
The year 2000 called. They want their "obvious" back.
"He who would learn astronomy, and other recondite arts, let him go elsewhere. " -- John Calvin, commenting on Genesis 1
Good post. Thanks, Paolo! I've used grep and sed as much as anything else on *nix systems...I'm glad you contributed for as long as you did.
I advise people to read the actual message; this summary is exaggerated.
C++ is crap, but when the alternatives are a tasteful subset of C++ and a half-arsed reimplementation of a horrible subset of C++ in C macros, I'd rather take C++ and bitch about it than suffer in C. There are very few places where C++ is the right tool for the job, but C is often not the right tool for these either.
I am TheRaven on Soylent News
The posting is NOT a "scathing rant", it's a pretty clear, calm and well-reasoned explanation as to issues that the author sees with GNU and GNU software development. There's no flamebait, no ranting, no name-calling.
Except C++ isn't crap.
Prove it!
So he's just on his period?
Oh wait, it's just a sensationalist headline.
"I believe in Karma. That means I can do bad things to people all day long and I assume they deserve it." : Dogbert
Except C++ isn't crap.
Pshaw. Well, I guess we can't really blame the Inferiors. Until you mature, I suppose you won't have a lush, fully-grown neckbeard whispering in your ears the dark secrets of why any programming language invented past 1972 is inherently worse. Trust me, everything will make so much more sense once you've heard the beard. Then you'll understand why we ONLY decided to grudgingly tolerate C after we made it more baroque than necessary to ensure our own job security. This entire "easier to write code" fad will certainly pass.
For the people who don't program, can you define why its "horrible"?
Only the State obtains its revenue by coercion. - Murray Rothbard
One neckbeard quits his job because he doesn't like some other neckbeards.
News at 11.
"Projects such as gnash are bound to have constant funding problems despite being (and having been for years) in the FSF's list of high priority projects."
Aaaand to (hypothethically) dump RMS and FSF is gonna help gnash funding... How, exactly?
I think RMS gets way too much hate than he deserves, but I would be more likely to understand this as basis for such a decision. That no one besides FSF, which receives limited funding itself, helps GNU is hardly an argument against FSF. I get the point about bureaucracy and indecisiveness, though.
sorry
All languages are crap at some level and for some uses.
But watch this from Bjarne last february for some insight in C++11:
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style
ipv6 is my vpn
When using RAII sensibly, C++ does offer excellent support for babysitting your memory usage. In fact, it offers superb support for managing any sort of a resource that needs to be allocated and later deallocated. There is no good equivalent in C.
These days, C++'s modern smart pointer classes make memory management a complete non-issue. You get very predictable and effortless freeing of memory, all without having the performance of your app destroyed by garbage collection like you do when using a language like Java, C# or Ruby.
This is just the power of C++ in action. It lets you easily build minimal-cost abstractions upon C.
That has to be one of the most ridiculous comments ever made about GNU or FSF. Jeez, talk about scraping the barrel.
GNU was never aimed at being sexy. It was completely focused on software freedom, and has steadfastly stuck to that line.
If you don't value that goal, and prefer "sexy", you need to get out of our hair fast and find your own interest group.
I re-read Bonzini's post, and his complaints seem to boil down to this:
1. There are no official or de facto C++ coding standards for GNU projects. There cannot be an official one because of Richard Stallman's opposition to C++. Not that his voice matters anymore to those working in the trenches, but hey, it's still annoying.
2. The FSF isn't doing enough to help the GNU projects, either with funding or PR.
3. It simply isn't "cool" to be associated with a GNU project anymore.
Not saying that these aren't valid reasons for moving on... people make career decisions for any number of reasons. However it IS bad form to blast this out in a public forum as one's last act as official maintainer. Because many people read and remember the headline without reading and evaluating the content.
I predict that Mr. Bonzini will soon regret that he doesn't work for a boss with such a detached style as Stallman.
That's why all of the leading DBMS's and most Triple-A video games are primarily written in C++, as well as the guts of Google's search engine, Amazon's order and fulfillment system, Microsoft Office and Exchange server, etc.
Because these people don't realize that C++ sucks that's why!
It's Christmas and we have nerd rage on the intertubes. At least it's less boring than reading facebook updates or twitter feeds....
I was promised a flying car. Where is my flying car?
Palm trees and 8
The leading DBMSs?
Those are likely older than you are.
Probably not as much C++ in there as you think.
A Pirate and a Puritan look the same on a balance sheet.
He didn't master the tool called "C++", so he got himself a toy called "C#". Now he bitches about the tool when in reality his own conceptual and practical incompetence is to blame.
It's like I just got out of a hot tub time machine and it's 1995.
Glacially slow development in GNU projects? That's not new.
Linux would not exist without the annoying aspects of GNU and the FSF. They would have made their own kernel in a timely fashion and Linus may never have been motivated to make his own.
In other news: water is wet and apples fall out of trees.
A Pirate and a Puritan look the same on a balance sheet.
The LWN article linked to is about "Copyright assignment" (http://lwn.net/SubscriberLink/529522/854aed3fb6398b79/)
The author seems to complain that he cannot retain copyright over his work.
Does that mean he doesn't want to code for free anymore?
It is not hard to find examples of why C++ is bad. C++ is statically typed, but fails to deliver the sort of type system power that ML gives programmers. C++ is object oriented, but provides no metaobject protocol and forces programmers to resort to its clumsy templates system to do things that are not hard in languages with MOPs. C++ programmers are expected to figure out whether or not they should use a shared_ptr, weak_ptr, or unique_ptr, or if they should just give up on smart pointers and try to manage memory deallocation on their own (and, of course, there is no garbage collector, not even an optional one). The fact that "move semantics" and "r-value references" are considered to be highlights of C++11 speaks volumes about C++.
For me, the major issues in C++ are not even the lack of features, although most people start there; I point to the difficulty with writing reliable code in C++ as the most important problem. C++ exceptions are only useful in cases where there is no possible way to recover from an error. There are situations in C++ where exceptions are the only way to signal an error; thus there are situations in C++ where recoverable errors become unrecoverable for no reason other than deficiencies in the language. Worse still, the very situations where exceptions are the only way to signal an error also happen to be the situations where throwing an exception is dangerous: constructors and destructors. Beyond handling errors, there is the lengthy list of undefined behavior in C++, much of which could have been defined without any ill effects. The C++ standard even fails to rule out programs that could not possibly make any sense; for example, having a non-void function without any return statements (yes, most compilers will warn you about that -- but warnings are not part of the standard, and if most compilers can detect this there is really no excuse for the standard not explicitly forbidding it).
It is not hard to understand why "C++ is horrible" has become the go-to response to any comment about C++. It is a horrible language, and it is likely a culprit in the billions of dollars wasted on software bugs each year (buffer overflows, dangling pointers, etc.). It is a horrible language because it is inflexible, it lacks expressive power, and it makes things that are simple in other high-level languages needlessly difficult (how do you give the user a macro system that allows them to extend any feature of your program in C++? In some languages, that is as simple as giving the user access to a REPL, from which they can override or extend any behavior.). We are, unfortunately, stuck with this language, and will likely be stuck with it for a while (though I am hopeful that the need for reliable healthcare software will ultimately kill C++, MUMPS, and other awful languages).
Palm trees and 8
Yeah, and here are some applications that run in demanding environments, that were not written in C++, and that you would probably be hard-pressed to write in C++ (at least with the same results):
https://en.wikipedia.org/wiki/Dynamic_Analysis_and_Replanning_Tool
https://en.wikipedia.org/wiki/FFTW
http://www.haskell.org/haskellwiki/Haskell_in_industry
Hm, that's interesting -- demanding environments, high stakes, and no C++. This might be a clue; it is the experience of a team working in another demanding environment, that used some C++ code but mostly Lisp, who were not terribly impressed by what they saw with C++ (it seems like it was more of a chore for them):
http://www.paulgraham.com/carl.html
Of course, that was ten years ago. Times have changed; now C++ has r-value references and smart pointers!
Palm trees and 8
Also, the barber says you need a haircut.
Wow... Here it's claimed that... RMS's worst flaw... Is his software design preferences?! And that is why copyFREE software is gradually leapfrogging copyLEFT?! Nonsense! That's like saying Hitler's worst flaw was his vegetarianism!
I hate to see bad people attacked for wrong reasons, because it distracts the eye of history from their actual faults. In reality RMS is intelligent, charismatic, and does not have an oft-alleged hygiene problem. He might not be an accomplished programmer, but some of his lispy software design ideas did at one time have merit, though history has shown them to be less than ideal. C++ does contradict the UNIX philosophy of developing myriads of small tools, although it might be a valid option for huge projects like compilers and Web browsers (until a better C-killer language, like D or Go, is fully baked). Free software should handle such aesthetic disagreements amicably, through forking and choice. Vi / Emacs / Eclipse users can be friends, yadda yadda yadda...
RMS's real flaw is his fanatical socialist / anti-capitalist politics, and that is precisely the philosophy from which radical copyLEFT has emerged!
RMS's vision stands against the software philosophy of the free market, where copyfree and proprietary software exist in a symbiotic relationship, resulting in a more financially-solvent, more competitive, more innovative, and more advanced software industry world-wide. He thinks all businesses are evil, and that everything, starting with software development, should be funded by the state - presumably with him in charge.
RMS and his supporters are horrendously hypocritical in their stance on "intellectual property rights". GPL relies on illegitimate government force far more than major software corporations do, because the latter mostly function through explicit contracts (SaaS, hardware bundling, support contracts, education / certification contracts, etc). GPL, on the other hand, is purely an "implicit contract", which, in a rational world, would have no more validity than sticking a post-it note on your forehead that says "by seeing me you are legally bound to kiss me"!
The practical consequences of copyLEFT have been horrendous, not just for the software industry at large but for the growth of free software as well. CopyLEFT is inherently antagonistic and legally unpredictable, which gives the business world good reasons to avoid it. Billions have been wasted rewriting the same code (at times in roundabout ways) just to avoid copyLEFT restrictions! Since copyFREE code equalizes the playing field, the fact that so much open source software was poisoned by copyLEFT has benefited the strongest player in the market, which is Microsoft - whose dominance would have been greater still without the copyFREE software that has been utilized by its competitors like Apple, thus restoring a more competitive environment.
--libman
There is no shortage of insightful and very detailed negative critiques of C++ on strictly objective engineering grounds, but the parent distills just the essence of the argument and does so without raising heat. Well written and very concise.
As both an educator and a freelance developer who has worked in many commercial C++ teams, I can only shudder at the extreme myopia of those who advocate in favor of C++ for applications development. It has its useful niche, certainly, like all languages do, but that niche is not large-scale applications development. To use an unsafe language for that purpose is to knowingly accept that your application will be bug-ridden and a wide open security risk. This is not negotiable.
Large programs have bugs in proportion to their size, this absolutely cannot be avoided, and to make matters worse, C++ has by far the most complex syntax and semantics of any programming language in existence, which amplifies the inherently high bug rate of the unsafe language. If you do not accept this, then you are in denial of CompSci fundamentals and a direct contributor to the software crisis.
Use some insight, people. You can't juggle for long periods of time with a bunch of scalpels without cutting yourself. And you can't program large applications with an unsafe language without the software equivalent of blood and pain. Use some judgment.
RMS suppressed C++ and Flash support for the same reason Adobe and Microsoft are fading them away: Because they were and are ill conceived crap meant to wall garden programmers with property libraries and complexities that rely on a dedicated and nontransferable skill set.
Writing in C++ is only done out of ignorance or reliance on property libraries. No person in his right mind chooses it. Hell, even Microsoft is trying to put it aside in favor of C# and this guys are crazy as Win8.
I tend to think the only reason there's even a C++ compiler in Linux is because the GCC guys felt bored with C since it was so rock solid perfect and decided to experiment. I'm completely serious. Most of the linux kernel is shiny-new-feature driven and the compiler is much the same.
You are a fucking idiot.
Evidence suggests otherwise.
Go suck on some Koch brothers cock.
Rationality benefits all who are rational.
--libman
C++ has had smart pointers for over 15 years (as long as they've had templates). It was just up to the local project architect, or senior programmers (or maybe even a clever junior programmer, for the use of his part of the codebase) to write the code. It wasn't rocket science, but it does require some language experience and careful thought. The "official" auto_ptr template was a mess and has been deprecated.
...to RMS, these absolutely had to be points 0 thru 2? ;-)
I guess the big news here to me was that GNU grep and sed were being maintained. :)
Hey, Windows users, there is no such thing as "forward" slash, there is only slash and backslash.
May be GNU should skip C++ and go for the D language.... see dlang.org
I'm sorry, I find it extremely laughable that you can suggest that "Ruby is on the right track."
Nearly everything about Ruby is wrong. That's why it has such a rotten community surrounding it, and such rotten frameworks and apps (like Rails) built upon it. Pick just about any factor, and Ruby will be doing it the worst way possible.
1) Performance: Ruby's performance is virtually always abysmal, while C++ code generally performs very well. This makes Ruby pretty much unusable for anything serious. When foolish people do try to use it for something serious, they usually end up having to throw far more hardware than should be necessary at it, or have to rewrite their code in a better-performing language.
2) Portability: C++ is far more portable than Ruby. It's also much more convenient to distribute C++'s binaries to end users than it is to have to distribute a Ruby implementation, or have the user try to provide the correct version themselves.
3) Community: The C++ community is made up of some of the best minds there are. These people usually have extensive academic backgrounds, followed by decades of real-world software development experience. They are professionals in every sense of the word. The Ruby community, on the other hand, is absolutely toxic. But that's not surprising, given how many of them are still inexperienced teenagers, and "manchild" is the best way to describe the ones who are older. Oh, the C++ community also welcomes women, and treats them as equals, while the Ruby community has been shown to hold extremely sexist and bigoted attitudes toward women.
4) Maintainability: The features of C++ help with the creation of large-scale software systems, often worked on by thousands of people over many years. C++ software is extremely maintainable compared to Ruby code. Ruby advocates failed ideas like dynamic typing and monkey patching, both of which hurt the maintainability of an application. It's far easier to get up-to-speed with a complex C++ system than it is to do so with even a simple Ruby app.
5) Developer Productivity: C++ has far more robust development tools, including compilers, IDEs and debuggers, than we see available for Ruby. Furthermore, C++'s compiled nature catches many issues early, which makes unit testing and bug fixes far less of an issue than we find when using Ruby.
I think you get the idea. It's clear that C++ is superior to Ruby in essentially every way. In reality, there's no comparison between the two. C++ is the more sensible language to use, even for web development.
"The author is quick to note that he has no philosophical disagreements with GNU or the FSF." - oh so he's a heretic not apostate, thank Linus! But get the pyre going anyway.
To think of all those great new features in grep and sed we've be missing out on!
Linux would not exist without the annoying aspects of GNU and the FSF. They would have made their own kernel in a timely fashion and Linus may never have been motivated to make his own.
Interestingly, the original architect of the Hurd kernel wanted to use 4.4BSD as a starting point, but was overrulled by Stallman who wanted to use Mach.
We are about ten years overdue for someone to lead the FSF. All the successes in open source and free software have been despite RMS, not because of him.
You might be more fair and qualify that with the word "recent". RMS has been on his crusade for free software for far longer than 10 years, and some of the key enabling things early on were tools he and the FSF created. GCC was a crucial part of this, as it broke the specter of vendor lock in at the tool chain (a real threat at one point).
But the world has moved on.
"Little does he know, but there is no 'I' in 'Idiot'!"
...awk-ward!
FCKGW 09F9 42
C++ is an open standard. You can even compile it with the GNU compiler. There's absolutely nothing proprietary about C++.
The Tao of math: The numbers you can count are not the real numbers.
This reminded me of the latest project of ESR: a system to replace the CIA IRC bot that sends messages to IRC channel when people commits things to repositories. http://www.catb.org/esr/irker/
He chose to implement it in Python, probably because of distaste for C++.
After several days of trying to use it and running into severe bugs (random crashes, often locks up, doesn't deal well with unstable connections, excessive memory and CPU consumption, data races and general unreliability -- and of course it required latest python and some very svn version of some library dependency, no fun otherwise) I gave up on trying to fix it and rewrote it from scratch in C++ instead.
In two hours I had a working lightweight and extremely robust implementation of the protocol he defined. I followed the project for a while and it seems it kept having major usability issues for weeks, to the point where many people were reporting bugs and contributing hacks to fix them.
All because it was poorly designed and overengineered. The guy actually made the whole thing multi-threaded (with no knowledge of how to synchronize things properly) even though it wasn't needed.
I think one of the bad aspects of that old generation of notorious hackers is that they're not that good, but their name pulls people in.
There is nothing about C++ that makes it proprietary.
It's designed by a committee in which both companies and academia are very active.
As someone part of both the C and C++ standards committees, I can tell you that interest in evolving the C++ language is much higher than in evolving the C language.
Some of that evolving is done by academia which do it for the pleasure of making programming languages better, while companies do it to better push their technologies. For a couple of examples IBM is interested in standardizing decimal floating-point, since their hardware natively supports it, while Intel and Microsoft are working on standardizing parallel features.
His style of running things and divergent goals from the actual projects just rubs people up the wrong way at times. With emacs it was the ability to take advantage of features in an X-Windows environment (which the hurd didn't have, so he forked emacs away from the developer) and with gcc it was to improve compilation of linux binaries (which didn't help hurd).
News Flash - RMS is a fossil whose refusal to use modern technology completely absolves him of any relevant opinion on the state of software, hardware, the internet, and privacy. Anyone listening to him is equally out of touch.
Why the internet continue to post content about him is simply baffling. He's essentially the gross uncle, who eats his own bodily excrement and talks about why it should be okay to have sex with children and parrots, who you don't want your friends to find out about.
Where is this scathing rant? All I can find is a extremely polite, well written airing of grievance and resignation.
Yeah, and here are some applications that run in demanding environments, that were not written in C++, and that you would probably be hard-pressed to write in C++ (at least with the same results):
Example 1: a DSL. Nice, but for demanding environments, go check ADA - full blown OOP - and generally slower than C++.
Example 2: A FTT routine, how nice. Having worked with assembly implementations on several architectures, hardly a good example - except if you look at all that "demanding" software that also uses FFT in C++. And its not like C++ is a black container unable to use 3rd party libraries.
Example 3: A fringe functional language. Don't get me wrong, I actually like some of the concepts of Haskell, but it is not a mainstream language, nor is an "industry standard" (except some specific companies), And Haskel is actually SLOWER than C++. A lot.
Why are you bitching about "demanding environments"? Can you enumerate which companies RMS has worked for? Because what I see is a guy completely out of touch with reality. And you may like him a lot, thats your problem, but if he had his way, you'd be compiling your ghc with EGCS today. If you think C++ is so broken, tell me - what is the size (bytes) of an unsigned int in C? Why promote so shamelessly such a defect-prone language - specially after a decade of vunlerabilities related to the poor implementation of the standard library? Why don't you bitch about that?
And you have *tons* of demanding environment examples done with C++, Python, PHP, Java, Ruby, C#/.NET, etc. and only a few done in pure assembly. Even most operating systems try to use as little assembly as possible. So your point is?
Disclaimer: I don't even like C++. It has most of the atrocities of C coupled with a half-assed OO support.
You are right about Stallman's extreme Leftist views, and being familiar w/ your link, I'm not sure why you say that he attacks bad people. While people can have different opinions about Bush, Romney, Obama and so on, the causes Stallman embraces worldwide are wacko Left. In the Mid East, w/o saying so in so many words, he backs Jihad terror groups against Israel. And his views on pedophilia and necrophilia - how on earth can anyone consider that mainstream? And the grep/sed guy has only noticed that he is a problem now?
From the OP
Additionally, he noted that the FSF is not doing enough to help GNU "Projects such as gnash are bound to have constant funding problems despite being (and having been for years) in the FSF's list of high priority projects.". Finally:
"Attaching the GNU label to one's program has absolutely no attractiveness anymore. People expect GNU to be as slow as an elephant, rather than as slick as a gazelle, and perhaps they are right. Projects such as LLVM achieve a great momentum by building on the slowness of GNU's decision processes, and companies such as Apple get praise even if they are only embracing these projects to avoid problems with GPLv3."The author is quick to note that he has no philosophical disagreements with GNU or the FSF.
He is partly right, and a better case in point is HURD. Nothing makes the FSF look like a bunch of opportunistic thieves than abandoning HURD for all practical purposes, and trying to hijack Linux instead under a brand 'Linux-libre'. Also, by starting so many GNU projects when there ain't enough people to complete the first few, they have not done themselves any favors. Like I pointed out in the Trisquel thread, most of the GNU programs are geared towards programmers. I mean lisp, guile, scheme, et al - how important is it to support all languages, as opposed to supporting a handful, and then using those to create quality software?
The choice of whether to program in C, C++, Objective-C, Objective-C++, C#, Java or whatever should be a decision of individual programmers, since the FSF is not a company. RMS makes things ugly when he opposes bytecode distribution, even though that achieves a lot of the portability and helps proliferate Java software across various platforms. In this case of C++, regardless of whether C++ is better or worse than C - and obviously, the programming world is divided on that issue - it would be a better idea to have all the tools available and let the programmers decide. But RMS, contrary to his 'freedom' sloganeering, has never been about choice in software any more than he is about choice in his pet issues - politics.
Also, nothing demonstrates Stallman's anti-business attitudes better than his advocacy about 'freedom'. First, all the software had to be liberated, and when programmers asked how they should make their money, he stated that they could make their documentation a service. When programmers started doing that, he started demanding that the documentation should be free. When programmers, in order to get around the software support issues, started offering application services, he came out w/ AGPL. When TiVo, using legitimate GPL conditions, came out w/ a product where the code could not be altered, he came out w/ a new GPLv3 in which he had a specific clause slamming the company, calling it the 'anti-TiVoization' clause. Which company in their right mind would want to make their software GPL, knowing that even if they figured a way to make money, Stallman will do what he can to close that loophole?
On a final note, I agree w/ other posters above as well - I had no idea that grep & sed were still under maintenance. Honestly, the author should think of writing something new, instead of something that existed from the 70s. Maybe things like extending Qt to cover Objective-C, or some such activity, which would be more useful than maintaining the functionality of 2 utilities that nobody other than programmers use.
Someone actually maintains sed and grep? I would think after FORTY years you can probably just let grep do its thing on its own.
It works fine for me. I have been using Microsoft's STL for 10 years now without problems - it's implemented by Plauger.
Linux would not exist without the annoying aspects of GNU and the FSF.
Given that Linux did not start as a GPL project, I seriously doubt it. And it is widely known that Linux was started because of licensing issues with Minix, and because 386BSD wasn't available.
They would have made their own kernel in a timely fashion and Linus may never have been motivated to make his own.
A couple of years after Linus started Linux, the 386BSD was made freely available. Even considering that Hurd was started almost one year before Linux, if not for Linus work (and all the volunteers), RMS and the whole GPL thinggy would be a remainder of the nineties, like pagers and AOL, while we'd be using BSD-derived workstations.
GCC was a crucial part of this
What you know today as GCC was done as "fork-and-merge". There was a lot of resistance in integrating the patches/changes provided by EGCS. Had he get away with it, GCC would probably be dead, and you'd be running a fork of it.
but this is my account of Richard Stallman's presentation to the Yorktown High School Computer Club for anyone who would be interested.
Reading that linked article reminded me - the printer deal that was the cause of him starting this whole thing - it could have been solved w/o an anti-business manifesto demanding that all software be free. All he needed to have done was demand that whenever software changes hands - legally or illegally, the source code must accompany it. He needn't have said squat about re-distribution rights.
After all, a lot of companies did agree that open source, as in making sure that source code always accompanies binaries, is a good idea. As long as they are allowed to restrict distribution to only their paying customers, this is not an anti-business business model. The software vendor sells their software - both binaries and source code - to their customers, and in the license, they explicitly prohibit its redistribution. That way, if the customer needed to customize the thing for their own usage, they could hire their own programmers, dip into the source code, make whatever modifications they need, and use it in-house, w/o threatening the business of the ISV. Or if the ISV goes tits up, the customer can hire their own programmers to maintain that software as long as they need to, rather than be forced to sink cash into a new platform. This is a win-win scenario for both the ISV and customers.
By focusing on the liberation of software, rather than just ensuring that the source accompany the binaries, Stallman screwed a fantastic opportunity here - maybe deliberately, given his Marxist world views. The above idea would preserve the interests of ISVs as well as that of customers, making it truly workable. But by insisting that the ISV can't prevent re-distribution, Stallman made the GPL essentially a poison pill. After all, as it has been demonstrated, there are very few ways to make money on software that is GPLed. All this would also have avoided a gazillion licenses, since most of the variations are due to variations in redistribution clauses.
Open-source, as defined by OSI, has some of the same issues by insisting on the freedom of re-distribution. Since they are not leftist fanatics like Stallman, one would hope that at least they would see it this way, and allow for a total non-free software to get open source endorsements as long as source code accompanied the binaries. That would achieve all the OSI goals of promoting better software, while also earning it the broad based support of the software industry.
Getting back to the FSF, the other issues that they espouse, such as security & privacy, are things they could support, but which are totally separate issues from open source. One could put bots and other spyware into open sourced software as well, and a consumer would still have to know where to look for them to flush them out. Instead, have totally different movements on those other issues.
But given how everyone knows that TINSTAAFL, the 'free-software' or 'software-freedom' concept has to go. Free is a beautiful word, and doesn't deserve to be maligned by the Orwellian language of Stallman and his club.
Is he still w/ the project?
Just Grep the 'net for a new maintainer
Table-ized A.I.
He needn't have said squat about re-distribution rights.
Except that redistribution rights are important today. Why should a company be able to restrict me giving away copies of programs?
Open-source, as defined by OSI, has some of the same issues by insisting on the freedom of re-distribution. Since they are not leftist fanatics like Stallman, one would hope that at least they would see it this way, and allow for a total non-free software to get open source endorsements as long as source code accompanied the binaries. That would achieve all the OSI goals of promoting better software, while also earning it the broad based support of the software industry.
As far as Stallman is concerned, it's the philosophy that comes first, not "industry support" of whatever the current fad is.
Stallman screwed a fantastic opportunity here - maybe deliberately, given his Marxist world views.
Your political dog-whistling really doesn't have any bearing on the merits of Free software.
You are right about Stallman's extreme Leftist views
I try to avoid the irrational left-vs-right "wing" terminology. It originated as a schism within the socialist movement, with those seated on the "right" of some historical deliberative body being "nationalist socialists", and those on the "left" being "internationalist socialists". I reject them both.
One possible exception may be when I'm highlighting the distinction between copyLEFT and copyFREE with upper casing, just as a reading aid (unless I forget). The former is an application of copyright that stands for a particular political special-interest group, while the latter stands for freedom.
and being familiar w/ your link,
By this do you mean the the thread on the Free State Project forum?
I'm not sure why you say that he attacks bad people.
I think you've misunderstood me. I was saying that Stallman is often attacked by other people for all the wrong reasons - and not for the right reasons to be severely critical of him.
Personal attacks against Stallman are often focused on his lifestyle choices, and I think those attacks are often irrational. Hippies are a-OK, as long as they don't initiate aggression (i.e. socialist politics) against others. Even voluntary communists are OK (even though their philosophy is so dysfunctional it is almost never practiced voluntarily). I can respect lispy emacs users, even though I reject GNU Emacs and its license. I can agree with some of Stallman's software design ideas, while disagreeing with others.
What is irreconcilable between me and Stallman is that he believes in using government-veiled violence to get his way, and I refuse to recognize that violence as legitimate.
In the Mid East, w/o saying so in so many words, he backs Jihad terror groups against Israel.
I am rather critical of Israel myself (although I do recognize its accomplishments as warranted). Israel could have been established without violating the Property Rights of the Palestinians... But that's a whole nother debate...
And his views on pedophilia and necrophilia - how on earth can anyone consider that mainstream?
Actually those are some of the issues where Stallman is mostly right (except he'd probably fail to fully recognize Parents' Rights in regard to the former). Pedophilia is clearly an illness, and its indulgence is clearly unethical, but it doesn't constitute rape in every single case. The hysteria over "kiddy porn" is probably the #1 threat to Internet freedom that exists today!
The choice of whether to program in C, C++, Objective-C, Objective-C++, C#, Java or whatever should be a decision of individual programmers, since the FSF is not a company. [...]
A group doesn't need to be "a company" (presumably you mean like with salaried employees) in order to have working standards. There's great usefulness to organizations that set policies for the projects that they accept under their umbrella, as long as people are free to fork off on their own if they so choose. We can have the best of both worlds - rational order as well as freedom. There's nothing wrong with having large "cathedrals", as long as there's a "bazaar" of competition between them.
I myself firmly believe that having every component written in a different language is horrendously ugly! I'm a big fan of all UNIX systems programming taking place in C, and brand new future-oriented "post-POSIX" OS projects starti
...More like the barber shows you the cool new shaver that you didn't understand and that he helped design.
An interesting exercise is to compare the internals of Clang, written in more modern C++ versus gcc, written in C, and to decide for yourself which one you'd rather maintain.
http://llvm.org/svn/llvm-project/cfe/trunk/
http://gcc.gnu.org/viewcvs/trunk/gcc/
Note that Clang is written in modern C++ and is also faster than GCC.
One benchmark shown is that clang loading a parse tree of 'precompiled headers' is almost the same time as it takes to just compile the headers.
FWIW, I'm switching to Clang wherever it is supported because of all of the regressions in GCC for vectorization in C and C++ since GCC 4.2
ipv6 is my vpn
Hardly fair to compare a 25-year-old project with Clang. Code ages like dead fish, regardless of what language it's written in.
Lets face it, we have recently had some experience with projects that are the core of computing where it went terribly wrong. The GNU tools are so basic to Linux that if they underwent the same rapid development as others, they become unusable. On the other hand, if they don't keep up, they become obsolete. And when it comes to a tool chain, you can't just modernize one because it is part of a chain and it would break the chain. Simply chaining a few parameters for grep would destroy how many scripts?
You can't even just rewrite it in a new structure while keeping the interface the same because that would mean your new version would need to achieve in months a complete feature and robustness parity with the original program. This was one of the things that bit Gnome 3 hard, it just wasn't complete when it was supposed to take over from its predecessor. Stuff like Hurd and Grub 2 suffer similar programs, their goals may be noble and far reaching but they are/were for a long time not even suited as a replacement in all but the most trivial setups.
And frankly, I don't care if the GNU toolset is slow as hell or doesn't get many new gadgets... many of these programs are so essential, so basic to unix style computing that you can wonder if they ever need to evolve. How long has a hammer been a hammer and just right for being a hammer?
Proof me wrong, write a new grep tool. Get it adopted and supported. It will be a very long road. And all along the road you will have a tool that is not yet as widely installed, robuust, tested, documented and understood. The end destination better be paradise to make that worth it.
This guy might be disappointed with RMS support now but just wait until he tries to get support for an alternative grep for people to use, document, bug report, debug. Many have tried such things, most failed.
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
"Name these languages that offer more performance AND safety than C++"
Yes, Fortran. Fortran 2003/2008 is a very good conventional straight-forward programming language, except for I/O. It has a better memory and execution model for high-performance computing.
http://en.wikipedia.org/wiki/Fortran#Fortran_2003
And it supports successful code-reuse, proven empirically over decades, even when hobbled with backward compatibility with ancient cruft/
www.netlib.org
Fourier transform routines written in the 1960's are still good. Ugly to look at, but it will compile and link and work just fine.
http://www.netlib.org/go/realtr.f
And of course it doesn't omit obvious things like FUCKING MULTIDIMENSIONAL ARRAYS for real, in the language, and interoperable everywhere. And they can start at 1 or 0.
And a pointer is not the same as an allocatable array/structure.
> Billions have been wasted rewriting the same code (at times in roundabout ways) just to avoid copyLEFT restrictions!
Billions have been wasted rewriting the same code (at times in roundabout ways) just to avoid proprietary restrictions, too. People who want to use copyleft code only have to release their changes, it's not such a big deal...
From the point of view of the software ecosystem, I'd say that the GNU toolchain has given birth to what I consider the most successful open-source project ever, namely Linux (probably a billion-dollar success overall), mostly under the GPL. From an industrial point of view, copyleft hasn't harmed Google too much, and Apple is definitely not a model for free software.
Microsoft LOVES BSD, they can take code from it and never contribute anything back. But it is Linux that got popular not BSD.
BSD has its supporters, like MS, who don't actually do anything to support it. Linux has supporters, like IBM, who do massive contributions.
The GPL has won, the only ones who hate is who want stuff totally free and not contribute anything back. Well, for those people there is BSD. Enjoy.
The fact that Linux is on its way to become the biggest OS, the most used and the most installs (thanks to Android) says enough that the GPL works a LOT better then BSD in encouraging industry AND consumer adoption.
And still kiddies who never will amount to anything claim that all the Linux users and contributors are wrong. OPEN YOUR EYES!
MMO Quests are like orgasms:
You may solo them, I prefer them in a group.
Yeah, and then every man and his dog would have to re-implement that fix independently. Your suggestion is bat-shit crazy.
MySQL: C++
Mozilla: C++
Libre/OpenOffice: C++
Qt/KDE: C++
Etc.
Let the brainy people discuss why C++ is such a bad language in theory and go back programming...
We know we're really screwed when the maintainer of cat gives up.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
If you'd ever seen the guts of most commercial RDBMS's you wouldn't be pointing to them as an example to support your advocacy.
You're confusing some proprietary C++ libraries with the C++ standard and the C++ Standard Library that both have nothing proprietary in them and that are cross-platform.
cpghost at Cordula's Web.
'Anti-business manifesto' ... 'Stallman['s] Marxist world views ... 'leftist fanatics like Stallman'. Good grief. Please stop posting on Slashdot, and go back to Fox comment sections.
If you want to see how a good idea can brought to its knees by politics, correctness and an extreme lack of pragmatism then look no further than Hurd. Here is a project which started before Linux and development was so glacial and bogged down in politics that Linus Torvalds preferred to write his own kernel from scratch than wait any longer. It seems a lot of other people agreed with him which is why Linux is practically ubiquitous and Hurd isn't. It's not the only GNU project infamous for its extreme lack of progress so perhaps there is a stigma attached to the name.
What's exactly a horrible subset of C++ in C macros?
Are you talking about template-include-trick or simply defines around "virtual function calls"? (the former being serious wtf hack and the latter pretty much a standard practice that unfortunately sometimes grows little bit too far)
Pair of insane, rambling commenters.
Ah, you have nothing to offer except cryptic responses to supplement your cryptic rants.
"In other news: water is wet and apples fall out of trees."
Water is not wet. (See some of the superb arguments here.)
Also, do most apples fall off trees, or are they being removed by humans?
ban on multiple inheritance ...
The ban on multiple inheritance is rather standard and the only thing relevant to modern c++.
... exceptions ...
They have 3 different reasons, one of which is
increasing compile time (probably slightly)
which is not a sane argument to make when talking about c++ compile time, the probably even makes it obvious that they did not even check their facts and only sought more reasons to get rid of exceptions.
The other two can be summed up as "we do not have exception safe code, we do not write ideomatic c++ (RAII) and we prefer to litter our logic with c style if(error) return style error handling"
In other words google has a nice code style that I am happy I do not have to follow and most of the companies I worked at did not follow
Billions have been wasted rewriting the same code ... just to avoid proprietary restrictions, too.
But that code has not been published, and not hypocritically called "free software", enjoying publicity benefits as such.
If someone writes a piece of code that looks suspiciously similar to Microsoft code (that has not been leaked), s\he isn't under threat of legal action, because s\he had no access to the code. But if someone's code is similar to something released under GPL, then this is a problem. Since code follows similar patterns, more and more of the programming noosphere is gradually being locked up under copyLEFT restrictions, and thus more and more people can become subjects of legal threats.
People who want to use copyleft code only have to release their changes, it's not such a big deal...
Except for the people writing under copyFREE licenses (or "public domain" code). FreeBSD had, in effect, recently put adding new features and optimizations on the back burner, so its best minds could focus on rewriting components that are GPL.
Irrational use of violent force, which is what GPL is ultimately backed by, is always a "big deal". Today this violence may get you what you want, forcing others to publish their code against their will, but tomorrow the guns of state will inevitably turn to less sympathetic endeavors. The only way to control this force is through a rational set of principles - initiating aggression is just as wrong when it benefits you as it is when it harms you.
From the point of view of the software ecosystem, I'd say that the GNU toolchain has given birth to what I consider the most successful open-source project ever, namely Linux (probably a billion-dollar success overall), mostly under the GPL. From an industrial point of view, copyleft hasn't harmed Google too much, and Apple is definitely not a model for free software.
As explained in my earlier posts (read that whole comments tree), Linux being more popular / better than BSD UNIX did not come about as the result of any benefits of GPL - to the contrary, it had been swimming against the current. CopyLEFT does produce very real harm, as is evidenced by the fact that copyFREE projects are gradually leapfrogging copyLEFT ones. Apple's choice of PostgreSQL over MySQL is perfectly understandable. You may not consider Apple "a model for free software", but they have made very significant contributions to FreeBSD, LLVM, WebKit, etc.
Google was actually reluctant to choose Linux over a permissively-licensed alternative like Free/NetBSD as the basis of Android / ChromeOS, but Linux was already ahead on ARM, had better drivers, and was more popular with the devs. Like I said, Linux had managed to success in spite of its copyLEFT license, not because of it. Google chose a copyFREE license for every single FLOSS project that they themselves had started, but replacing the Linux kernel simply didn't make financial sense - so far... But they are experiencing plenty of GPL-related headaches, and would probably be even more inclined to avoid it in their future products.
The GNU Project's only advantage is that it was started all the way back in 1983/4. Linux was usable in 1991, and went viral with distros like Slackware and Debian in 1993. FreeBSD did not get rid of the AT&T lawsuit FUD until 1994, when the train has already left. (And it didn't become purely copyFREE until 1999, when the obnoxious advertising clause was finally removed from the license.) Sometimes the cost of switching to a whole different OS outweighs the drawbacks of sticking with a copyLEFT OS, and so L
Apple is the primary funder of LLVM and the creator of Clang, LLDB, and following them is Google and dozens of other major corporations contributing to the LLVM Projects.
Still, early versions of GNU libc and cc in the 80s and 90s where crucial. At the time it was not only the open source model which was doubted - it was doubted whether "bunch of unemployed hippies" can write anything as sophisticated and of production quality. FSF/GNU under RMS guidance had managed it.
EGCS happened much later, in the end of the 90s. As old saying goes (I have forgotten original wording), person who have contributed something major to development eventually becomes a major impediment to development himself. RMS religious zeal was important instrument to persist through the times of total commercialization of the software. Now, after he made sure that open source exists and thrives, he himself is more of an obstacle to the future of what he had created.
All hope abandon ye who enter here.
All logic is "cryptic" to the functionally illiterate.
--libman
The words "insane" and "rambling" must have a completely different meaning to someone with an alias referencing Karl Marx...
(Those who have actually read Marx as much as I have will understand.)
--libman
Clang is faster at producing slow code.
The "printer thing" is actually a red herring. The act that started RMS on his path was a lot simpler - all his coworkers at the MIT AI lab left. Stallman had finally found a place where he was comfortable, then thay all left to try and make a little money. RMS threw a hissy fit and set about taking all their original ideas and releasing them as free software. His stated goal was to drive them out of business - either to punish them for leaving or maybe to force them back to the lab. The printer story developed later, in an effort to make it seem not nearly so petty.
He didn't master the tool called "C++", so he got himself a toy called "C#". Now he bitches about the tool when in reality his own conceptual and practical incompetence is to blame.
Basic advice on trolling: Follow hyperlinks to get superficially correct posts and avoid mistakes like writing about embedded guy that he exclusively uses C#
Grep maintainer quitting. 900 billion people use grep. Somebody else will maintain it. Nothing to see here, move along.
Linux would not exist? Linux does not exist.
It's GNU/Linux.
A well thought out, non-rage post about what he thinks is wrong is GNU and you respond the same way the FSF usually does to criticism.
Fuck you.
RMS suppressed C++ and Flash support for the same reason Adobe and Microsoft are fading them away: Because they were and are ill conceived crap meant to wall garden programmers with property libraries and complexities that rely on a dedicated and nontransferable skill set.
Writing in C++ is only done out of ignorance or reliance on property libraries. No person in his right mind chooses it. Hell, even Microsoft is trying to put it aside in favor of C#.
Could have fooled me.
In most fields of examination, infinity is not a rational number, because it's not strictly a number. "= infinity" is treated as a property rather than a definition, with the meaning being "x = infinity iff for all N, x > n"
I had not hear this part of the tale. Can you site a reference?
GCC has been effectively re-written many times during that time. I myself was involved in the porting of G++ v1.38 (before GNU G++ was part of GCC) to run self-hosted on the Atari ST, back in 1989 or 1990. I don't think anything still exists from that code base in GCC 4.7 at all.
ipv6 is my vpn
That's not true in general, and not true specifically when generating SIMD code for SSE4 or ARM NEON.
All the latest GCC versions 4.4, 4.5, 4.6 have serious regressions in SIMD optimizations, it actually went backwards in efficiency over the years.
Final code efficiency is the primary reason why I needed to switch to Clang.
It is a real pain btw to have to have two C compilers for a single embedded device!
ipv6 is my vpn
Just so you know, you don't come off as intelligent. You come off as a sophomoric student desperate to prove he isn't as ignorant has he secretly suspects he is.
I got what I wanted for Christmas, early - proof that we can still have a flamewar about News for Nerds!
"Sometimes a woman is a kind of religion, she can save your soul & set you free from all your sins" - Bad Examples
Funky or not, we try our best sometimes but that is never good enough.
It is also very much about (soft) real-time capability. GC languages simply cannot provide that. Which results in sub-standard User Experience, when GC kicks in.
Here is my memory-safe, no-GC language:
http://sourceforge.net/projects/sappeurcompiler/
Your argument is equivalent to saying "we don't need pricey aluminium any more, let's use lead for the next A380, after all Saturn V engines will be able to lift even that !"
Boy, in engineering, efficiency MATTERS. Maybe not in the Crappy In-House App Of the Day, but certainly in products such as firefox, MS Office, CATIA, Photoshop, Postgresql and the like.
Steam valves should probably be controlled by hard-realtime capable code. That means No Heap Usage Whatsoever (except during startup of the process).
The lack of destructors in Java is indeed a massive regression. And finalize() does not cut it.
Many programmers shouldn't be called "software engineers", as they apparently can't have a unique idea of their own. They see that there are several mainstream memory safe languages which all happen to use GCs for memory management. So they jump to the conclusion
memory_safe -> GC
Which is of course very wrong if you think hard about it.
Here is my attempt to create a memory-safe language with comparable efficiency and real-time capabilities as C++:
http://sourceforge.net/projects/sappeurcompiler/
It basically removes all the nasty, unsafe casting of C++, uses smart pointers everywhere, does bounds checking everywhere and uses the type system to eliminate low-level race conditions. You can still allocate almost everything on the stack, have value arrays (of objects), pass references (but don't obtain pointers on them) and so on.
Peddling my own invention here, so take it with a grain of salt:
http://sourceforge.net/projects/sappeurcompiler/
Both efficient and memory safe. No GC. No memory cancer possible. Superfast startup for small programs (10ms and less).
IMO you can use a proper macro language such as m4 instead. That will immediately eliminate all the pain of macros. The theoretical advantages of macros I don't need and I hate all the disadvantages.
Unfortunately slashdot doesn't let me post a real example here.
Here is some older code, which still contains a few bugs and is incomplete:
(search for "m4")
http://forums.theregister.co.uk/forum/2/2012/12/21/financial_software_disasters/#c_1673106
"That will immediately eliminate all the pain of TEMPLATES"
No destructors, for starters.
My experience is that any heavy-duty, complex system which can kill people, handle massive data sets or complex UIs must be written in a rather simple, procedural/OO language. Some kind of ALGOL descendant.
I did use Smalltalk, functional and logic languages in the past. I still use Perl and like it.
All your funny features come at the cost of massive performance/realtime/memory consumption penalties.
Care to show me the GPLed webserver that outshines Apache in marketshare? Or the GPLed DNS-server that outshines BIND in marketshare? Or the GPLed SSH implementation that dwarves OpenSSH's marketshare? And can you explain why Apache OpenOffice seems to win against LibreOffice? And when did Firefox switch to the GPL? And why are so many projects switching from GCC to LVM? So where in your world did the GPL win? But of course, if you think that Linux is becoming the world's most used OS...
They use FORTRAN. Hardly fitting your bill.
All leading DBMS are much older than C++. PostGres and MySQL are written in C. I doubt hat Oracle and IBM rewrote their DBMS in C++. And of course Derby is written in Java. :-)
This guy is intellectually challenged to use C++ and has discovered C# is the right thing for him. He wrote done his whining and lies. That's all.
For all the people saying "C++ is bad", I'm curious: what would you consider a _good_ programming language?
If I was "desperate" to maximize other people's perception of my intelligence, I obviously would have done many things differently. I would have refactored all of my past ad hoc forum / comment arguments about the harms of GPL into a more refined essay on my own site. I would have suppressed my hateful emotions and presented myself more diplomatically. I would have been less innovative in my use of grammar. I would have certainly proofread my posts here an extra time, fixed the couple of typos, and perhaps reorganized them for briefness and clarity. I would have said popular things using my account to build up my karma. Etc. But that is more of my time and effort than you people deserve.
I've added my piece to this debate, and debunked all points made against my position. I already know the infinite ways in which I can be attacked personally. What I don't know is any substantive argument against the points I've presented.
--libman
Until they turn the Linux universe into their own little fiefdom.
No. If there is a bug in the original software, the vendor can fix it, and release the fix to either all its customers, or those who ask, depending on the situation. If customer A wants a feature added that nobody else is interested in, A can implement it in-house and use it. If customer B needs something else, B can do the same. But let's say that the ISV finds out that a whole bunch of customers want a particular feature, they can issue that to all their customers, or put it in their next release and resell them - whichever works better. Bug fixes would be something that the ISV would have to do to keep its installed base happy, but aside from that, other changes that are wanted by only a few customers can be left to them to make. Even if they make it independently, no harm done, since that code won't be re-distributed.
Read Stallman.org. In particular, check out the left column there - 'Urgent Action Items': it will give you a better idea of what I mean. Here is someone who supports Fidel Castro & Hugo Chavez and every Left wing SIG in the world, buys every Leftist conspiracy theory that's out there, has been a consistent Green Party supporter, is in favor of the government nationalizing companies like Microsoft and making their software free to use.
Of course, if Stallman is not Marxist, then no one is.
FFS FSF! rm RMS!
What do you get when you cross a mountain-climber with a mosquito? Nothing! You can't cross a scaler with a vector.
C++ can be extremely powerful when used properly, but that doesn't mean it's not a horrible language.
GCC is in version 4.7.2. I have a set of FP heavy code which runs faster in GCC with '-Ofast -march=native' than Clang with all the optimizations turned on. This also seems to be the case for everyone else I know using X86. I have no idea how the performance in ARM is like.
"Yeah full-blown properly-used C++" is used in Microsoft Windows. Even wonder how on earth a state of the art quad core processor grinds to a halt on Windows?
Your post is full of inaccuracies and wild, unsubstantiated prophecies.
I'll tell you something, Mr $hill; Google would not exist without Linux, MySQL, GCC, Python and a host of similar technologies. Why is it they did not select BSD for their giant server farms ? There is a lot to be said about extreme positions of RMS, but it is also true that the success of Google, Facebook and Apple is firmly based on GNU stuff such as GCC (which Apple used for a very long time).
I think you are in the pay of M$ and you shit into your pants about the phenomenal success of GNU software and you would like everybody to adopt BSD licenses as that would allow your egotist desire to rake in $$$ to succeed in the SHORT term. On the long run, it would damage the whole IT industry, as can be seen in the success of Apple, Google and FB. The "next FB" will need free software as much as the old one needed that to grow from two guys to 20000 guys.
For me, with GCC 4.7.2, the -ftree-vectorize fails miserably compared to GCC 4.3 for code that is already prepared for SSE or NEON vectorization.
ipv6 is my vpn
Still, early versions of GNU libc and cc in the 80s and 90s where crucial. At the time it was not only the open source model which was doubted - it was doubted whether "bunch of unemployed hippies" can write anything as sophisticated and of production quality. FSF/GNU under RMS guidance had managed it.
RMS was hardly an "unemployed hippie" - at least no more than the guys who wrote the BSD. The idea that GCC (as an opensource C compiler) was "novel" is also a nice fairytale - pcc exists since the seventies.
EGCS happened much later, in the end of the 90s. As old saying goes (I have forgotten original wording), person who have contributed something major to development eventually becomes a major impediment to development himself. RMS religious zeal was important instrument to persist through the times of total commercialization of the software. Now, after he made sure that open source exists and thrives, he himself is more of an obstacle to the future of what he had created.
That epic battle between commercial software and open-source only exists on RMS's head and on a handful of follower's heads. Fact is that OSS predates RMS, many commercial software relies on it, GPL itself is an aberration (and the internet as you know it would not exist if base libraries that implement protocols were GPL and not BSD), and most relevant OSS today isn't even GPL - the big exceptions are Linux Kernel (that actually didn't start as a GPL project), and GCC itself.
That epic battle between commercial software and open-source only exists on RMS's head and on a handful of follower's heads. Fact is that OSS predates RMS [...]
Predates him, indeed. But you have probably forgotten that pretty much all *NIX and *BSD clones - actively developed clones - have abandoned it. Throw in here the USL v. BSDi case, and actually there was a period of time when there was no open source - except for the FSF/GNU.
pcc exists since the seventies.
Riiiight. It has, as BSD, fathered piles of *commercial* forks. Yet itself AFAIK it still can not even claim full ANSI C support - least C++ support or support of any arch except x86/x64. So how that rich history "since the seventies" played out?? Stagnation and irrelevance, because every good idea got implemented - in a commercial fork.
The point being before RMS, OSS was equivalent to BSD. What sucked for very obvious reasons. But RMS had showed that it can be improved upon with his community-centric license. And things have improved since then.
All hope abandon ye who enter here.
Is that it simplifies language binding. If you have the core stuff written in C, its fairly easy to bind to it from any language, whereas C++ is much more difficult - if not impossible, as I don't even think there is a standard C++ ABI. Certainly not on Windows. So, if you have your core os stuff written with C bindings, then, any language maker can talk to it, so that, if users want OOP languages, they can use anyone of them, not just C++.
This is my sig.
But you have probably forgotten that pretty much all *NIX and *BSD clones - actively developed clones - have abandoned it.
Its a mixed bag. Even the most used *NIX deskop operating system is still (mostly) opensource. On the other hand, during the 80's, very few UNIX manufacturers actually invested on x86 architecture, and traditionally microcomputer software was distributed in binary form (for several reasons, not only because of so-called "trade secrets).
Throw in here the USL v. BSDi case, and actually there was a period of time when there was no open source - except for the FSF/GNU.
Since - at the time - Linux was also mostly unusable as a real kernel, to compile UNIX GNU stuff you'd already need to have a workstation WITH an operating system, and a compiler (if you need to compile GCC).
Yet itself AFAIK it still can not even claim full ANSI C support - least C++ support or support of any arch except x86/x64.
It was "the facto" standard compiler for BSD operating systems until 1994 - and while is no match for modern GCC, probably one of the reasons it was ditched was because of proper x86 support - Keep in mind that this compiler is older than the x86 ISA. Also, only the _new_ version is x86/x64 only. You may not like it, but it exists and was a viable option - far far away from the RMS speech of "before me there were none". And if you like C++ with GCC, well - do not thank RMS for it.
The point being before RMS, OSS was equivalent to BSD.
And after RMS, they still aren't GPL. Other than the Linux Kernel (not at all related to RMS) and GCC, almost every other major project stays away from both the FSF and the GPL, while the business model RMS despises adapts to its limitations (eg. the Linux kernel is riddled with commercial hooks for 3rd party - closed source - modules and extensions; see eg. kernel namespaces).