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?