[Aboriginal] qcc

Rob Landley rob at landley.net
Mon Oct 27 18:52:15 PDT 2014

Sorry for the delay replying, I have a gazillion open windows in 8
desktops right now...

On 10/21/14 12:18, stephen Turner wrote:
> one reason im curious about your qcc project is I feel gcc has gown
> beyond its scope.

I'm sure I've expressed my opinon on this topic before, but a quick
google is just finding a couple offhand comments:


Here's what happened:

1) gcc reduced its relevance due to copyright assignment and tight
coupling, as described in:


Note that Richard Stallman _explicitly_ said that he forced gcc to be a
tangled monolithic hairball because he feared proprietary programs would
separate the frontend from the backend and replace one or the other.
(Note: LLVM did exactly this _anyway_, using a gcc frontend for a new
code generator, then replacing the frontend with clang.)

2) Then gcc relicensed itself GPLv3 and hit the whole range of issues I
covered in my talk here:

A couple of the high points of which are at:


The result of _that_ was Apple sponsoring LLVM development and freezing
on gcc 4.2.1 and binutils 2.17 until they were ready, and removing all
GPL packages from MacOS X:


Meanwhile BSD relaunched PCC development,


Plus some oddballs like qualcomm contributing to open64 and so on, which
seem to have receded again.


I gave a talk about the licensing change last year. It did more to
overshadow mainline gcc development than anything since the egcs fork:


The gcc developers were _so_ pissed about everybody sticking with the
last GPLv2 releases of gcc and binutils (like Aboriginal is doing, and
BSD, and Apple, and...) that they deleted original binutils 2.17 source
off their website and replaced it with a tarball containing GPLv3 code:


And of course the FSF fought it in all sorts of other ways, such as
announcing that GPLv2 only was no longer an allowed license on their
"savannah" sourceforge clone (but bsd and apache licenses were):


When musl 1.0 happened and some twit objected to it being BSD licensed
and hoped it would change _to_ gpl, I went off on the guy with three or
four long link-filled posts. If you want research aboutwhy I think the
GPL has outlived its usefulness, start at:


3) gcc decided to rewrite itself in C++:


Which took away the one advantage they still had over llvm.

At this point, building the linux kernel with llvm is an official Linux
Foundation project:


> this may not actually be the case however i feel GCC
> should only be a c and c++ compiler (Its variants like obj c is
> acceptable in my mind) and i would very much like to see someone not
> only rebuild GCC and scale it back to the C,C++ family of code but also
> change the licensing as I have grown rather un-fond of anything
> free-software-foundation affiliated after the busybox scandals.

I have... opinions. :)

I've also written at great length about how calling C++ a good language
because it contains C is like calling a mud pie a good beverage because
it contains an entire glass of water.


The hard part of all this is _summarizing_. I can talk your ear off for
hours about these things, but if you want the elevator pitch, I have to
stop and think for quite a while about what to leave _out_.

> I actually would like to see more projects take your licensing mentality
> with toybox, while yes commercial products would be created from it and
> resold you would also receive support from some as well who had that
> vested interest in seeing it succeed. 

Worrying about "oh no, somebody will clone my thing"... that falls under
"welcome to the internet". If it's open source, on a webpage, and
reasonably maintained there's no _value_ in forking it.

Ok, somebody will build a windows binary, repackage it with adware or
malware, and put it for download (or even try to sell it). But that's
basically just Windows. They'll do that to stuff like VLC which is
GPL/LGPL already:



> For a moment i looked at the BSD kernel and line of code but my
> experiences with BSD were not happy ones as it frequently corrupted the
> file system and felt more like open source windows then locked down unix
> to me.

My experiences with BSD haven't been happy either:


I keep periodically trying, but it's not really a priority at hte moment.

> For a compiler I considered clang but it uses too much code and programs
> and seems to be a more bloated gcc with a better license.

It would be really nice if pcc amounted to something.


Especially if some variant of cfront (enough to build llvm) was


Alas, llvm overshadowed that enough they're down to one part-time
developer actually working on it. Still, it's a possibility.

> Am i missing a nice project in regards to replacing gnu make, gcc, and
> binutils? Im also interested in a diet linux kernel if anyone has heard
> or seen such a thing. (not counting the 2.6 series)

I want to do qcc because there's no _simple_ C compiler right now. I
have permission from Fabrice to BSD license his code (I should ask if my
"zero clause" bsd counts :)


But since toybox relaunched I just haven't had time to work on it. This
entire weekend was eaten by sed and I got like another 1/4 of it done...

> Thanks all,
> Stephen



More information about the Aboriginal mailing list