Tuesday, December 22, 2015

On RMS and Clang

So for those of you not in the know RMS is the screen name for Richard Stallman, notorious "free software" firebrand and overall fanatic.
I don't like Richard Stallman.
My main gripe with Stallman is his total single-mindedness on his particular brand of open source to the detriment of his own goals. Stallman believes that all open source licenses should be covered by one of the Gnu licenses, of which there are three, the LGPL which mandates that if you modify it you must open source your project under LGPL or GPL or at least open source the modified version if you dynamically link to it, and the GPL and AGPL which mandate that if any code is anywhere in the source tree or dependency, you must release under the same license. Its a little more complicated than that but that's the gist of this. Recently I found an old email on the gcc mailing list which exemplifies this. See, Stallman believes that everything in a system should be open source and so he set up a project called GCC to make a compiler along with a bunch of other projects. GCC is licensed under the GPL which should in theory protect it from being copied into proprietary projects. This wasn't enough for Stallman though and he set up the project so that it was really hard to reuse any code from GCC to make other compilers.
Big mistake. Coders hate when stuff if obfuscated from them.
See, there's a group in academia that's interested in proving interesting things about programming languages. Naturally, these guys write compilers all the time, so obviously they're going to want a decent base to work off of. Now they could have used GCC but lo and behold, GCC sucks for making anything that's not its own project with significant rewrites to the codebase. So, these guys went and made LLVM. LLVM is like GCC, only with extensions so it is easy to make new compilers with LLVM and LLVM uses a permissive license. Stallman likes to pretend that the reason for LLVM's success is that it has a permissive license. He completely overlooks the fact that he could have ended up with the same result in GCC if he wasn't such a paranoid ass. Not only that, he pretends that the LLVM community owes him something because he fights for "freedom". It just makes him such an easy target since he acts like a clown, and average programmers with an interest in open source like me suffer. Stop hurting the entire movement Stallman.

No comments:

Post a Comment