For more than 16 years Carl Sassenrath has been a leading innovator in the field of operating system technology for companies like Hewlett Packard, Apple, Amiga, and Commodore. Mr. Sassenrath is best known as the architect of the Amiga multi-tasking OS kernel, a fast, efficient system which pioneered the concepts of dynamically loadable libraries and devices.
Over the past decade the benefits of increased hardware performance have been offset by an excessive growth in the size and complexity of the system software. Or perhaps it is the opposite - the driving force behind improving hardware performance was to overcome an ever-growing ineptitude in software technology. After all, how useable would Windows95 be on a 8 MHz computer?
This mindless attitude seems to manifest itself in every aspect of modern software, from the development systems needed to create it, to the application libraries (APIs) required to interface it, to the operating systems necessary to run it. This plague has swept through all aspects of computer software - as is evident when you download a 10MB C++ shareware program, install an 80MB OS update, or receive a 10 CD-ROM developer's kit.
Many developers defend their software by arguing: "What is the harm with a 10MB program? Don't you know that memory is cheap?" What they are really saying is: "So what if it takes some time to download. Who cares that it consumes disk space and half the RAM. Perhaps configuring it is a little too complicated. Alright, it does have many useless features. But, after all, it has less than a dozen obvious bugs, and it will run at least an hour before crashing."
These developers fail to recognize the core problem: software complexity. In recent years it has become universally acceptable for software technology to be absurdly complex. Systems have grown both out of control and out of proportion to their benefits, becoming wasteful, brittle, clumsy and slow. Like our federal government [ROTFL - ed], these complex software systems are now perpetuated by thriving bureaucracies of non-thought, propelled by their own markets of desperate, inexperienced consumers who see no alternatives.
To me this is all about Personal Computing, not Personal Enslaving. It is about being the masters of our own computers, not the reverse. A decade ago this was true, but we are not the masters any more. Is it possible to reclaim that position? Or, has it been lost to history like the Tucker Automobile? Everyone tells me that the world of personal computing is now totally dominated by a single system - one which I believe lacks not only a consistent, efficient, reliable architecture, but an intelligent vision of the future.
Perhaps we are at a pivotal point in personal computing, and this is where we must take our stand. It is my sincere hope that there are enough scattered outposts of rebels who believe as I do and refuse to bow to the "empire" (or have done so under duress and seek an opportunity to flee.) With a critical mass we can build our own future and return to what Personal Computing was meant to be.
I am now prepared to develop the system that I have been contemplating for the last decade. I'm not talking here about making a clone of any existing system (including the Amiga). What I want is a personal computer that I would like to use: a system that is genuinely easy-to-operate, consistent, flexible, powerful, small, and fast.
My plan involves two phases. The first phase is the completion of a new scripting and control language. I have worked on the design of this language part-time for many years. Within the last few months my efforts have been full-time, and the language is nearly ready for its prototype (alpha) release. Versions will be available for each of the major platforms over the next month.
Why a language? Because I believe that the core of computing is not based on operating system or processor technologies but on language capability. Language is both a tool of thought and a means of communication. Just as our minds are shaped by human language, so are operating systems shaped by programming languages. We implement what we can express. If it cannot be expressed, it will not be implemented.
Once the language is complete and in distribution, the second phase is to develop a small and flexible operating system which is integrated in a unique way with the language. Attribute settings, control scripts, configuration, installation, inter-process communications, and distributed processing will be facilitated through the language. Applications can still be written in C and various other languages, but some aspects of their system interface will be done through the OS language. This system is slated for prototype release later in the year and will be targeted at a few different hardware platforms.
Instead, my approach is to determine if there are enough of you out there who feel as I do - who want a choice, who want a system that makes you the master, and who would be willing to help support it through financial contributions.
I've been considering this for many months, but I've never done a user-funded project like this before, and I don't know what to expect. Right now I am hopeful, but also a little nervous. It's a big risk. If you like what I am proposing, please take to it to heart and consider what I have said, because I cannot do it without you.
It's time to do something different. It's time to do something for ourselves. I hope you will join with me, rebel against software complexity, and return us again to being the masters of our own Personal Computing.
Keep an eye on this web site, for more information. From this point on you can expect to see changes and announcements weekly as things develop.
Copyright © Carl Sassenrath 1997
Permission is granted to copy, distribute, and repost
so long as the copyright is preserved.
Translators: there are numerous English idioms in
this document, if you need help with a clarification,
please contact me.
Send web comments to: webmaster@sassenrath.com
More information on Carl Sassenrath's background.