[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
> 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.
More information about the p2presearch