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.
There's a little more than is being reported. Here's some other RMS lines in the same thread:
First we have:
"More precisely, Apple intends LLVM and Clang to make GCC cease to be a
signal success and a reason for all sorts of companies to work on a
compiler that always gives users freedom. That would be a victory for
Apple and a defeat for freedom.
I don't know what LLDB is, or what it might do. I am going to find
out."
That's a little bit paranoid, but it is still a cautious statement.
Then:
"This question is a small part of a big issue which is more or less bad.
I want to find out what it is, and think about it. Please do not ask
me to rush to a conclusion without finding out what is happening."
Again, in all of his posts he mentions wanting to discuss it a bit more. RMS is pretty incendiary, eccentric, and often does or says crazy shit but... in this case it sounds like he said something alarmist to get attention and try to get some discussion, without stamping his foot down or flipping his shit. That he's being selectively quoted to make news is bad juju.
Take your time. But whatever you find out is irrelevant to whether or not the Emacs maintainer will accept LLVM support into gud.el, at least as long as I'm the maintainer.
I think I like him.
#DeleteChrome
Well, it is, but it does sod all to protect that openness, so BSDed software often ends up less open by the time you actually get a copy of it.
The only stuff the GPL doesn't let you do is remove other people's freedom. That should never be a problem unless you were planning to do that in the first place.
Ah, Open Source infighting: "We're not the People's Judean Front! We're the Popular Front for Judea. The People's Front is over there".
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.
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.
BSD licensed software allows someone to take it, modify it in some meaningful way, and not share those changes back with the community at large. In that sense, it is possible for software licensed under a BSD license to lose the freedom it had. The developers did not lose any freedoms, the source did. GPL does not force you to be benevolent, it just requires that if you want to use GPL'ed software that your contributions remain benevolent (to use your term). If you don't want to, then chose some other solution, no one is forcing you to use GPL.
Both licenses have their strengths and weaknesses. Both cater to different needs and are appropriate for different (possibly overlapping) uses.Neither is a one size fits all, and neither is better than the other.
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.