The philosophical commitments to dialogue, the acknowledgement of the creative contribution to the other, the expectation of creativity happening in the spaces in-between, and open disagreement seeking consensus discussed in the last couple of posts find remarkable parallels in the community of participants in Information and Communication Technologies (ICTs) and especially web 2.0. These ethical commitments are being embodied every day in the lives of a whole bunch of software engineers and programmers.
There are three ways I reckon these commitments are embodied in ICTs that I’m going to write about here:
- Open Source;
- Hyperlinking; and
- Perpetual Beta.
I wrote previously about what open-source means and how I think this blog is my anthropological source-code. By way of illustration, have a read of this abridged list of guidelines for creating good open source software from Eric Raymond’s important essay “The Cathedral and the Bazaar” – replace software with ‘project’ and developer with ‘researcher’ and see how much it sounds like collaborative research:
- Every good work of software starts by scratching a developer’s personal itch.
- Good programmers know what to write. Great ones know what to rewrite (and reuse).
- Plan to throw one away; you will, anyhow.
- If you have the right attitude, interesting problems will find you.
- When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
- Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
- Release early. Release often. And listen to your customers.
- Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
- Smart data structures and dumb code works a lot better than the other way around.
- If you treat your beta-testers as if they’re your most valuable resource, they will respond by becoming your most valuable resource.
- The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
- Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
- Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.
- Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
One of the most potent forces in social media is the hyperlink. If you are writing a blog post – or even a facebook update or tweet – and you refer to someone else (or someone else’s work) it’s good manners to link to them. On a blog, this will sometimes come in the form of “The Hat Tip” – at the bottom of a post, you’ll see h/t and a link to a person/blog. There’s an expectation in the online community that people ought to be recognised for their contribution – for the knowledge they contribute.
The final correlation between collaborative methods and web 2.0 I want to talk to you about is the idea of ‘Perpetual Beta’. Beta is the term given to software that’s in ‘testing phase’. It belongs to a model of production that creates a prototype, tests it and then releases a final – static – product into the market. Perpetual beta is the idea that a program is never finished. It’s constantly in a state up being updated, refined, in a state of process. It’s dialogue if ever I saw it.