Live data from Hacker News

Extracting the abstract syntax tree from GCC

lwn.net

71–80 of 112 posts

Re: Extracting the abstract syntax tree from GCC

#71

Earlier quoted context omitted.

> we all understand RMS clear, consistent position on the matter. Then why are "we" all still using his software (which was given a license to match his philosophy) and complaining when he maintains his "clear, consistant position on the matter" and refuses to compromise his beliefs. To use a poor analogy, it's like going to church and complaining when they talk about God. There are lots of other options out there fo…

The fundamental issue is that for RMS (and perhaps you?), using software is like going to church and accepting the the moral code of whomever produced that software. However, for most people, that is not the case whatsoever. My baker can have all sorts of moral codes that I don't endorse when I eat his bread. I don't support the FSF, I do support access to source code, and the freedom to extend the source code. Somet…

Perhaps a better (yet still poor) analogy would be going into an Islam Mosque and telling them to install some crosses.

Or complaining that your baker won't make bagels because he's doesn't approve of using lye on human consumables.

> The fundamental issue is that for RMS (and perhaps you?), using software is like going to church and accepting the the moral code of whomever produced that software

RMS and the FSF are pretty lenient in this case (there are licenses which literally wrap the use of the software in a moral code); you have no need to accept his moral code when you use the software. His licensing (and moral code) only matter when you want to change the code and distribute those changes.

Fortunately for all of us, there are plenty of licenses, and plenty of tools which use licenses which better match the "free with no restrictions whatsoever" point of view.

Re: Extracting the abstract syntax tree from GCC

#72
Stallman appears to make himself out to be a Capitalist with positions like this -- he simply takes profits in the furtherance of his cause rather than in dollars, and uses procedural controls like the GPL rather than technological controls like obfuscated binaries to do so.

That said, personally, I think the GPL has both helped and harmed the evolution of computing.

Re: Extracting the abstract syntax tree from GCC

#73

> It took many years before the GNU Compiler Collection (GCC) changed its runtime library exemption in a way that allowed for GCC plugins, largely because of fears that companies might distribute proprietary, closed-source plugins. Am I the only one who finds it ironic that purported "free as in freedom" software is/was being held back because of fears of what someone can do with that freedom? Though once useful, the…

The one freedom the GPL doesn't have is the freedom to take the freedom away. In BSD and similar you easily can. It is the taking away of freedom that is at the crux of all this.

Re: Extracting the abstract syntax tree from GCC

#74

Its hard for me to come up with a way in which this is not RMS advocating restricting the freedom of users of GCC. If he is so opposed to proprietary software using GCC output why not use a license that prohibits that? Its not even too late for new versions since the FSF owns the copyright to all GCC code.

That's the great irony of the copyleft movement -- it's about restricting what people can do under the guise of "freedom". RMS doesn't want people to "misuse" his software, but his version of misuse is "use it for a purpose that doesn't advance GNU." He's willing to cripple his software so that some theoretical entity that doesn't actually exist and does not agree with his politics can't misuse it. On a practical lev…

It is ironic, but not necessarily nuts. Another case of removing freedoms to promote freedom is much of criminal law. Why does the state restrict my freedom to kill people?

When your freedom reduces the global "freedom", the sum of everyone's freedoms after your action, it might make sense to prevent it.

In spite of, and because: freedom.

Not saying the way RMS is doing it is good, that's a different matter. But restricting freedom, for freedom? Yes, very possible.

RMS may be nuts, that doesn't stop him from being right. Which, by the way, he turns out to have been on many more counts than some of us initially thought.

Re: Extracting the abstract syntax tree from GCC

#75
post #69

Typically, it's not a good idea to argue with RMS. The pragmatic approach would be to just write the plugin for GCC, and keep it separate. GNU can certainly control what is mainlined, but the GPL is not violated simply by creating a GPL plugin that provides a useful output target. If Emacs were enhanced to support a standardized file format which contains the relevant information, then it could accept this format fro…

You're ignoring that a lot more work needs to be done in GNU Emacs, and that's another program under RMS's stewardship, and one where he could be much more obstructive. The only outstanding threat to fork that I know of is coming from a GNU Emacs maintainer, to I believe fork GNU Emacs. Again. Oh boy, again to support C++ development! How could I have forgotten that?!?!?!!! But you're right, arguing with RMS on this…

Actually, I didn't ignore that in my original comment. I mentioned that the GNU Emacs work should make use of a file format which is independent of the plugin work. There is no reason why GNU would refuse to mainline such an enhancement if it had merits outside of the GCC dependency.

