Contents | < Browse | Browse >
=========================================================================
== Call to Arms: Rewrite the Amiga OS! By: Maarten Ter Mors ==
=========================================================================
On comp.sys.amiga.misc, a discussion has been going on for some time now
about whether or not to do something about the rather sad state of the
Amiga today. The buyout is taking ages and even when it finally will be
concluded, the future will remain a big question mark: which machines will
be produced? Will the first year be exclusively devoted to making fast
money with volume sales of the CD32? When will the first new Amiga come
out, 1996? How about the high-end machines? Will the new Amiga run
Windows NT?
I think we can all agree that the OS is the Amiga's most striking feature
today. Of course there are great benefits in video, with the standard 15
kHz display frequency, but apart from that, a lot of the Amiga technology
is getting a bit long in the tooth. While the rest of the world is moving
on to 64-bit graphics cards, RISC and God knows what else, the majority of
Amiga users is stuck with ECS or AGA, a 32-bit processor at best and
16-bit sound if they're lucky.
So what we intend to do is rewrite the OS. No, seriously. At first it
will just be a replacement OS for Amiga computers, but once we've got it
all finished in a portable language, it's a piece of cake (by comparison)
to port it to any other hardware. Just think of the processing power of a
DEC Alpha, combined with the elegance of the Amiga's operating system.
However, as you guessed, this is not going to be a trivial task. Right
now, about a week after a careful inquiry in c.s.a.misc, we have the
support of a small number of programmers, two, possibly three,
coordinators of whom two could also do some programming and a very fast
net site to send mailing lists from, set up an FTP site etc. However,
this is not nearly enough; we're not going to be able to write an entire
OS with a dozen people! So what we ask of you is simple: we want you in
on this. We need a lot of everything (see below for more detail):
programmers, coordinators, testers, lawyers, netters, more programmers,
journalists and so on, and so on. If you're enthusiastic about the Amiga,
and you don't want it to go down the drain, volunteer now! Flood my
mailbox with support messages! Even if you really don't know in what way
you could contribute, join, join, join! The Amiga needs you!
(er..sorry...got a bit carried away there :-) Anyway, what we'd like to
know is if we can count on enough support to make it worth starting on.
The provisional plan, as it is in my head, is to get as many people
together as we can. We will all connect them to a mailing list, in which
we will ask for suggestions, ideas, etc. as soon as the coordinating
committee will have been formed. They will then take all these
suggestions into account and come up with a proposal that outlines what we
intend to do and how. This is then posted back to the rest of the team,
who can respond to it, make amendments, etcetera.
The committee (does anyone have a better word for this? To me 'committee'
sounds like something you'd put in a government.) will then make a second
design and after that, we'll start developing in teams. For more info, I
suggest you read the original post I put up in c.s.a.misc, below:
=================================->
1) PROGRAMMING.
Not the first point by accident. Of course this is going to be the
major chunk of work, so we need everybody who is enthusiastic about
this and who can work in a team (essential bit, that !). I think
everyone can take part, no matter how much or how little programming
experience they have.
It's just important that everyone involved should be willing to
listen to the other members of the (hopefully large) development team
to correct bugs, adapt things to fit better with other parts of the
OS, and so on.
1.1) LANGUAGE.
I think it's essential that we use ONE programming language
(preferably even one compiler) for all our code and that it shouldn't
be assembly either. Why? Well, with the current development in
processors, I think it would be unwise to stick with the 68000-line
of processors, or with any other, for that matter. Should the RISC
Amiga appear, or should we want to run our newly-made OS on a
PowerMac, all we would need on the other platform is a compiler for
that particular language and off we go. I propose C or C++, but
that's because I use the former myself and so I'm prejudiced :-)
Other suggestions are welcome.
1.2) LICENSE.
All the programmers involved should agree to donate their code to the
good cause and they should not expect to make any money from the new OS.
Every active member will have to sign some sort of document that shows
their agreement to this.
The copyright of the OS would lie best, I think, with the entire group
and not with the individual (like 'OpenWindow() and CloseWindow()
Copyright Joe Bloggs', 'CreateMsgPort() and DeleteMsgPort() Copyright
Irving Gould' etc.). This would make it easier to sue MicroSoft if they
decided to nick (part of) our OS. However, I'm no legal expert, so maybe
I'd better shut up and let someone with a degree in law shed some more
light on the subject.
1.3) THE WHEEL.
I don't know about you, but re-inventing wheels is not one of my
favourite pastimes. We should use as much existing material as possible
and, while we're at it, incorporate as many useful utilities into the new
OS as possible (KingCON, Toolsdaemon and a DoubleSpace-like system based
on XPK libraries spring to mind), whereas other things are fine as they
are (ARexx, for example, works fine as an external program). Also, we
want the people who have made so many essential enhancements to the
existing Amiga OS already in on this: Dave Haynie, Nico Frangois, Mike
Sinz, Olaf Barthel, Johnatan Potter, to name just a few, we need you
here!
2) COORDINATION.
This is another tough cookie. One person, or better still, a small group
of people (say five) should direct the development process and tell
people what to do and what not to. This doesn't mean they would be in
charge of the operation in the sense that they would be the bosses and
everything they wanted would happen, it's just that they will keep track
of developments, avoid people from programming in opposite directions or
working on the same thing independently, etc. The coordinators would also
be the ones to take action in the form of officially releasing versions
of the OS, giving out information to the media (see below), sue MicroSoft
:-)
and so on. They can't do this with just the five of them, they have to
rely on the services of:
2.1) LEGAL ADVISORS.
We're likely to need more than one of these, since there are different
laws in different countries. We don't want to do all the work just to
have it taken away from us by some big company.
2.2) THE MEDIA.
It is important to keep people informed what's happening, so we need to
have a link to the things people read. Can we count on Amiga Report?
[Sure. -Jason]
2.3) THE TESTERS.
Very important group this, and a very big one too. In my own programming
experience, I have found that a 100 K program can hold more bugs than
there are stars up in the sky (this may have had something to do with my
programming skills :), so a complete OS will probably contain as many as
the number of times actors say 'f*ck' in the movies these days. The
programmers will do some testing of each other's work, of course, but
real alpha- and beta testing is a job in its own right sometimes and
that's where the testers come in. The coordinators will gather all the
bug reports and pass them on to the programmer(s) who are likely to be
responsible. Anybody with an Amiga can be a beta tester, so volunteer
now!
3) RESOURCES.
Obviously, we'll need computers. Everybody has his/her own Amiga to
develop or test on, but that's not enough. We need a WWW site, with
(as someone else proposed) two entries : one for the general public to
browse and keep in touch with the progress and one for the
developers/testers themselves, to submit new material or retrieve it. We
need a newsgroup, or preferably even two or one and a mailing list. One
newsgroup is for general discussions about the OS, suggestions from the
rest of the Amiga community etc. The other newsgroup (or the mailing
list) is for dedicated discussion between developers, the coordinators
and maybe the testers. This is public, of course, since we're not
working on anything secret here, but people who have no real business
there but to read are strongly urged to stay out of the discussions,
especially since they will not be that meaningful to people not involved
in the project anyway.
So what I want is someone who has a large system connected to the
Internet, that can handle the considerable amounts of data involved in
this sort of thing and preferably independent (i.e. it cannot be
restricted by a university's management or by the president of the
company you work for). He or she will become the project's distribution
manager, who will handle the technical side of the newsgroup(s), mailing
list(s), WWW pages, FTP requests and so forth.
=================================->
Unless I forgot something very crucial, in which case you must remind me
at once, this is about it. We can use the support of everybody, as long
as he or she is enthusiastic about the Amiga and concerned about its
future. We can use the aid of companies to sponsor our efforts in any
possible way, but bear in mind that it's mainly going to be a charity
effort to save the Amiga and nothing profitable such as buying the
marketing rights to sell the OS when it's finished.
Oh, we need a name :-) Actually I liked Phoenix, but I think there's a
clone BIOS by that name. Any ideas?