4 ms·
I really doubt that any free software project would intentionally make its code harder to deal with. What would that even accomplish? People ripping off GPL'd c
by tedks 12y ago
I really doubt that any free software project would intentionally make its code harder to deal with. What would that even accomplish? People ripping off GPL'd code aren't distributing the source, so your obfuscation isn't going to be noticed. The code GCC outputs is irrelevant to licensing; RMS decided very early on that he wasn't going to try to make GCC only compile free software.
Really, I think the GNU toolchain suffers from being an early adopter of internationalization (since RMS was always committed to Unix saying "Hello, world" and not "Hello, America") and as such has a lot of cruft for inserting translated strings into things like cp.
But GCC is also just old. That's far more likely than a GPL conspiracy story.
- arnsholt 12y agoI can't find it right now, but there's a pretty interesting thread from the GCC mailing lists where RMS states explicitly that parts of GCC are very tightly coupled, by design, precisely to make it hard to reuse the code-generation backend in non-free software. I believe the rationale is that such a reuse would be very hard to find, much less prove conclusively.
- tedks 12y agoI can't believe this is true, given that the FSF was able to get Apple to release it's Objective-C implementation without even a lawsuit. (For some background, search objective-c on this page: http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-...)
- CJefferson 12y agoNo, this really is true, RMS wanted to make sure the GCC front ends and back ends could not be seperated, because he didn't want people using the front end for other projects. This has (in my opinion) hugely set back open source software, and is why everyone new uses clang for any situation where they want to parse C++ -- because g++ is purposefully designed to make it painful to just get a C++ parse tree. Here are the words from the man himself: https://gcc.gnu.org/ml/gcc/2005-01/msg00008.html https://gcc.gnu.org/ml/gcc/2005-01/msg00008.html
- riffraff 12y agomaking two parts not separated does not imply the code is obfuscated. Also, the gcc maintainers have in the meantime moved away from that policy, IIRC.
- deng 12y agoYour information is old. You can easily access the C++ parse tree by writing a gcc plugin. This is possible since gcc 4.5 or so, but somehow nobody really noticed since everyone just stared at the new kid on the block. You might say the tree itself isn't easy to deal with, which is true, but that is just because the code is very old and things were done differently back then (hint: union of structs). There is even a very nice tutorial which explains how to do this: http://www.codesynthesis.com/~boris/blog/2010/05/03/parsing-cxx-with-gcc-plugin-part-1/ http://www.codesynthesis.com/~boris/blog/2010/05/03/parsing-...
- deleted 12y ago[deleted]