Benevolent Dictatorship

Gavin E. Gleason ggleason@tvi.cc.nm.us
Thu, 19 Mar 1998 16:09:28 +0100


>On a purely social level, I think that any project trying to design an
>operating systems from scratch over the Internet is likely to fail.
>Copying an OS is simple: you know what you are trying to achieve and you
>just argue about the ways to achieve it. Designing one is probably next
>to impossible, unless the group has a "benevolent dictator" that just
>says: "decision made, move on to the next question." Even so, the
>dictator's view of the "perfect operating system" will probably turn off
>hundreds of potential volunteers. It is much better to clone something
>that someone else has already designed (as in Linux).

> Paul Prescod  - http://itrc.uwaterloo.ca/~papresco

Well that certainly is encouraging! :)
	You do have a point though.  There is no current precedent for 
a project such as this.  The thing that comes closest is probably the
GNU HURD (which has taken a decade to become a useable system).  Even
then there is a formal organization that is supporting it.  I suppose
even Mnemonic (the web browser project) might be classified in this
"novel" internet project catagory.   
	Maybe that means that we must also take a radical approach to
the way in which we co-ordinate our project.  From what I've seen so
far there is not a massive divergence in ideas about "what" should be in 
the lisp OS.  Most of the divergence is in the "how".  
	We will need some way of deciding how to procede given
disagreement as to the next step if we cannot agree unanimously.  I
think that it is possible that the need/want for a lisp OS will
supercede our ideas about the "best" way to proceed.  Maybe we should
use some sort of parlimentary procedure, and have an elected
chairman.  We could put motions on the table as to the steps as they
become pertinent.  Then we could vote as to which would be the best
way to continue.  I don't think that a dictatorship is any more
neccassary in this project then it is in any government. 
	It seems to me that this would be a rational approach to the
problem.  Of course all of this may be uneccassary if we can all
agree.  But I have a feeling that the initial stages may be the most
difficult to agree opon. 
	I have some suggestions as to the "hard" problems that need to 
be decided.  They are as follows:
	
	1. scheme or lisp.  Yikes!  Thats a dangerous one :).  I don't 
personally care either way.  Scheme is definitely cleaner, and it
would seem ideal as a starting point for a clean and radically
different OS.  Lisp on the other hand has everything already built
into the language.  I'll lean whatever way seems most popular in the
interest of getting this show on the road. 

	2. Bootstraping.  This is a particularly difficult question,
as the FLUX OS toolkit is unavailable.  I think that we should open the
table for motions on options in this catagory

	3. Abstractions.  Finding the most basic level of abstractions 
that we intend to provide in our system will be difficult because we
will have to come up with a ideas that will be useful in practice.
This will probably be a dynamic variable that changes as coding and
practical issues arise, but we should at least have some idea of where 
we are going. 

	There are certainly more, but I think that these questions
should be resolved first.  Unless someone can think of problems of a
more pressing nature. :)

			Gavin E. Gleason