path to lispos ???

Rainer Joswig joswig@lavielle.com
Fri, 20 Mar 1998 01:56:00 +0100


At 15:07 19.03.98 -0500, you wrote:
>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 could try to implement something along the lines of the
Interlisp environment (this already exists as an emulation
for the PC) or the Lisp machines of MIT heritage
(LMI Lambda, TI Explorer, Symbolics, ...). But this
is difficult. You could also look at Apple's now defunct Newton OS.

>hundreds of potential volunteers. It is much better to clone something
>that someone else has already designed (as in Linux).

Yes, you are right on this one. But this is also one of
the **************big************* weaknesses of Linux:
it is just a copy. (A copy of something I'm not a particular
fan of.)

Some random thoughts:

- make an overview of what is freely available for Lisp
  (implementations, GUI code, applications, tools, ...).

- take care of the public available Lisp code of choice.
  The best start for a CL-based system currently is CMU CL, IMHO.

- document. Document. DOCUMENT. ****DOCUMENT****!!!!!!

- brush up code that is available and desirable, but not actively
  maintained (defsystem, UIMS code, ...).

- set up a web site: www.lispos.org . Don't use
  http://somemachine.somedepartment.someuniversity.edu//~whoever/cant-remember/obscure.html
  Put everything you have well documented on the web site. You can
  not afford to lose people by bad documentation (GUILE currently has
  no real documentation - a big mistake). The Symbolics Lisp machine
  had very good documentation. Don't care less.

- identify people with time. Assign responsibilities (takes care about the docs,
  ensures the web site, maintains the file server, compares the
  implementations, ...)

- write a position paper. Circulate widely. Try to get donations (machines,
  source, man power, ...). Provide regular updates on the project
  state. Remind people every month/week about this project. Every
  CS student should know about it.

- start implementing an interface (telnet server with vtxxx, CL-HTTP
  access, X-based GUI (with editor, listener, inspector, command interpreter, 
  backtrace, HTML browser, ...), ...).
  Maybe something along the lines of a CL-based Emacs-environment. Then
  the Lisp development system will also be everybody's favorite
  editor environment.

- Implement a CL-HTTP-based chat system for the developers.

- implement extensive introspective documentation access
  (class graphs, package overviews, method overviews, apropos,
  describe, documentation, ...)

- what about storing and retrieving objects?

- start implementing TCP/IP services
-- write a mail server (SMTP, POP, IMAP).
-- write a pop mail client.
-- write a DNS server
-- write a DNS client

- document. Document. DOCUMENT. ****DOCUMENT****!!!!!!

- write a file browser (like the Mac finder, ...).

- Start porting packages (SK8, ...).

- implement a more sophisticated defsystem (with patches, CLOS-based,
  versions, access rights, web interface, ...).

- Reimplement C-based software in Lisp. Make the code clearer and
  better documented (easy).

- develop access methods to databases.

- start writing a kernel.
  - memory allocation
  - process scheduling
  - security

- develop a file system

...