[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


From: David Chisnall
Subject: Re: LLVM
Date: Mon, 3 Mar 2008 14:05:48 +0000

On 1 Mar 2008, at 18:07, Nicola Pero wrote:

They could also fork it, and keep their fork private.  Every 6 months,
they merge the mainstream changes into their fork, but never open up
their fork.  So they get your improvements, but you don't get theirs.
They have been doing exactly this with GCC for years! :-)

The difference is that with GCC they have to release their source code
when they ship the binaries, so you get a change to see their changes
and if you want you can merge them back into mainstream yourself. With a BSD-like license, they could keep them (or some of them) in their own
tree forever. :-(

And yet, they are developing LLVM in the main branch of the repository, while they were always consigned to a branch (I don't intend to go into the politics behind this decision, since it is very boring). Yes, a BSD license does let them be evil. At some point in the future, it might be worth their while to do so. Considering how many other companies are starting to get behind LLVM, however, I suspect that it will always be better for them to keep it out in the open.

Even without Apple, we still have a lot of people in the commercial and academic worlds working on LLVM, and it's very easy for new people to get involved. I had been following the project for a year or so, but didn't look at the code until Sunday. This week, I have had a nontrivial patch accepted. This kind of learning curve simply does not exist with GCC.

We could spend all day debating the possible things that could go wrong, but it's not productive. All of the GCC developers could die or be hired by Microsoft tomorrow, leaving no one who understands the code. It isn't very likely though.

Anyway, I understand you see it in a different way. Good luck with your new Objective-C runtime/compiler, and keep us up to date with your progress :-)

The runtime was finished (in as much as any project can ever really be declared 'finished') a few months ago, and is being incrementally improved. Quentin has done some work on it, and a couple of other people sent me small patches. I have written a paper about it, which has not yet been published (although I can send copies to individuals who are interested).

My code for generating Objective-C message sends was merged into clang on Friday night, so you can now compile tiny, trivial (not actually useful) Objective-C programs with it, as long as your class definitions are all from libraries (which are compiled with GCC). My next step will probably be to start working on class definitions. All of this has, so far, been done with the GNU runtime. I will work on code generation for my runtime later, when the GNU one is working.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]