But then it sounded like he wanted multiple functions in such a library so that the AST is never revealed in its entirety. (As if someone clever couldn't find a way to use them all and piece the AST together?)
The underlying problem is this elephant in the room: no matter how you set up the access to the AST, it will be legal for someone to make a GPL-ed utility program which uses that API, and dumps the data to standard output. That utility can then be used in a proprietary development ecosystem, the same way that GNU Bash, Make, CoreUtils, Awk and everything else can be used in a proprietary ecosystem.
The subtext behind RMS's arguments is to make it difficult to write such a utility such that it pieces together the entire AST. That's probably why he was vehement on the techincal solution.
I'm amazed Stallman just doesn't come to the conclusion "so what?" like everyone else.
If someone user finds value in GCC just as a parser, maybe that's better than them not finding any value in it at all.
Say someone uses an IDE, whereby GCC is used to help with completion, refactoring and all that. But the actual product that is built for the target uses some proprietary toolchain (e.g. licensed ARM stuff, run on Windows). The back-end parts of GCC aren't used at all. Well, "so what?"
That's like saying it's a crime someone proprietary app only used malloc and strcmp from glibc, but rolled its own printf.
What if GCC was used to compile the code, but only to obtain diagnostics and maybe run some unit tests? That happens, and I suspect it really bugs Stallman.
The underlying problem is this elephant in the room: no matter how you set up the access to the AST, it will be legal for someone to make a GPL-ed utility program which uses that API, and dumps the data to standard output. That utility can then be used in a proprietary development ecosystem, the same way that GNU Bash, Make, CoreUtils, Awk and everything else can be used in a proprietary ecosystem.
The subtext behind RMS's arguments is to make it difficult to write such a utility such that it pieces together the entire AST. That's probably why he was vehement on the techincal solution.
I'm amazed Stallman just doesn't come to the conclusion "so what?" like everyone else.
If someone user finds value in GCC just as a parser, maybe that's better than them not finding any value in it at all.
Say someone uses an IDE, whereby GCC is used to help with completion, refactoring and all that. But the actual product that is built for the target uses some proprietary toolchain (e.g. licensed ARM stuff, run on Windows). The back-end parts of GCC aren't used at all. Well, "so what?"
That's like saying it's a crime someone proprietary app only used malloc and strcmp from glibc, but rolled its own printf.
What if GCC was used to compile the code, but only to obtain diagnostics and maybe run some unit tests? That happens, and I suspect it really bugs Stallman.