axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Aldor


From: daly
Subject: [Axiom-developer] Aldor
Date: Sun, 16 Oct 2011 14:14:36 -0500

Ralf,

> PS: Yes, I'm still hoping that one day Aldor becomes free. :-)

I think you over-estimate the value of a "free Aldor" and underestimate
the costs.

Aldor is a fairly complex compiler. It has its own version of various
unix utilities (e.g. tar-like files). It has an "interesting" layering
that involves its own build system. The internals are not well documented.
Worse yet, it serves 3 masters: it compiles to binary, it has a built-in
interpreter, and it compiles to code that you want to run in AXIOMsys.

So if Aldor became "free" as of today your problem is only beginning.
You would be at the same state that Axiom was in 2001, a huge pile of
code without the original authors involvement (well, not counting myself).

As you can see, Aldor is currently "abandon-ware" and it is suffering from
code-rot. Releasing it as open source will do nothing to stop the rot. The
compiler will need to change to track changes in the AXIOMsys image (as you
can already see, this can be painful to debug). AXIOMsys changes might have
incompatible syntax and semantics introduced which will really cause havoc.

Somebody would have to make maintaining Aldor their primary life
goal. I can tell you from experience that this is extremely costly in
terms of time. There is much to learn, there will be hard bugs to find
and fix, you will always be "chasing" AXIOMsys compatible syntax and
semantic changes, and the original authors will not be available to
answer questions (in Axiom's case, some of the authors are dead).

You will be faced with hard choices such as remaining compatible with
"old" Aldor code or embracing the "new" Aldor code that follows
AXIOMsys. Of course, you'd have to rewrite the compiler to support the
"new" semantics in the binary, interpreter, and cross-compiler. That
would be a lot of hard work, especially if you disagreed with the
"new" semantics anyway. You will have 2 AXIOMsys images to chase which
might have incompatible semantics as the projects don't make an effort
to communicate. Fortunately, Axiom has given up on Aldor and the
support code no longer exists so life is just a bit easier.

You should have a realistic view of the time involved as just doing the
compiler maintenance will take up a large chunk of your life. I spend
about 20 to 30 hours a week and all of my vacation time working on Axiom.

Axiom's changelog lists every file changed (since August 30, 2003
which skips a couple years of history before I introduced changelog). 
It has 13357 lines over 2969 days so far, netting out to 4.5 files 
changed per day on average.  That doesn't include the many thousands 
of emails in the mailing list, some of which took hours to compose.

If you're even mildly successful there will be people who disagree
with your goals and will cause you many sleepless nights, potentially
ending in forks. 

Making Aldor "free" will not keep it alive. You'll discover, as I
have, that keeping software alive means that people will be able to
maintain and modify it after you leave the project. Ultimately this
comes down to documentation. And the best tool for that, in my
opinion, is literate programming. I think we agree on this point. But
the hardest part of literate programming is the documentation. Even in
new code (such as the algebra being added in the last few years) there
is no real effort to document the theory or the issues involved in
reducing the theory to code. The tools are there but the will is not.

Oh, and there are other costs. I maintain 2 servers (axiom-developer.org
and axiom-developer.com) which costs about $300 per month. I travel to
conferences on my own money. I buy books (e.g. Luke's Special Functions
which set me back about $150) that are expensive as I don't have access
to a good library. I buy hardware (a high end laptop and an SSD drive)
to support continuous builds for testing. So it costs me between $4000
and $6000 per year to maintain Axiom (which is challenging as I'm currently
unemployed). Thus "free Axiom" has cost me between $40k and $60k over the
last 10 years. If you're at a university you can bury these costs and also
use students but I don't have those advantages. So be prepared to pay
actual cash to keep up your "open source hobby".

I'm impressed with your tenacity but be careful what you wish for.
It will cost you a huge chunk of your life. It will make people you
respect end up disliking you. Even Linus Torvolds has his detractors.

Tim






reply via email to

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