canonical freedom and ubuntu one

Recently, Canonical Ltd., the company which sponsors the Ubuntu family of GNU/Linux distributions recently announced the UbuntuOne service, which is at it’s core a service that allows users to synchronize files between multiple Ubuntu-based machines. Having your files sync between multiple machines is a huge feature, and the truth is that there aren’t really good solutions that accomplish this task, for any operating system. At the same time there’s been a lot of hubbub in the community over this release. It’s complex but the issues in the complaint are:

  1. UbuntuOne is a non-free project, in that, the software that’s powering the service (on the servers) is not being distributed (in source, or binary) to the users of the service. While the client is being open sourced, the server component is crucial important to users' autonomy.
  2. Ubuntu, if we are to believe what Canonical says, is the name of a community developed Linux distribution based on Debian. Canonical, is a for-profit organization, and it’s using the Ubuntu name (the trademark to which it owns) for a non-free software project.
  3. Canonical has also gone back on a promise to release the software that powers LaunchPad under the AGPL. While this isn’t directly related to the flap surrounding Ubuntu One, it allows us to (potentially) contextualize the ongoing actions of Canonical with regards to network services.

My response comes in three parts.

Part One, the Technology

File syncing services are technologically pretty simple, and easy to create for yourself. I use ssh and git to synchronize all of my files, data, and settings between machines. I keep the sync manual, but I could automate it pretty easy. It’s not free, I pay a small monthly fee for some space on a server, but it works, and I have total control over the process.

Granted, my solution is a bit technical and requires some babying along, and works because 95% of my files are text files. If I had more binary files that I needed to sync, I’d probably use something like rsync which is a great tool for keeping large groups of files synchronized.

