5 ms·
Not a direct answer to your question, but the very existence of LLVM as a serious competitor to GCC is evidence of RMS's leadership failure, and even if you ign
by geofft 6y ago
Not a direct answer to your question, but the very existence of LLVM as a serious competitor to GCC is evidence of RMS's leadership failure, and even if you ignore everything in this letter, the GCC Steering Committee should be looking at whether he's helping to steer in the right direction.
There was a fascinating thread here the other day about how LLVM was offered to the FSF, copyright assignment and all, and that it was rejected: https://news.ycombinator.com/item?id=26535789 https://news.ycombinator.com/item?id=26535789
LLVM differs from GCC in two major ways. First, nontechnically, it's under a weak copyleft instead of a strong one. Second, technically, it has a modular architecture. There's a libLLVM that you can use to parse programs and do all sorts of transformations on them.
RMS refused to create an equivalent libGCC and even to structure GCC in such a way where maintaining a private fork with a libGCC would be easy, because he feared that proprietary software developers would use GCC's code to handle the hard part of compilation and not free their proprietary extensions. He thought he scored an early victory on this front when he got NeXT to release their Objective-C frontend for GCC publicly and contribute it back. But it was, of all companies, Apple themselves (the effective successor of NeXT) that invested into LLVM.
It turned out that not only is developing a compiler within reach for a proprietary software company, developing a better compiler was easily within reach when freed from the artificial constraint of making it non-modular. LLVM was able to compete with GCC because it had a technically better design that GCC rejected for political reasons. And, ultimately, that technical excellence is now threatening GCC's dominance.
It also turns out that many software projects are willing to license their code freely anyway, without the requirement of strong copyleft. Rust probably would not have been anywhere near as successful if it didn't have libLLVM to build on top of and had to start from scratch. And Rust is under no license obligation from LLVM to be free software, but it is nonetheless free software. Apple continues to contribute many things (though not everything) to LLVM not because they have to, as they did with GCC, but because it's technically better for them to work with the public project.
So RMS's political constraints on GCC were ultimately ineffective for the free software movement, because the very proprietary developers he was worried about found an alternative, and they're releasing code anyway.
RMS being "uncompromising" would be a virtue if he were effective and talented in his choices of where he's uncompromising. But he's not.
(There are other examples of this: the lack of free software strategy for the web because he has an uncompromising refusal to use the web and therefore to learn anything about it; the failure of Ogg Vorbis as a format because of the strong copyleft of its reference implementation, which the GNU website now mentions as a lesson to learn from and avoid; the relative lack of uptake of the AGPL, and the users who would have wanted it like MongoDB and Elastic instead choosing a non-free license; etc.)
- tsaloop 6y ago> LLVM as a serious competitor to GCC Sure, but then that should be used as the argument for removal and the argument should have been made 10 years ago and not now when it is very convenient.
- geofft 6y agoI firmly agree with that. Unfortunately it's hard to question a cult of personality. If you look in the linked threads, RMS himself acknowledged in 2015 that not accepting LLVM was a mistake - https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00594.html https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00... (and he says he didn't even know about the offer, but he doesn't address why he didn't know about the offer). In a functioning organization that cared about its mission, that ought to have triggered, at the least, a "blameless postmortem" about what failed, because allowing a non-free-software-friendly tech company to develop a serious free software competitor to GCC is just about the biggest strategic mistake the FSF (let alone GCC) could have made. (The HURD does work now, but it lost to Linux long ago. So that leaves GNU's flagship projects as just glibc - which is under the LGPL - and emacs, which is hardly core and which many hackers don't even use. The GNU System is at existential risk.) Why didn't it happen? Why did RMS just say, literally, "Oh well," and that was the end of it? Who - if anyone - is responsible for making sure that GNU is not extinguished because the world has changed since 1988 and a then-excellent plan did not survive contact with reality? Is it RMS, and why does it seem like asking that question is equivalent to questioning RMS as a person? There's a really good thread by Luis Villa on the general subject of the FSF's organizational failures here, and typing it to the "founder effect": https://twitter.com/luis_in_brief/status/1374038577059827714 https://twitter.com/luis_in_brief/status/1374038577059827714 Anyway, you ask about arguments from ten years ago. Ten years ago, as someone new to the free software community who attended in-person events and got drinks with people, I absolutely heard people deeply involved with the movement question particular facets of RMS's leadership (and not just his personal habits) in private. But they didn't say anything publicly, because they knew that criticizing RMS in public would make people see them as no better than a Microsoft shill or an "open source" sellout. If you dared to question whether RMS's leadership of the free software movement or even of any individual GNU project was effective, you'd be the person trying to compromise RMS's uncompromising views. So that leaves the current argument - that RMS's attitude is harming the project, as opposed to his specific technical or political decisions. Were it not for his attitude, those decisions could have been corrected by people better-equipped to analyze the specific situation than RMS. And were those decisions corrected, there would be no need to remove him. The need to remove him is the inability to safely criticize his decisions, i.e., his attitude and leadership style, which is what's at issue now.