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.
Enough said.
Gnu/Anonymous FSF/Coward.
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.
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.
This gives some ways to accomplish the same thing.
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.
lol AIX who uses that shit
/me raises hand
It's not modern or "sexy", but it is incredibly stable.
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'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!
Palm trees and 8
> lol AIX who uses that shit
Employers.
A Pirate and a Puritan look the same on a balance sheet.
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.
That isn't quite what he said.
He said that GNU isn't attractive because the leadership isn't effective. It takes too long to make decisions. Sounds to me like "analysis paralysis", or at least typical management where people are too busy playing politics instead of trying to create something awesome.
Love sees no species.
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
Of course the complete functionality of grep can be obtained with a awk or perl script. So unless you consider grep an useless legacy program, that's not much of an argument against the option.
The Tao of math: The numbers you can count are not the real numbers.
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
If C++ were a car, the accelerator would be a pedal located under the passenger seat, a dial on the radio, and a lever in the trunk. Most users would just shift into neutral, which would be a 14 step process, and push their car around the block; they would then point to this as a major accomplish, and would note that once the car is in neutral it is powerful -- after all, you can always shift into drive if you really need to!
Palm trees and 8
The comments below seem no more relevant than this "slightly off topic" thread... I find that unfortunate. Of people who have made the world a better place, I list RMS near the top. He's done so in a selfless manner that makes me proud to be human. Sure, I don't agree with him half the time, but if I could trade my life for one where I could do as much good as he's done, yeah... I'd do it. Have you ever heard of Gandhi? Ever read about that flake? He slept (as in sleeping - not sex) naked with young girls to prove to himself he could control his animal impulses. Yet few argue about what Gandhi did for the world. It kills me to hear about people complaining about RMS's views on C++, on which he happens to be mostly right, and even if you disagree this is not naked girl territory. We should acknowledge the outcome of his life's effort: the world runs on free software. Standing ovation for RMS! Imagine how much harder it would be to write awesome code if we didn't have all this free stuff!
That said, RMS both promotes and harms the goals of the free software movement. As the "Cathedral and the Bazaar" pointed out, RMS brings a central control view to free software that is counter to the whole environment that made GNU/Linux awesome. Debian, IMO, epitomizes this flaw. Rather than helping young new programmer share code and ideas, you have to pray to the Debian Gods and hope they take pity on your pitiful new package before it can be share across the Debian universe. Sure, Debian has it's place... deep in the innards of server racks where 99.9% up time is required, but not on a bright young programmer's desktop. If you want to be part of the new innovative group of coders, go learn about programming for Android.
I hope this message can finally be heard by RMS and those most central to the free software movement: we volunteer programmers are sick and tired of dealing with the wall of red tape you've built. Please get out of the way and let us do our thing. But you're right about C++.
Celebrate failure, and then learn from it - Nolan Bushnell
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.
If you are talking about the "uptime" stability
As somebody who actually occasionally uses AIX, but most and foremost who does support for HA system for past 5+ years, let me just say that the uptime stability of any system is asymptotically equivalent to the minimum distance idiot admins are kept from it. Farther you keep idiots away from important system - the system which you want to have great uptime - longer the uptime gets.
Otherwise, our AIX 5.x, 6.x and 7.x boxes run pretty well over here and with great uptime (500+ days between reboots; most commonly rebooted for network/storage reconfiguration or power outlet/physical relocation). Yeah, system is out-dated, mostly sucks and is unused. But try to think of it positively, as about the "glass half-full": Thanks God It's Not HP-sUX!!!!!!!!
All hope abandon ye who enter here.
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.
I worked with a Russian programmer of very few words, who willingly ran AIX as his desktop OS. When asked why, he said "I enjoy the strict confines of AIX."
I had absolutely no idea how to respond to that.
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).
Where is this scathing rant? All I can find is a extremely polite, well written airing of grievance and resignation.
As an IBM employee, I am equally without words.
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.
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.
Why he didn't just use BSD(M)?
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.
As someone who administers AIX but am historically from the Linux side of things, I have seen quite a few oddities on this supposedly-stable OS of IBM's, AIX.
I have seen the kernel get clobbered by authentication systems and PAM, repeatedly. It doesn't handle OOM conditions nearly as well as Linux does (though you can tune it to a similar degree, if only because Linux borrowed a lot from their implementation). I've seen a great deal more erratic behavior (eg. daemons crashing, lack of responsiveness, etc.) on AIX when approaching OOM conditions (with or without swap - just whenever the slab space is almost all used) than I ever have on Linux.
If it were so stable, it wouldn't need patching primarily for stability as regularly as it does from IBM. Sorry, but from where I'm sitting, AIX has a lot more patches being released for a great deal more things than RHEL does, for very basic things. IMO, the biggest reason AIX is even used specifically is due to legacy, and institutional knowledge - AIX knowledge doesn't go as stale as quickly as Linux distro-specific knowledge does, because nothing ever changes - ever - on AIX, they just add more stuff.
And, of course, the hardware AIX runs on is pretty much just pure awesomeness. That's the biggest reason AIX should even be considered.
(Funny enough, the VIO and/or HMC on most "AIX" equipment appears to be some neutered and highly customized version of SuSE, so technically, AIX can only really be as stable as Linux is.)
~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
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.
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.
I had not hear this part of the tale. Can you site a reference?
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...