This page was created to promote radical, concrete projects that have the potential to transform computing. It was named after the group of radicals in the book TheDispossessed
who set out to transform their entire society.
Apparently, the mere idea of transforming computing is perceived as a terrible threat by some people, which is why this page has been repeatedly deleted by an AnonymousCoward
abusing the identity AnonymousOnPurpose
. Of course, the page title was chosen specifically so as to exclude such idiots.
There is no known organization, whether formal, informal, or secretive, called Syndicate Of Initiative. Yet.
, which frees users from software owners, is only the first step towards free software. The syndicate is dedicated to freeing software users from all propertarians through the use of direct action (as opposed to talking, praying, and wishful thinking).
- An OS to free users from programmers (whose attitudes are often technocratic), administrators, and institutional totalitarianism.
- A UniversalCatalog to free media users from copyright owners, politicos, the publishing, and entertainment industries.
- A 3rd Generation User Interface to free users from interfaces; especially windows, icons, menus, and the mouse.
- SmalltalkToCppTranslation to free Smalltalk (and Smalltalk wannabe) programmers from instructors, managers, and businessmen.
- EncryptedComputation, if possible, to free users from hardware owners, OSes, and their administrators.
Compatibility libraries and tools to standardize SmalltalkImplementations
This page is intentionally cryptic. So the idea is to replace technocracy with obscurocracy? ;-)
I wonder if the above is worded quite right, although I do understand the sentiment. For example, in light of the fact that there isn't "Programmers" and "Users", rather a continuum between the two, do we want to free users from programmers and administrators, or do we want to unite them? It is the attitude from which the users need to be freed, but this is true for the programmers and the administrators as well. -- WilliamUnderwood
Bingo. Except that you must free users / programmers / administrators from other malicious users / programmers / administrators. So for example, you need to provide genuine security so that a user can run any program they wish in complete peace of mind (they are not so able in Unix). You also need security so that users are able to share objects (they are not so able in Unix) in a secure manner. Essentially, you must be able to share any and all access you want to the precise extent you want.
And then there's the whole DAG of administration roles which I explained elsewhere. Basically, a user must be able to pick and choose the administrator they want from the pool of users already in the system, willing to take responsibility for their misdeeds. If I have legitimate access to a system, then it is legitimate for me to pass on that access to whomever I choose. I just have to take responsibility for them since my administrator can't distinguish between me and anyone I administer. That's because he can't distinguish between me and a process I'm running. So there's a DAG of users and administration is just a role they play with each other. -- RK
So in short, a capability-security model, if I understand you correctly? --cwillu
I suppose I haven't provided enough detail for anyone to realize that I'm talking about something a million times more sophisticated and useful than the generic, primitive, lame-ass, capability security models everyone else is concerned about. -- RK
So provide some.
And when I did, no one was interested. Oh well. It's not like I haven't given up on programmers already.
Is this anything more than just talk yet?
Analysis of the Universal Catalog is complete. Implementation will follow as soon as I get access to a machine on which I can run Smalltalk, or X & SSH.
The 3rd Generation UI would've reached specification stage by now if my notes hadn't all been stolen from me. It requires specialized hardware anyways.
requires someone who knows C++, which isn't me.
should be possible but I haven't seen a theory that explains how. At a minimum, it requires thorough knowledge of the theories of computation and cryptography, which I don't have.
The OS is a multi-year project ... that would've been completed by now if people had shown some bloody freaking interest in it! Its stagnation prompted the genesis of the other projects (I'd dismissed the Catalog project as too trivial several years ago; a gross underestimate).
Apparently, you can always add more features on to an existing specification. First Initiative has just gotten much bigger in scope, to certainly include:
- consuming and rebirthing BookShelved (thank you Laurent for the inspiration)
- transforming Wiki as we know it
- forever obsoleting / supplanting IRC
- provide a consistent framework of time and space to internet communication
It will probably also:
- transform the web as we know it
- become bigger than Usenet, supplanting it
Proposal: The right way to write the OS for the initiative is to write the os with the smallest possible scope, but which is headed in the right direction -- you can't steer something until you have something to steer. This, taken along with LanguageIsAnOs
, suggests to me that the operating system effectively be a Read/Eval loop (see ReadEvalPrintLoop
) for some language, which runs on the bare metal.
The language (read 'OS') need only support the barest functionality for input and output to make a useful beginning, but it must be able to cleanly support abstractions on top of that base.
Myself, I'd like a bare-bones lisp (that specifically doesn't support ansi common lisp), but that's just me. Of course, this is what I'll be implementing in my spare time though :p
If you want functional, go see TunesProject
. If you want OO, then the absolute minimal architecture that satisfies all but the last OperatingSystemsDesignPrinciples
The proposed scheme of RetrofittingNewPrinciplesOntoMatureSystems
, will never result in a clean architecture, and as such automatically violates the Elegance and Uniformity principles of OS design. -- RK
I don't care about functional. I also don't particularly care about OO. Lisp would be advantageous in that it would support either equally well. But this is besides the point. I will have nothing of RetrofittingNewPrinciplesOntoMatureSystems
. I simply won't do it. This needs to be a new system, written from the ground up with the principles that we endorse as the prime motivation. But this will not be possible done all in advance. The design must be carefully worked out and planned as it grows in scope. And TheSourceCodeIsTheDesign
Now, about choice of basic operating system / language (seeing as TheLanguageIsAnOs?
), the minimum is something which can cleanly seamlessly implement a useful open-ended set of abstractions. Something along the line of lisp macros would be able to accomplish this. So would a sufficiently powerful object system. So would a sufficiently powerful dynamically/strongly typed system. But one must start somewhere.
p.s., And, perhaps I should ask what you mean by 'technocratic', lest I be accused of it :)
p.p.s., in recent reading, I've come across a quote to the effect that Scheme came about by reducing OO to it's constituent pieces... I written a basic OO language in a handful of scheme macros and lambdas.
Why not SmalltalkToJavaTranslation?
This isn't an either-or issue. More like both-and. Especially if you volunteer yourself.
The OS is a multi-year project ... that would've been completed by now if people had shown some interest in it!
I'd be driving a Porsche if people had shown some interest in giving me one. What's wrong with these people? Don't they know my time is more important than their time??
Not quite... more like "We'd all be driving hybrid gas/electric cars if people had shown some interest in popularizing them."
Hmmm. No. Folks pay for hybrid gas/electric cars (and Porsches). It sounds like the OS was supposed to be created without compensation as part of this free information utopia.
I read it more like 'There's nothing here that couldn't be done if somebody was willing to put in the work for it', in the same way that there's no reason why I couldn't purchase a decent hybrid if I put some effort into purchasing one. Of course people pay for cars. And people work for things which they consider worth working for. And nobody has thought it worth their time to write it yet. This I hope to change.
The difference is I pay for my
cars, but I don't pay for your cars. If you want a car, build it or pay for it yourself. If you want an OS, write it yourself or pay me to write it. That part about "... if somebody was willing to put in the work for it" is the key. People are willing to put in the work, but they have to pay for food, shelter, fuel, and all of the other non-information items needed for survival and comfort. The day folks start giving me cars is the day I start writing software for free.