[p2p-research] Web OS & Social Semantic issues (Was Re: Fwd: [Autonomo.us] building stuff)

Paul D. Fernhout pdfernhout at kurtz-fernhout.com
Thu Aug 13 16:03:53 CEST 2009

Michel Bauwens wrote:
> ---------- Forwarded message ----------
> From: Thomas Lord <lord at emf.net>
> Date: Wed, Aug 12, 2009 at 2:55 AM
> Subject: [Autonomo.us] building stuff
> To: "Bradley M. Kuhn" <bkuhn at ebb.org>
> Cc: "autonomo.us discussion mailing list" <discuss at lists.autonomo.us>
> ...
> So I would like to inspire,
> cajole, recruit, solicit support for, study,
> design, and build a web operating system as
> the most effective way to restore software
> freedom on the web - as the program of direct
> action.
> I've hinted above at what technology I think
> comprises such a system: a file system with
> special features, database support, messaging
> support....   We can discuss the best mix of
> features and the meta-problem of how to
> identify and build-out that best set of features.
> Meanwhile, as a strategic direction: "Build a
> Web Operating System".

My own little step in that direction:
"The Pointrel Social Semantic Desktop is an RDF-like triple store 
implemented on the Java/JVM platform, as well as related social semantic 
desktop applications inspired in part by NEPOMUK and Halo Semantic MediaWiki."

But so much to do, so little time, so many conflicting demands in my life 
(including issues of refining ideology and discussing it with others), and 
so much noise out there at this point making it hard to put a signal 
through. The Pointrel system is something I've been working toward for 
decades in various incarnations with various side diversions. And the roots 
go back to others (Memex, Xanadu, Smalltalk, Augment, Data&Reality and IBM's 
Relation Manager, many Lisp developers' aspirations, etc.). Sun Microsystems 
for a long time talked about "The Network as the Computer" too, even if 
their best internal efforts (Self, for example) got shelved in favor of Java.

So, in general, this field has a lot going on. Tom Lord has summed up what 
seems to be the current pressing issue, as we transition to a "Noosphere".

But there have been related support infrastructures in human information 
processing systems related to ancient texts and religions and commentary 
going back thousands of years. So, this is not exactly a new problem. :-)

Like many things of public merit but high risk for any specific attempt 
because it is new (and the only software really worth writing is new risky 
stuff), there is very little support for it, and what little support there 
is, is focused either in creating proprietary frameworks by businesses or is 
focused on academic institutions with their own issues (including, often 
proprietary aspects). And the attempts to "own" the base of the commons help 
kill such projects. (Groove and VisualWorks Smalltalk are examples of 
systems that could have been huge if they were open, but are relatively tiny 
because they are proprietary.)

And individuals often have little time to contribute without a basic income 
or other niche (Linus Torvalds was presumably supported by his parents and 
as a student when he started Linux.) Everyone wants to work on this kind of 
stuff and make it free, but the current economic system is clashing with 
that. So, most people try to figure out how to make a system they can 
monetarize. Also, there is limited public attention -- there were many, many 
people writing operating systems when Linus started his, and there still are 
many people writing such systems, and architecturally many of them were, and 
are, far better than Linux (which emphasized performance early on instead of 
other issues that become more important with scale). I started using 
GNU/Linux for the community aspects, even though I felt UNIX had a terribly 
inconsistent architecture, compared to alternatives like QNX or Smalltalk 
(or even Forth :-) and so on from the 1970s and 1980s.
"As a microkernel-based OS, QNX is based on the idea of running most of the 
OS in the form of a number of small tasks, known as servers. This differs 
from the more traditional monolithic kernel, in which the operating system 
is a single very large program composed of a huge number of "parts" with 
special abilities. In the case of QNX, the use of a microkernel allows users 
(developers) to turn off any functionality they do not require without 
having to change the OS itself; instead, those servers are simply not run. 
The system is quite small, with earlier versions fitting on a single floppy 
disk. The QNX kernel contains only CPU scheduling, interprocess 
communication, interrupt redirection and timers. Everything else runs as a 
user process, including a special process known as proc which performs 
process creation, and memory management by operating in conjunction with the 
microkernel. ... QNX interprocess communication consists of sending a 
message from one process to another and waiting for a reply. This is a 
single operation, called MsgSend. The message is copied, by the kernel, from 
the address space of the sending process to that of the receiving process. 
If the receiving process is waiting for the message, control of the CPU is 
transferred at the same time, without a pass through the CPU scheduler. 
Thus, sending a message to another process and waiting for a reply does not 
result in "losing one's turn" for the CPU. This tight integration between 
message passing and CPU scheduling is one of the key mechanisms that makes 
QNX message passing broadly usable. Most UNIX and Linux interprocess 
communication mechanisms lack this tight integration, although an 
implementation of QNX-type messaging for Linux does exist. Mishandling of 
this subtle issue is a primary reason for the disappointing performance of 
some other microkernel systems. Due to the microkernel architecture QNX is 
also a distributed operating system. Dan Dodge and Peter van der Veen hold a 
patent based on the QNX operating system's distributed processing features 
known commercially as Transparent Distributed Processing (see below)."

Occam and Transputers in the 1980s were another great technology.

Patents have killed the broad adoption of some of this, as above.

One of the reasons I published my Pointrel System stuff was just to prevent 
others patenting it.

Anyway, I see the history of computing as essentially a history of market 
failure. :-) The really good ideas died (or languished) for short-term 
market reasons (Smalltalk vs. Java, Forth vs. MS-DOS, QNX vs. UNIX, etc.). 
Some are now getting a second life, decades later, including after patents 
have expired. Others are winning by nibbling at the edges (Java becomes more 
like Smalltalk every year). Some are just long gone (IBM should have used an 
in-house Forth by David Frank (the guy who later invented VGA) instead of 
MS-DOS as its OS, and we never would have seen Microsoft, and we all would 
have had extensible open real-time systems from the start on the PC).

What is most hopeful is that we are now seeing some businesses that are 
putting out free and open stuff (Google Wave), and some universities also 
putting out free and open stuff (NEPOMUK), and some non-profits and 
foundations putting out free and open stuff (Chandler, even if it failed in 
many ways), and some individuals putting out free and open stuff (the 
Pointrel System by me, but many others), and at some point, we can indeed 
hope for a convergence (even as many will fall by the wayside in the process 
-- including likely my work, but it was nice to be a small part of it 
anyway, since Nature often sows a thousand seeds for each one that finds a 
good place to grow and flower).

I was just re-watching Alan Kay's "The Computer Revolution Hasn't Happened 
Yet", and he mentions the idea of every object having both a URL and an IP 
address. That is more fitting with a QNX-like message passing model.

Anyway, this is a perspective from someone who has been in this industry for 
thirty years. And it is not the one you will get from a rah-rah trade press 
enmeshed in the market.

--Paul Fernhout

More information about the p2presearch mailing list