Showing posts with label GNU. Show all posts
Showing posts with label GNU. Show all posts

Friday, May 17, 2013

Xanadu vs. the web: Part VI - Wikipedia and GNU

I've spent quite a few words on why Xanadu, sometimes called the original hypertext system (Vanevar Bush's Memex proposal and Doug Englebart's work notwithstanding), is not, in fact, the hypertext system we use.  With that as background, I'd like to take a look at two pieces of what actually developed, namely Wikipedia and the GNU project.

Wikipedia would seem very much in the spirit of Xanadu.  It seeks to create an interconnected collection of documents surveying humanity's store of knowledge.  It is not only freely accessible to anyone with a net connection, it is editable by anyone (or at least, anyone who can get along in the Wikipedia community, which is a great many people).  It remembers past versions.  Indeed, the edit history is an integral part of Wikipedia, not only technically but culturally.  It can be approached from any angle, read in any order and quoted freely.  It even has two-way links of a sort ("what links here").  One might think that, for example, the "Transliterature open standard" would have something to say about it, or at least wikis in general.

Your search - wiki site:transliterature.org - did not match any documents.


That's not completely fair, as Nelson's work is scattered across many sites across the web and off it, and I'm quite sure he's had at least something to say on the project, but whatever it is doesn't exactly leap to the fore.  You can plug xanadu.net and other sites into the search above and still find nothing.

Wikis are probably the most Xanadu-like, most hypertextual parts of the web.  They're not Xanadu, though.  They do not provide true transclusion, or the side-by-side, interconnected views that Nelson advocates, much less "flying islands" or more exotic presentations.  All they do is provide millions of people the means to explore the world's knowledge in personalized, non-linear, cross-referenced and interconnected ways.

Two conclusions one could draw from this:
  1. Wikis, because they are not transclusive and appear much like traditional media on the screen, merely "simulate paper" and are thus detours on the true path to Xanadu.  We must fight on.
  2. Easy editing, wide access and the ability both to follow links and to search are more important than strictly adhering to any particular vision of hypertext.
Xanadu, unfortunately, seems firmly in camp (1).

(It occurs to me that the back button on a browser would probably get the same treatment.  A one-way link with a generic way to navigate back is obviously not the same as a two-way link, but it turns out to provide significant value nonetheless.)

How did Wikis (or at least Wikipedia, which has by far the lion's share of Wiki-related traffic) get to be what they are?  People put up servers and people used them.



Project GNU and Xanadu would seem to have much in common.  Persuasive, eccentric founders (by eccentric I mean simply "far from the center") with radical, ambitious visions.  A strongly-defined subculture with vocabulary and practices all its own.  A strongly ideological bent (GNU even has its own manifesto) and a willingness to say that mainstream thought and practice is simply wrong.  A conviction that computing must be liberated from narrow-minded corporate constraints.

I've taken issue with GNU founder Richard Stallman's ideas myself (particularly here and to some extent here), but I certainly don't dismiss them out of hand.  To this day Stallman commands a degree of respect and attention, for a simple reason:

GNU shipped useful code.

If you run Linux, you're almost certainly running the GNU tools (among others) on top of the Linux kernel.  The kernel itself is built with GNU tools.  Even if you're not a Linux geek, if you use the web you've interacted with any number of servers running GNU tools.

Actually, there's a second reason, not quite as simple but even more significant.  Tons of code outside the GNU project has shipped under the GNU public license (GPL) or licenses heavily influenced by it.  Because of this, it's easy to, say, download Eclipse and a bunch of Apache libraries and start doing interesting stuff.  Stallman literally pioneered a whole new form of software development and distribution [There had been "shareware" and similar arrangements already, but the GPL is a completely different beast, particularly in its brilliant use of copyright law].

There are a lot of reasons why GNU has been so influential, even if not every hope or prediction has panned out, but none of them would have had much effect at all if Stallman and company had not produced actual, useful running code, particularly GNU Emacs and gcc.

Ironically, the GNU operating system itself, which prompted the whole effort, has fared less well.  Stallman announced in the original manifesto that an initial implementation of the kernel had been written (as indeed it had), and the actual work started around 1983, even before the manifesto.  Nonetheless to this day there is no stable release.  If that had been the whole story, we might well have another depressing tale of non-delivery (or in the case of GNU, not-quite-delivery).  Happily, though, that's not the whole story.  In the event, the kernel itself was effectively supplanted by the Linux kernel, which may or may not be the better result, but other development went on.


This willingness to shift tacks when the winds change is the hallmark of every successful project that I'm aware of.  It's a big reason we have the web we do.

Wednesday, March 20, 2013

Dennis Ritchie, 1941 - 2011


I have no intention of turning this blog into an obituaries column, and no desire to see "celebrity deaths come in threes" spill over into the tech world, but having noted the passing of Steve Jobs I feel obliged to note the passing of Dennis Ritchie as well.

You may or may not have heard of him before.  It took the major news outlets a while to pick up the story, and even then it wasn't front page.  For hours the main public source was colleague Rob Pike's Google+ page.  That's not too surprising.  CEO of major corporations and eminent computer scientist are two completely different gigs.  Nonetheless, Ritchie had as profound an effect on the Web As We Know It as anyone else, even though his groundbreaking work predates the web by a good measure.

It's fair to say that the web as we know it would not exist if not for Unix.  The first web server ran on NeXTSTEP,  which traces its roots to Unix.  A huge number of present-day web servers, large and small, run on Linux/GNU which, even though the Linux kernel was developed from scratch and GNU stands for "GNU's Not Unix", provide an environment that's firmly in the Unix lineage.  The HTTP protocol the web runs on has its roots in the older internet protocols and belongs to a school of development in which Unix played a major role.

Ritchie was one of the original developers of Unix.

The Unix operating system, the Linux kernel, many of the GNU tools and countless other useful things (and at least one lame hack) are written in the C language, which is also one of the bases for C++, C#, Objective C and Java, among others.  All in all, C and its descendants account for a large chunk of the software that makes the web run, and for years, before the ANSI C standard, the de facto standard for the language was a book universally called "K&R" after its authors, Brian Kernighan and Dennis Ritchie.  That flavor of the language is still called "K&R C".

Ritchie continued to do significant work throughout his life and won various high honors, including the Association for Computing Machinery's top honor, the Turing award, and the US National Medal of Technology.  He was head of the Lucent Technologies System Software Research Department when he retired in 2007.  He may not have been a cultural icon, but in the world of software geekery he cast a long shadow.

RIP