RMS Objects To Support For LLVM's Debugger In GNU Emacs's Gud.el
An anonymous reader writes with the news that Richard Stallman is upset over the prospect of GNU Emacs's Grand Unified Debugger (Gud.el) supporting LLVM's LLDB debugger.
Stallman says it looks like there is a systematic effort to attack GNU packages and calls for the GNU Project to respond strategically. He wrote his concerns to the mailing list after a patch emerged that would optionally support LLDB alongside GDB as an alternative debugger for Emacs. Other Emacs developers discounted RMS' claims by saying Emacs supports Windows and OS X, so why not support a BSD-licensed compiler/debugger? The Emacs maintainer has called the statements irrelevant and won't affect their decision to merge the LLDB support.
... especially when someone acts freely and in a way you object to.
Lets see what my grandmother wants while we're at. Her opinion is just as valid.
If your grandmother is a developer producing useful software available at no cost, used by millions all around the world, and both articulates a philosophy and draws up a license facilitating useful systems such as every Linux distribution, starts a foundation known around the world to advocate said philosophy and host said software, and encouages many people (even those who do not agree) to think about and discuss such matters ... then yes at that point I will begin to care about her opinion on this subject.
If you don't like RMS that's fine, if you think he's completely wrong that's fine too, but to dismiss his views the way you are doing is weak, cheap, and shows that you lack the emotional maturity to separate your personal feelings from the actual subject at hand. I hope that pointing this out will be useful to someone else, because as for you, I doubt I could reason with you in an adult manner. The really annoying part is: so many people are like this that they think it's normal.
If LLVM were a Microsoft product instead of an Apple product
LLVM is not an Apple product. It's an open source project which Apple, amongst others, incorporate into their products, and to which they contribute source improvements.
Right and Android LLVM is not an Google product. It's an open source project which Google, amongst others, incorporate into their products, and to which they contribute source improvements.
No, it's not throwing tantrum. RMS has a philosophy that users of software should have certain freedoms / rights (use, study & modify, redistribute, distribute). That's the gist of GPL and why he founded GNU. BSD-style license does not guarantee these freedoms, and Stallman sees wider adoption of projects using those licenses as a threat to free software. I do work on BSD-licensed projects, but I certainly do share his fear that this poses serious threat to free software in the long run.
I don't think it's a conspiracy or somehow widely orchestrated effort - more likely it's simply easier not to guarantee those rights and thus more attractive for commercial companies (participating in those projects), but I believe the threat to the freedoms is real.
GPLv3 started because RMS saw that companies were using the GPL in a manner that was compliant to the letter but not to the spirit. Back then, the GNU haters laughed at him, as usual, because "who would want to run code on a set-top box". Nowadays, the vast majority of the end-user devices are tivoized (Android, Apple, Microsoft, ...), and users can't do anything with the code that runs on them, including fixing security bugs and auditing it to find out what it does with all their personal data, let alone (God forbid!) run their own programs on it. So the introduction of the GPLv3 wasn't a whim as you are implying, it was actually sensible and farsighted.
What rights do BSD contributors lose? All the community code exists, the community can continue without the commercial changes, the community is not required to use some commercial fork. They lose nothing if some contributor chooses not to give back.
They lose the rights to take advantage of the improvements that the commercial contributor has done to their code, while the commercial contributor does not lose the right to take advantage of the improvements that the free contributor has done. You may agree or disagree with this, but it is objectively a loss.
Furthermore, users of GPL'd code decide not to give back at times too. They can use some a commercial fork internally and benefit from community work and not give back.
The point is that with the GPL they cannot commercially fork code written by me. Of course they can do whatever they want with their own code.
Also, various commercial users of BSD code have a pretty good track record of contributing back.
This is irrelevant to the discussion. When people make laws against theft, they don't think about the fact that most people have a pretty good track record of not stealing. Laws (and contracts) must be written with the worst case in mind.
What rights do BSD users lose?
100% pragmatic example: GPLv3 bash has a serious bug (any reference to reality is purely intentional). GPLv3 users patch, recompile and they have lost no right. BSD-licensed phone firmware has a serious bug. Users lose the right to make use of the phone they bought and not be pwned by hackers while doing that.
The GPL does *not* offer greater freedom, it creates restrictions to force behaviors it believes benevolent. Forced benevolence may or may not be a good thing but it is not freedom.
I believe that my rights to own property and to live are freedom. They exists only because other people are "forced to benevolence", in particular not to steal my stuff or harm me. Try to convince me that this is not freedom.
Translated to the software world, can you argue that the ability to fix the code of a program that I use is not a freedom for me? I'm free from bugs. I'm free from hackers. I'm free to add new features. I'm free both in a practical and philosophical sense.
Also, I should point out that the LLVM/clang situation is a bit more complex. If I recall, LLVM came about because the gnu toolchain deliberately obfuscates it's output and interoperability interfaces with other tools even within the toolchain. This strategy was chosen because the outputs of the individual software tool in the toolchain were not, and could not be protected by the GPL (any version). It would have been possible for a proprietary product to be developed that didn't link to gcc (or another part of the toolchain) to take the useful output of gcc (e.g. a parsed abstract syntax tree) and use it to any number of cool things. The product could still be distributed with gcc (and the required accompanying notices) but the rest of the code would be locked up, because it doesn't link to gcc, only depends on it at runtime. This violates the spirit of the GPL which is not only to make software free, but to keep it free.