On środa 12 marzec 2003 01:23 pm, Lars Gullik Bjønnes wrote:
> Kuba Ober <[EMAIL PROTECTED]> writes:
>
> I'll have a look at aegis.
>
> At first glance it seems to be similar to BitKeeper? What are the
> differences? (And why doesn't Linus want to use aegis?)
>
> I'll go through the documentation.

Probably because Aegis, although a very cleanly and understanably coded 
project, is essentially one man's work for most part. If something happens to 
Peter Miller (<insert your favourite divine being> forbid), Aegis becomes (at 
least for a while) a project without maintainer, and without architect's 
support. I guess Linus had to use something that has strong commercial 
backing, and I understand that decision. And, because Bitkeeper has a company 
behind it (rather than a single person in case of Aegis), the requests for 
improvements and fixes can be integrated quicker. Although Aegis is open 
source and GPL, it's still currently being developed mainly by one person.

One of the reasons why it may be unpopular is that Peter hates recursive make 
:), and rightly so. He wrote a very educational article why recursive make is 
harmful. I hate recursive make too, so I don't use it :). I guess that it's 
hard for people who are used to autotools and recursive makefiles the 
autotools generate to understand that there are better things to do with life 
than hunting brokenness which is handled all right by simpler and more 
powerful tools (as in automake+gmake replaced by cook).

My guesstimate is that projects of LyX's size and developer diversity, if 
moved from CVS and automake (let's leave autoconf in for the time being, it's 
needed for some stuff) over to Aegis and Cook, can save about 5% of recurring 
developer time, after a short "adjustment" period of a 2-3 months, when 
productivity might suffer while people get used to better tools and forget 
limitations of the previous tools ;-).

Personally, I'm lucky not to need autoconf for my projects (I build on latest 
RedHat and on Windows only), so I'm just using cook and Aegis, and it works 
fine for both linux and windows builds. Windows builds need some wine 
trickery, but once you do it and put into scripts, with Aegis multiplatform 
support it becomes a breeze. Aegis will even tell you that say an integration 
build succeeded on Linux/GCC platform but failed on Windows platform, and 
then you're back to workarounds for your not-so-favourite Windows compiler 
:). Oh, I use BCC55, so I'm not complaining too much -- it was much worse 
with VC6.

Cheers, Kuba Ober

Reply via email to