In fact rsync is so good, you can probably bet that UbuntuOne is using rsync or some rsync-variant (because it’s GNU GPL software, and it’s good.) If you’re running OS X, or any GNU or Linux based operating system then the chances are, you’ve already got rsync installed. Pulling together something to keep your files synced between more than one machine just requires a few pieces:

  • something that runs on your computer in the background that keeps track of when files change so that it can send the changes to the server. Conversely this component can also just run on a timer and send changes ever x amount of time (five minutes? if the computer isn’t idle.)
  • something that runs on the server that can send changes to other computers when the other computers say (“Has anything changed?").

Done. I’m no programmer--as I’m quick to attest--but I think that I could probably (with some help,) pull together a tutorial for how to get this to work in a few hours.

Part Two, Trademarks, Centralization and Community

I think a lot of people feel betrayed by the blurring of this “thing” that a community has built (Ubunutu) with Canonical Ltd.

Which is totally reasonable, but this is largely an orthogonal problem to the problem with UbuntuOne, and I think is a much larger problem within the free software/open source/crowd sourcing world. This is one of the problems when entrusting trademarks and copy rights to single entities. In a very real way, Canonical--by using UbuntuOne--is trading on the social capital of the Ubunutu community, and that leaves a sour taste in a lot of peoples mouths.

But the issue of ceding control over a name or a product to a centralized group, is something that we have a lot of experience with, with varying results. Some thoughts and examples:

Here’s one example: There’s a huge “open source” community that’s built up around the commercial/proprietary text editor TextMate for OS X. While I think TextMate is really great software, and the TextMate community is made up of really great people, TextMate is largely valuable because of the value created by the community, and it exists (tenuously) on the good graces of the owner of the TextMate intellectual property. While Alan is a great guy, for whom I have a great deal of respect, if anything were to happen to TextMate a lot of people would find that they had nothing to show for their energy and efforts in the TextMate community.

Similarly, MySQL AB (and later Sun Microsystems and now Oracle) owns the entire copyright for the MySQL database, which isn’t (or wasn’t) a major issue for most developers in the early days, but now given the sale of that company (and it’s copyright holdings) puts the development of that code-base into some doubt. I’ve seen, as a result, much greater buzz around the PostgreSQL project as a result of this doubt, and I think this kind of fall out serves as a good example of what can happen to a community when the centralized body fails to act in the interests of the community, or even threatens to.

This is a huge issue, in the whole “web 2.0”/mashup/social networking/social media space. The logic for the proprietors of these sites and services is “build something, attract users create a REST API that makes it easy for people to develop applications using our service that add value to our service, attract more users, stomp out competition in the space, profit.” This is basically, the Twitter/Facebook/ning business model, and while it works to some degree it’s all built upon: stable APIs and the enduring good will of the community toward the proprietors of the service. Both of these are difficult to maintain, from what I’ve seen, as the business model isn’t very coherent, and requires the proprietors to balance their own self interest, their community’s interests, and find some way to profit in light of an unstable business model. It’s tough.

Part Three, Business and Free Network Services.

I’ve been treading over ideas related to free network businesses and cooperatives and software freedom for weeks now, but I swear it all fell into my lap here. Some basic thoughts, as conclusion for this already too lengthy essay:

  • The UbuntuOne service, like most free network service, is at it’s core providing a systems administration service rather than some sort of software product. The software, is relatively trivial compared to making sure the servers are running/accessible/secure
  • The way to offer users' autonomy is to develop easy/free systems administration tools, and to educate them on how to run these systems.
  • Corporations, while important contributors to the free software community, also inevitably serve their own interests, while it’s disappointing to see Canonical go down the proprietary track, it’s neither surprising nor a betrayal. Canonical has put on a good show and accomplished a great deal, but in retrospect we can imagine a number of things that they could have done differently from way back that would have changed the current situation. (eg. Worked within the Debian Project, developed a tighter business model, etc.)
  • Free software, is very pro-business, but it’s not very pro-big-business, as “native free software business models” are built on personal reputations rather than tangible products. It translates to making an honest living pretty well, but it doesn’t convert very well into making a lot of money quickly.

Anyway, I better get going. Food for thought.

file system databases

Joe has remarked that he finds it ironic that--in this blog--I sing the praises of using emacs and storing one’s data in plain text files, largely as part of a crusade against databases. I also am an ardent supporter of his haven project, which is basically a database project.

While I don’t think this is that contradictory, I do understand how one could make that inference, so I think it might be wise to address this issue explicitly. Lets first do a little bit of recapping:

  1. Reasons Why I don’t like databases:
    • Inflexible for many kinds of data, and require users to adapt to structure, rather than the other way around.
    • Databases require too much overhead, both during operation and programming to be totally worthwhile except in some large-scale edge cases.
    • Databases abstract control over data from the owner/user of the data to systems administrators and programmers, rather than leaving data in a form that everyone can access and manage
  2. Reasons why I like text files:
    • Everyone and every machine can read text files. They’re a lingua-franca.
    • We have many highly sophisticated options for editing and munging data in plain text files.
    • Plain text files are infinitely flexible, both in structure, and in the kinds of data they can store.
  3. Caveats
    • There are some kinds of data that are best stored in database systems.
    • Structure in plain text files is dependent upon the self control and education of the users, which may be a risky situation.
  4. Reason why I like Haven:
    • It combines numerous features that I think are really powerful and key to the development of how we use computers: cryptographic security, flexibly structured data; distributed computing/data storage; versioned data stores; collaborative systems; non-hierarchical organization of data; etc.
    • Joe is awesome.
    • It expands and improves on the Project Xanadu idea.

My response to Joe’s question: how does plain text coexist with haven, in your mind.

The answer is pretty simple, really.

At its core, haven isn’t so much a database, as it is a file system. We don’t think “I’ll set up a haven repository/system for this project,” but rather “Hang on, I can put my data for this, into the haven system.” Haven isn’t a bucket that can be designed to hold anything, it’s a total system that’s meant to hold everything.

And it’s just a low level system. Joe’s work on haven is focused on a server application, and an API. Everything else are just applications that use haven. One such application would (inevitably) be a FUSE-driver which would expose a Haven system as a file system. So your objects in a haven database would be, basically plain text files.

Which kind of rocks.

Now Haven is just a concept right now, but, in general, FUSE is one of those technologies with amazing possibilities because we have so many amazing tools and mature technologies for manipulating data in file systems. FUSE abstracts the mechanics of file systems, and makes it easy to “think about” data in terms of files, even if it doesn’t make a lot of sense to store said data in files. That’s really, quite cool, and powerful for the rest of us.

I’ve seen fuse drivers for Wikipedia, a nonhierarchial file system, http (ie. the web), blogger, and structured data like RSS and other xml, all of which are really cool. I’m not sure if any or all of these systems are done, and I’m not sure that any of these creative uses for FUSE are ready for prime time, but I think it’s a step in the right direction, generally.

adventures in systems administration

I’m beginning to write this in the evening after a long day of system administration work. For birthday (though, really, it’s been on my todo list for a long time), I ordered and set up a server from these fine folks to serve as the technological hub of my activities. While I’ve been quite fond of those fine folks for quite a long time, there was a growing list of things that I always wished worked better with dreamhost, and it was finally starting to limit the kinds of projects I could undertake in. So I bit the bullet and went ahead and ordered the server and spent some time getting everything straightened out.

For some background: the server is just an instance running inside of a Xen hypervisor, which runs other servers together on the same hardware: this is good, I couldn’t really use a server that powerful all by my lonesome (and I wouldn’t want to have to pay for it all either). It’s also way more powerful that what I had before, and the vitalization allows me to act with impunity, because it’s as if I’m running my own server, really. I’ve been doing computer administration and web development for a long time, but I’ve never had to do anything like this so it’s been an experience to learn how DNS records really work, how all the different kinds of server applications work, how really cool the Apache web server really is. It’s a great learning experience, and I think it would be prudent (and potentially helpful for you) to reflect on the experience. So here are my notes on the adventure:

  • I’ve been running Ubuntu on my personal/desktop machines since the great Linux switch, and I’ve been pretty pleased with it. Not totally wowed by it: it works, but my tendencies are toward the more minimal/lightweight systems. But more than anything, I’m really drawn to systems that just work more than I am to systems that work perfectly, and I’m pretty good at keeping systems working. In 5 years of OS X usage I installed an OS twice, and since I got things stable and running, the only installations I’ve done have been to put ubuntu on new machines.

    In any case, this server was a chance for me really explore debian stable (lenny), which I hadn’t ever done before. It’s so cool. It’s not sexy or daring or anything but in a server you don’t want that, and it just works. I think it probably also helps matters somewhat lenny was released only a few months ago, rather than nearly two years ago, but in any case I’m quite enamored of how well it works.

  • Email is much more complicated than I think any of us really give it credit for. There’s all sorts of complicated mess with regards to how DNS servers identify mail servers to help fight spam, and then there’s all the filtering and sorting business, and even the “modern” email servers are a bit long in the tooth. I hope that it’s a “set it and forget about it” sort of thing, though to be truthful I just got it all running and set up initially, but there’s a lot of further setup to do, before I move it all around.

  • I’m pretty proud of the fact that as i was going thought the set up process, I go to the point where it said “ok, now set up the FTP server, and I said ‘meh’ and moved around.” Turns out that I can do everything I need to do in terms of getting files onto the server with git/scp/ssh/rsync and FTP is just lame and old. Welcome to the new world, where file transfers are shorter, versioned, and more secure.

    This isn’t particularly new, I couldn’t tell you the last time I used FTP, but I think this represents both the utility in moving to a “real server,” and a larger shift in the way we think about webservers. FTP assumes that the main purpose of the webserver is to store and serve files. the ssh/rsync/git model assumes that your webserver exists to be “your computer in the sky.” Which it is. We interact with the computers on our desks in really complex ways; there’s no reason to interact with our computers in the sky by just copying files to and from it.

  • I’m convinced that systems-administration work will increasingly be the “hard currency” (basis for exchange) for the networked computing age. It’s sort of onerous work, there are skills and knowledge that most people who need network service don’t have and don’t need to have, there are actual costs, the need is ongoing, and success is quantifiable.

    There’s definitely space here for people (like me, and others) to provide these kinds of services to people. Sort of “boutique” style. Clearly I have more to learn and more thinking to do on the subject, but it’s a start.

  • Ejabberd is peculiar, and the Debian package is… less than ideal. I knew going in that there was a “web administration” interface which sounds cool until you realize that, it’s… not an administration panel as much as it is a sort of “web dashboard.” You still have to tweak the configuration file which is written in Erlang, and wow. That’s pain right there.

Having said that, it seems to work just fine, without much fussing, and I’m want the jabber-server to do a very limited set of things: host my own IM account and transports; host muc-chats (created by me); and that’s about it. I’m a bit worried that it might be a bit too heavy for this.


That’s about all. More to come, I’m sure.

notes from the fast

Several notes to with regards to information fast that I’m undertaking. And because this is the internet and this is my blog… Well here goes:

  • I had initially suspected that the cause of my ailment was the special thinkpad-track point driver that deals with scrolling didn’t get updated when I upgraded to jaunty. This turns out to not be the case, as I had a freeze (again in firefox) just moving around with the arrow keys. That theory gone.

  • C.K. and I determined that--counter to my supposition--the slight/occasional clunking noise is probably the drive head parking itself, and doesn’t seems to correspond with the problem. So replacing the drive is both awkward (weird form factor) and not likely to fix the problem

  • I installed emacs-w3m on both computers. It’s not entirely intuitive. There are debian/ubuntu packages, but if you install the emacs-snapshot package, then the sequence is upgrade to the latest emacs-snapshot, install w3m-el, uninstall emacs22, and then add w3m code to your emacs init file (.emacs).

    It’s, remarkably nice, particularly for looking up links while I’m writing something and reading content-rich pages. The key-bindings are, by default excessively lame and require attention (which I haven’t figured out yet). I always thought that emacs web-browsing was way too dweab-y for me, but learning that it’s actually really cool is a good thing indeed.

  • This isn’t a real fast, as I am still using firefox a little bit bit, and I suspect that I’ll always need to have it installed, but I think it’s generally good to not have firefox be the default environment for everything that isn’t emacs or the terminal.

  • I’ve basically been avoiding my RSS reader during the course of this experiment. Which I need to spend some time tending to, at least so that I can start using some other reader. This has been an issue since I switched to Linux, and I’ve failed to come to anything that I really like. I’m tempted to use the gnus news reader to read the RSS, but I fear this might be incredibly awkward/complciated for a very small amount of pay off.

  • By moving web browsing, insofar as it needs to occur, into emacs, the windows I see are: stuff inside of emacs (mostly org-mode and writing); and stuff inside of terminals (mutt, Micawber, bash, etc.). As a result, I get the feeling that all of my windows look the same. I’m interested how people might solve this problem themselves. How do you make an entirely text-driven, undecorated environment have texture? Have… variety between windows that might provide some context to specific tasks.

    This is an aesthetic/design question more than a programmatic one I guess. I’ve tried playing around, a little with colors in emacs, and still use the default for emacs23 because the others seem difficult to read. I’ve tried different fonts (in both programs) and I’m quite wed to my current font. I’ve tried transparency (which doesn’t run well for emacs on the laptop)… I’m thinking that adding Conky, or more informative widgets might be helpful, but I’d love to get some feedback from you all…

ale and notes

Hello folks!

I’m going to be away from early early in the morning until late in the day on Monday, and (likely) asleep until late (for me) morning on Tuesday, following the Midwest Morris Ale that I’m participating in this weekend in Minneapolis Minnesota. The following notes are of interest:

1. I’ll have my Blackberry, so if you need to get a hold of me, call, email, text, whatever. I can’t promise that I’ll be super responsive, but I won’t go completely silent, but I’m mostly offline for the next four days and some change. Sorry if this is a problem.

2. If you’re in the twin cities, I’d love to see you. Check out the Ale Website for more information. If you happen across a Morris dancer in the twin cities this weekend (May 22-25, 2009; likely on saturday) say, “I’m looking for Sam of the Capering Roisters” and someone will find me.

  1. No blog post on Monday.
  2. Take care of yourself.

land, institutions, and organization

As I mentioned in my link collection post, my thinking about co-operative economics has taken a brief foray into the area of leadership and governance, both on the small scale (eg “How do we organize our project, to acomplish our goals”) and on the larger scale (eg. “How do provide institutional support for the governance of our civilization”). Both are important and relevant questions, but it’s all complicated of course. Also, we should probably start of with a brief interlude of what an individuals labor/work activity might look like in a post-corporate economy, and then I’ll move into two interludes about leadership and government. Seat-belts fastened?

Post-Corporatism and Labor

We’re seeing some post-corporatism in the forum of an explosion of freelance and independent consultancies of various stripes and colors. Some key observations:

  • Many if not most people working in this don’t work full time for one employer, splitting their time and energies between a number of projects.
  • Freelance work allows people to develop flexible careers where growth isn’t dependent on moving into management careers.
  • Traditional “benefits” of employment (eg. health insurance, office resources, data connectivity, etc.) are increasingly procured either through ad-hoc agreements: eg. Marriage for health insurance, Co-working spaces, “Freelancers' Unions” and so forth.

Leadership and Co-Operative Governance

The question that I think I’ve failed to really address in during all of this “co-op” conversation is If corporations are replaced by cooperative organizations, how are projects managed and where does leadership come from? Indeed one of the biggest benefits/strengths of the corporation (top-down) model, is that corporations are really (or at the least reasonably) well organized and constituted, so if we’re doing away with the corporation, how do we remain organized and productive.

I should, as an interlude, reiterate that I’ve advocated for cooperative organizations on the basis that they’re more effective at creating real and authentic value, than the American/multinational corporation as we now know it. Furthermore, I’m totally convinced in the necessity and utility of effective leadership and management, for our productivity. The post-corporate economy isn’t a world without management, but rather a world with a smarter, more distributed system for management.

Part of the distribution of management comes from the fact that labor itself is to be more distributed. Just as we bring on engineers, artists, manufacturing in an often ad hoc way, we might also bring on project management and other “logistical professionals” to promote productivity. (Remember that coops are organizations that are unlikely to involve the direct labor of more than 100 or 150 people at any given time.) Higher level administration and guidance can be provided by small elected/nominated executive councils (a la, the KDE project, the Squeak Project, or the Debian Project) or in the “benevolent dictator” model (eg. Linus' for Linux, Larry Wall for Perl, Guido for Python, Dries for Drupal, Matt Mullenweg for WordPress, Rasmus for PHP, etc.)

Another “inherent” solution for providing management derives from the fact that cooperatives have a more pervasive project-based and goal oriented focus. Cooperatives, then, like open source software development projects, work on making something of value, (or providing valuable services,) don’t need to expend resources maintaining solubility. When a co-op finishes it’s project, the members move on to other projects and co-ops.

I think creative thinking about leadership in new environments requires a few basic assumptions:

  • Democracy is created by participation rather than by elections.
  • Management/logistical overheads grow geometrically while operations grow arithmetically.
  • Co-ops would exist to both create value, and serve the interests of its members. Corporations exist to serve the interests of the investors. The dissolution of a cooperative isn’t antithetical to the purpose of a cooperative in the way that it totally antithetical to the purpose of a corporation.

Land and the Problem of Government

I’m persistently convinced that the “State” (as in the United States) or province (in the Canadian/Australian sense) is probably a really ineffective way to organize and structure a government. A lot of the people who are object to the American government advocate for states-rights and taking power and authority from the federal government and handing it to the states (eg. Libertarians). This has always struck me as sort of foolish.

Not because I think local control is a bad thing, or I have any great love of the institutions of liberal democracy, but rather because States themselves fail to convey meaningful/practical/useful administrative or political units. A co-operative ethos would require (and need, though not--strictly speaking--depend upon,) a system where institutions and governance transpired along meaningful and practical political units.

Greater metropolitan areas make sense as administrative units (including those that straddle existing borders) in a way that states themselves don’t really. Gary Indiana and the City of Chicago have a lot more in common than Chicago and Carbondale Illinois. At the same time there’s a big problem with the city-state, as “the unit of government:” it fails to account for, integrate, capture, and empower people in less urban areas. Which is given the importance of food, is incredibly crucial.

I’m interested in thinking about how, particularly with new technologies, we might be able to conceptualize geographically based political units that integrate populations that fairly represents the interests/needs of people who live in areas with lower population densities.

link collection

I seem to have collected a rather lot of links that I think and hope you’ll find as interesting as I have. (Some of these are old, but still relevant):

In the vein of my economic/political posts of late, I came across the blog of Alexandre Enkerli, a nifty anthropologist and ethnographer that I found via identi.ca. Who says microblogging doesn’t have value? In anycase I have a couple of links, first a complaint against journalism, as a field, to which I’m incredibly sympathetic. I should probably write some more about journalism, both with regards to its social impact, but also about ongoing collapse of the journalism business. More importantly, however, Enkerli wrote an interesting piece about “a global network of city states” about government and institutional organization, which I rather liked. I’ve been thinking recently about institutions and governance as a part of the series on co-ops, and I think I’m going to make a foray into something more governmental here, soon.

Moving on from the economy, a couple of posts from futurismic which is one of my favorite blogs that I don’t read enough. It’s in the boing-boing vein, but Paul Raven is made of awesome, and I enjoy the niche. In anycase, this is a bit older, and it’s a post announcing another post where Douglas Rushkoff suggests that the economy isn’t worth saving. And then another from a few days later about the fantastic nature of the us economy.

I’m not sure how I feel about Rushkoff’s theories, and I certainly don’t think he’s the theoretical oracle of the networked age, but his thinking inspires pretty interesting thoughts, even if it’s semi-orthogonal. Can things be semi-orthogonal?

Finally new territory. I’ve been reading ultrasparky since, gosh, 2000 or there abouts, I think. Dan (sparky) wrote a post where he contemplated the recent history of blogging and in doing so expressed pretty much exactly how I feel about the current state of blogging. Read it, it’s good stuff.

And, oh look here, it’s a yet another Drupal-based, niche social networking site targeted at 20 and 30 something technologist-types. You’re probably uninterested, but it’s my niche, damnit. Also speaking of my niche, there’s a new social networking site for gay/queer geeks/nerds, calld doorq.com. For those of you who care, I suspect it’s running on DotNetNuke.

And now for some miscellanea: mongodb, a database engine that doesn’t have schemeas. like couchdb, only, less erlang. It all depends on how it gets used, of course, but I think Erlang is a good thing for couch, but who knows. Also: a bibliography of academic resources related to teaching and learning in second life. And an academic journal about information technology, policy, and culture (with an Australian focus), called fibre culture. I was particularly interested in this article about Schizoanalysis as Metamodeling, because I still have a lot of affection for Deleuze and Guatteri and their theories.

Finally an article, by O’Reily Editor Andy Oram, called From Open Source Software to Open Culture: Three Misunderstandings. And then a debate about the emacswiki. For background, EmacsWiki is really a working document and a discussion of different approaches--emacs already has a good manual, so the wiki fills a different niche. The wiki, as a result is very rough, coverage isn’t consistent across areas, some pages are basically discussions while others are more formal documentation, and the software is simple while the design is straight from the late 90s. I think it’s brilliant, but not everyone agrees.

That’s all I have right now. Enjoy!

free project xanadu

It’s my hope that this post will combine the following ideas:

1. The concept of “General Information” As Posited Samuel Delany’s 1984 novel Stars in my Pocket Like Grains of Sand.

2. The hypertext system, Project Xanadu, as described by Theodor Holm Nelson in his book Literary Machines (and elsewhere) which I’ve discussed on this blog recently.

3. The contemporary idea of distributed network service, as described in the Franklin Street Statement, and enacted by technologies like git, xmpp, laconi.ca and open microblogging, and others.


We value the Internet--really the “web”--as it is to today, because it’s diverse, and flexible. Web pages can look like anything, can do virtually anything from present the text of a book or newspaper to fulfill most of the functionality of your desktop computing needs. What’s more all this is indexed and made accessible with google search. That’s pretty cool.

While the web’s ad-hoc and disorganized structure has made many things possible, there’s no reason to assume that the future development of the web will continue in the current direction. microformats, and the proliferation of rss in “Web 2.0,” not to mention human generated portals like Mahalo (or google knoll, and even various WikiMedia Foundation Projects), all seem to point to a larger trend toward more structured, hand curated information.

As an aside, I think it’s interesting that hand-curation (more human involvement) in information networks while structured data means less human involvement those networks.

I should also clarify that by “more structured” I basically mean an end to web-design as we know it now. Rather than allow designers and--well, people like me--to have a say with regards to how pages are organized, information would be collected in containers with specific structures (headings, lists, tables, metadata, etc.) and the design or display would happen on the client side in the form of specialized browsers, Site specific browsers, but also domain specific browsers. (eg. use this program to view blags and microblog pages, and this program for reading pages from the news services, and this program to view x-new-class of sites). In short, adding structure to content wouldn’t limit the realm of possibility, but it would separate content from this stream of thought.

Structure is one part of the Xanadu-model of hypertext/content, and perhaps the most lamented by those of us who are… professionally frustrated by the lack of structure in the contemporary web, but I think it’s distribution and federation concepts are too often overlooked, and are quickly becoming relevant to contemporary technology.

Federation, to subtitle, is the set of technologies technologies that allow network services to function without always-on and real-time network. Federation avoids two other technical problems with distributed network services: first, it removes the need for centralized servers that provide canonical versions of content. Secondly, in a distributed environment federation removes the need for local nodes to contain complete copies of the entire network. Xanadu had provisions for the first aspect by not the second while the Internet (more or less) has provisions for the second, but not the first, and free network services--in some senses--attempt to bring the second form of federation to the web and to the Internet.

Federation, for free network services, means finding ways of communicating data between websites so that networks of information can be built in the same way that networks of computers have already been built.


In Stars in my Pocket Like Grains of Sand Delany’s “Internet” is a service called “General Information” or GI which exists in a neural link for some of the characters. GI isn’t always complete, or accessible in it’s most up to date format--and it’s users know this--and accept it as a price for living in an interstellar society, but it is accessible on an interstellar level. GI, like free network services is built (either implicitly or explicitly) with the notion that a node on the network could go offline, continue to develop and be useful, and then go back on-line later, and “sync” with it’s peer nodes, thus creating some measure of resilience in the network.

The contemporary network uses a resilient routing system to “get around” nodes that drop offline, whereas a truly federated system would store diffs across time and use this “temporal” information to maintain a consistent network. This sort of consistency is going to be really useful--not only because it would allow individuals and small groups to provide their own networked computing services locally, but also because providing data connectivity that is free, always-accessible, fault tallerant, and high speed, is unlikely to appear universally… ever, and certainly not for a long time.


I suppose the next step in this train of thought is to include some discussion of my friend joe’s project called “haven,” which would tie this to the discussions I’ve been having with regards to databases. But that’s a problem for another time.