Live data from Hacker News

Extracting the abstract syntax tree from GCC

lwn.net

31–40 of 112 posts

Re: Extracting the abstract syntax tree from GCC

#31
post #12

Earlier quoted context omitted.

The issue is not that the plugin wouldn't be gpl; it would. The concern is that the AST dumped is not code, but an artifact, and thus can be used by proprietary software and make proprietary software better. I could write a program that compiles your gcc-produced AST for a new architecture, and not GPL it because the AST itself probably isn't GPL protected. That's the fear.

The fear that someone else might be "better" than you so you're intentionally going to make it impossible for them to even compete is a really dumb argument. Imagine if this was done in sports. And that seems to have been the whole intention behind this. Make sure no non-GPL backend can be used because god forbid it's better than ours. The shame!

The fear is not that proprietary code will become better than FOSS code. The fear is that proprietary code will become better than previously-existing proprietary code. RMS considers closed-source code to be so immoral, that open-sourcing code in a way that proprietary code may potentially derive some benefit from it is immoral.

Re: Extracting the abstract syntax tree from GCC

#32
post #4

As much as I love GNU tools "universe", I feel that this ideological position of RMS regarding GCC future is hurting more libre software than it does good. That's a bit saddening.

The GPL principle of "all your code belongs to everyone" is infuriating to say the least, and the efforts of those to force this on people is even more damaging to the open-source community.

Free, open-source software has helped considerably in the last twenty years. That's why I think licenses like MIT or BSD help keep software free and truly open: Use it for what you see fit without any obligation on your part.

That's free.

Re: Extracting the abstract syntax tree from GCC

#33
post #21

Earlier quoted context omitted.

The fear that someone else might be "better" than you so you're intentionally going to make it impossible for them to even compete is a really dumb argument. Imagine if this was done in sports. And that seems to have been the whole intention behind this. Make sure no non-GPL backend can be used because god forbid it's better than ours. The shame!

> The fear that someone else might be "better" than you so you're intentionally going to make it impossible for them to even compete is a really dumb argument. Imagine if this was done in sports. It is done in sports. Most sports forbid you from taking drugs that enhance your performance, or are seggregated by sex in order to account for the "natural" (?) unequal distribution of muscular mass across sexes, because we…

"but he's been considered a fool in the past when he was more of a Cassandra."

But he's also now considered a fool in the past when he indeed turned out to be a fool. GNU has 3-4 marque projects, GCC etc., Gnu Emacs, userland, and HURD, and he has total control over at least the first two (and he personally has used the third only for ill, "GNU/Linux").

His stewardship of them has been all but catastrophic, he could have earned a lawsuit that he would have lost from how he started GNU Emacs (fortunately the rightsholders were menches). Both have had painful forks and are facing that again.

Re: Extracting the abstract syntax tree from GCC

#35
post #28

Earlier quoted context omitted.

llvm cant build a working Linux kernel.

It can. Patches are here: http://llvm.linuxfoundation.org/index.php/Main_Page

It can't if the phrasing is tightened:

"llvm cant build a working Linux kernel from unmodified sources, using the .config from a major distribution"

It's getting closer; I believe it won't be long until clang/llvm can build a Linux kernel from unmodified sources (getting Linus to accept the remaining patches is a valid tactic).

Re: Extracting the abstract syntax tree from GCC

#36
post #13

He played this game with precompiled headers a decade ago and there's STILL barely any support for it in the GNU tools. When a debate around implementing precompiled headers ten years after everyone else gets them requires lawyers to get involved, maybe freedom isn't ringing as clearly as we were promised. There's something fundamentally weird about the whole dev ecosystem wrt developer productivity. Next time you're…

The tools really aren't that bad. There are many common open source c projects, most notably the linux kernel, which can easily use all your cores and compile tens of objects a second.

Compiling crazy c++ codebases are painful for everyone, and in fact were a primary inspiration for the handful of people at Google who created Go, with a primary goal of fast compiles, at some reasonable expense to disk and run-time efficiency.

Re: Extracting the abstract syntax tree from GCC

#37
post #13

He played this game with precompiled headers a decade ago and there's STILL barely any support for it in the GNU tools. When a debate around implementing precompiled headers ten years after everyone else gets them requires lawyers to get involved, maybe freedom isn't ringing as clearly as we were promised. There's something fundamentally weird about the whole dev ecosystem wrt developer productivity. Next time you're…

Because RMS' stance has nothing to do with your productivity, and has everything to do with giving you the right to look at every single detail of GCC and make it work better for yourself.

If he did open it up for a proprietary component to make its way into GCC (while avoiding the licensing terms), and it becomes mainstream, you have lost that right to view and modify the software that runs on your box, and that is something he does not view as acceptable.

Ultimately, it's his decision; it's based on his work, and the contributors agreed to his terms. That he makes it freely available with the condition that it remains freely available is a bonus, not a right.

Re: Extracting the abstract syntax tree from GCC

#38
post #27

Earlier quoted context omitted.

llvm cant build a working Linux kernel.

I'm pretty sure no one is working hard to fix that right now because GCC does, and for many many more backends, especially solidly. We'll really know things are at a tipping point when LLVM starts to acquire a bunch of solid back ends. I will personally count it as all over if/when Atmel AVR 8 bit is supported.

Preliminary port of LLVM to AVR does exist. http://sourceforge.net/projects/avr-llvm/

Re: Extracting the abstract syntax tree from GCC

#39
> 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 GPL and especially the AGPL are harmful, restrictive licenses that have outlived their usefulness and in no way represent "freedom".

Re: Extracting the abstract syntax tree from GCC

#40

> 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…

[deleted]
Post reply on HN