RMS wishes to restrict possible proprietary use of the GCC front-end. That's his prerogative. However, he can't prevent the existence of such a tool. He can only prevent it from being mainlined.

EDIT: Also, it may be easier to make a case for mainlining if the functionality is demonstrable. As I've learned throughout my career, it's often better to ask forgiveness than to ask permission. RMS excels in the idealistic and theoretical. If he has to consider the practical -- such as whether to mainline already existing functionality -- then he may find ways of suggesting changes to the plugin than ways of saying "no."

Re: Extracting the abstract syntax tree from GCC

#76

The summary from this seems to be that RMS is against having a non-free tool consume the output of a free tool? Is that an accurate summary? If so this seems like a very strange position to take to me.

You have to understand the perspective of the FSF. They view non-free software as fundamentally morally evil. In the same way that most people today view slavery as fundamentally wrong. The comparison to slavery is one RMS and the FSF often make themselves. To extend the analogy: if picking cotton was only economically viable if done with slave labour, then most people would agree we are better off not picking cotton…

In his inimitable style, Theo de Raadt, extremely annoyed by a 2007 effort to GPL a driver that OpenBSD reverse engineered with much sweat, notes that RMS has been perfectly fine with GCC having code to run on, and built binaries for, closed platforms....

This GCC stuff is very much a shades of grey situation in practice.

Re: Extracting the abstract syntax tree from GCC

#77
post #41

Earlier quoted context omitted.

> the right to look at every single detail of GCC and make it work better for yourself. And yet, the referenced discussion breaks down into RMS on one side and people who want to make gcc work better for themselves on the other.

What's the term for a program that's deliberately crippled to prevent you from doing what you want? Defective by design?

Defective by Design is a FSF commentary about about how you should be able to use digital media in the same ways you would use physical media.

They say nothing about the existing limits on your ability to re-distribute software or media (in fact, the FSF and GPL depend on copyright protections).

Re: Extracting the abstract syntax tree from GCC

#78
post #69

Earlier quoted context omitted.

You're ignoring that a lot more work needs to be done in GNU Emacs, and that's another program under RMS's stewardship, and one where he could be much more obstructive. The only outstanding threat to fork that I know of is coming from a GNU Emacs maintainer, to I believe fork GNU Emacs. Again. Oh boy, again to support C++ development! How could I have forgotten that?!?!?!!! But you're right, arguing with RMS on this…

Actually, I didn't ignore that in my original comment. I mentioned that the GNU Emacs work should make use of a file format which is independent of the plugin work. There is no reason why GNU would refuse to mainline such an enhancement if it had merits outside of the GCC dependency. RMS wishes to restrict possible proprietary use of the GCC front-end. That's his prerogative. However, he can't prevent the existence o…

"There is no reason why GNU would refuse to mainline such an enhancement if it had merits outside of the GCC dependency"

Except everyone who knows RMS well enough knows he'd be extremely obstructionist and indeed GNU would refuse to maintain/mainline such an GNU Emacs enhancement. That's one of the reasons I believe the GNU Emacs maintainer threatened to fork it, he obviously knows RMS well enough.

(So do I in the 1979 to late '80s period, and he's not changed in this sort of thing. And he was reliably reported to be like this before I showed up on the scene, by among others one of the two initial ITS TECO EMACS beta-testers. And others I knew less well.)

Re: Extracting the abstract syntax tree from GCC

#79

Stallman appears to make himself out to be a Capitalist with positions like this -- he simply takes profits in the furtherance of his cause rather than in dollars, and uses procedural controls like the GPL rather than technological controls like obfuscated binaries to do so. That said, personally, I think the GPL has both helped and harmed the evolution of computing.

The entire point of Copyleft was to exploit copyright against itself.

Re: Extracting the abstract syntax tree from GCC

#80

Earlier quoted context omitted.

What's the term for a program that's deliberately crippled to prevent you from doing what you want? Defective by design?

Defective by Design is a FSF commentary about about how you should be able to use digital media in the same ways you would use physical media. They say nothing about the existing limits on your ability to re-distribute software or media (in fact, the FSF and GPL depend on copyright protections).

But it sure sounds to me like the shoe fits. Enough that GCC is now existentially threatened by LLVM. ADDED: and I believe this is ~95% because of RMS's stewardship of the project (which already semi-died and was replaced by a fork), not the GPL, which is not a bad fit for a complete work like a compiler.
Post reply on HN