Our Manifesto (Please Read)

cosc19z5@bayou.uh.edu cosc19z5@bayou.uh.edu
Tue, 6 May 1997 20:19:57 -0500 (CDT)


Ok, here is the first version of the manifesto.  It's pretty crude and
probably full of grammatical/spelling errors, however what's important
is what it says (I can clean this up later).  I wanted to get it out
now to see what everyone thought, and to get any comments.

What is in here is a direct result of information provided to me
specifically for the manifesto, and items which seemed to be generally
agreed upon.  Thanks to Alaric B. Williams for providing me with
some of the info on what I could assume we agree upon so far.

If you want something changed or have comments, please post them
publicly on the mailing list.  The reason being is that I will
only incorporate changes if they are presented publicly where others
can object/add their own comments.

If you post a request for a change, then I will wait for 2-3 days to
see if any objections are forthcoming.  And then majority rules
(ie: if more people don't want the change than do want them, then
the change is out).  If there are no objections or comments regarding
a proposed change, then I'll consider it as an implicit vote of
approval and add it in.

Also there are some parts of this document which specifically need
fixing.  The first and most immediate is the name of our project.
I've seen "Silk" recommended, but I couldn't see any kind of
widespread agreement on the use of that name.  Also what was the
mailing list address for subscriptions to the VM branch of the
discussion?

Ok, without further ado here it is:

---------------------------------------------------------------------------


                  The LispOS Project Manifesto
Our Goal

        To develop an operating system based on Lisp.  An Operating
        system that from the ground up supports Lisp development
        and that is (mostly) written in Lisp.  Support will mean
        both powerful tools for the development of Lisp programs,
        a Lisp interface, communication/functionality in terms of Lisp
        objects (to be manipulated as any other Lisp object),
        and efficient execution of Lisp programs.  Furthermore
        this operating system will be capable of running binaries
        of other popular platforms such as WindowsNT/95
        


Why a Lisp Operating System?

        The operating systems in existence today are woefully inadequate.
        From Microsoft Windows, to Unix, these systems are both
        inefficient to use for program development, and are oriented at
        too low a level.  With a Lisp operating system, not only will
        there be an unbeatable development environment for Lisp programmers,
        (an unbeatable development environment regardless of language),
        but it will be a fully customizable, re-programmable, easy to
        use high level system for the end user.  This has already been
        demonstrated by the Lisp Machines of old, like the Symbolics.
        However, unlike the Symbolics, this system will be completely free.

        It is our hope, that once this operating system achieves wide
        distribution, people will not only see the inherent advantages
        of a truly well designed operating system serving as a helper,
        rather than a hinderance, but will also come to look upon Lisp
        as a truly capable language, and relieve it of its unjust reputation
        once and for all.


How we Intend to Achieve Our Goals

        We will start small and work our way up.  Currently there are
        2 branches of work.  One is on a Lisp Virtual Machine, for the
        efficient execution of Lisp (and possibly other dynamic languages).
        This virtual machine will use a portable byte code format, and
        may be compiled from either Lisp or other languages (although
        it will definitely be optimized for the former).  This will be
        initially implemented on UNIX as a demonstration of its feasibility.

        The second branch works on the kernel/microkernel.  Initially,
        the amount of Lisp will be minimal in favor of using
        pre-existing components/code, however the level of operation
        will be at a high level -- that of objects.  This will enable
        programmers to be able to utilize system calls much more
        effectively, since they will be at a higher level of
        abstraction.

        Initially, we will start our work using CMU-CL on Linux and
        from then on, we will gradually re-write more and more of
        the core system in Lisp rather than having it implemented
        on top of another operating system.  Furthermore, utilities
        and programming tools will be developed and incorporated into
        the distribution.  The end result will be a fully functional
        Lisp system.  This will not happen overnight, but it will happen.


Our Status

        Currently we are still in the discussion phase.  No code has
        been written, although some "proof of concept" code may in
        fact have been developed by individuals to help demonstrate
        the feasibility of doing things a certain way.


Why You Should Help

        Tragically, C/C++ remain the development languages of choice,
        despite strong evidence of their woeful inadequacy for non-trivial
        software projects.  Studies have been conducted comparing
        C/C++ with other languages (including Lisp) which have demonstrated
        that using Lisp led to projects that were on schedule, on budget,
        and on the whole more reliable than C/C++.  However, despite the
        obvious superiority of Lisp, it has not achieved the widespread
        support that it deserves -- widespread support that could finally
        eliminate the Software Crisis.

        Even supposedly "modern" languages like Java are archaic and
        primitive when compared with Lisp, which has been in use
        for decades, and therefore is more mature and stable.  Furthermore,
        Lisp readily supports the functional programming paradigm, a
        paradigm which many feel will be in widespread use by the next
        century.  Lisp is serving us today, and is more than ready for
        tomorrow.  

        Lisp development will not only make programming a much more enjoyable
        task for programmers (imagine never having to chase a NULL pointer
        again), but it will reduce costs for the end user, and advance
        the state of the art.  Now development will occur using Lisp
        as the base, rather than an already outdated language like C/C++.
        More powerful languages and paradigms will result, and as a result
        of that -- more powerful programs.

        It is in the best interests of both programmers and users to
        help in this endevour.  A LispOS will benefit all of us.


How You Can Help

        If you have programming/software engineering expertise, then
        you can help by developing code and discussing issues.  If you
        are a casual user, then you can help by giving the system a
        try and giving us your feedback, not to mention spreading
        the word to others.


Where to Contribute

        There are 2 mailing lists and a web site with discussions relating
        to this issue.  To contribute, join either mailing list (depending
        on your interests), and see what you can do!

	Pertinent mailing lists:

	<?> For the Virtual Machine

        lispos-request@euclid.skiles.gatech.edu -- Everything Else
		Have "subscribe e-mail" (where e-mail is your e-mail)
			in the subject.

        
	<?> Web sites
        

-- 
Cya,
Ahmed

Everywhere I go they all talk the same,
They don't even have to try to make me feel so lame
	"Argyle" by the Bouncing Souls