free software
BBC Radio 4 on Open Source
MJ Ray points towards a BBC Radio 4 programme on Open Source by Paul Bennun.
I've just listened to the programme and it contains some wonderful ideas about how software is unique in the world, being a collection of ideas rather than a collection of physical components. It's an insightful, well balanced exploration of Free and Open Source software and how it is a social rather than technological phenomenon.
I particularly liked a quote from Nick McGrath, Head of platform strategy for Microsoft in the UK.
"We don't compete with the Open Source community, that would be like trying to compete with the weather".
Second Life Client Open Sourced
In my fourth blog post of the day, Linden Labs has Open Sourced the client for Second Life in a blog post entitled Embracing the Inevitable.
Linden Labs always said that Open Sourcing the code was part of the long term plan, I remember an interview on LUGRadio a while back. It's a shame it's only the client and not the server-side code, but they say they are staying open minded about that. One step at a time.
My dream (as I described in March) would be a distributed system where anyone could set up their own server. It would use web standards and would just be like a collection of 3D web pages in X3D. It might be difficult to attain the same kind of user experience you get with Second Life, but it would be a great extension of the web.
Update: I've started a wiki page posing the question "What would be required to create a 3D web with a similar user experience to that of online virtual worlds like Second Life?". You can log in with username:iwontspam password:ipromise or start a new account. I'd value input.
Open Standards and Free Software are making me OS-agnostic
I use three different operating systems on a daily basis - Windows, Mac and GNU/Linux - yet my data is always the same and I often use the same applications. Here's what I use on a regular basis:
| Task | Open Standard(s) | Free Software Application(s) |
|---|---|---|
| IMAP | Thunderbird | |
| Calendar | iCalendar over WebDAV | Mozilla Calendar |
| Contacts | LDAP | Thunderbird address book |
| Documents | OpenDocument | Open Office |
| Music | Ogg & MP3 over HTTP | VLC Media player |
| Pictures | SVG, PNG, JPEG | The GIMP, Inkscape |
| Code | Subversion | Eclipse & Subclipse |
| News | OPML, RSS, Atom | Thunderbird news reader |
| Chat | Jabber & IRC | Gaim |
Sometimes I'll use an OS-specific app if it provides a better experience, but still uses open standards. For example, I use iCal, iChat, iTunes and Address Book on the Mac with iCalendar, Jabber, MP3 and LDAP respectively (I know, MP3 isn't entirely open). I can easily chop and change which application I use, or even use different ones at the same time because my data is stored in such an accessible way.
Although I believe that desktop Linux is very important and Ubuntu is my first choice of OS, what's more important is the open standards it uses for managing data. Free software won't fend off proprietary software by building a better desktop, it will win by making the operating system a user is running almost irrelevant.
What I'm working towards at the moment is hosting all of my data across web servers and having a web application to manage each type of data. That way I can access my data on any device with a web browser - including my phone and Internet tablet. I've had a web server at home for a couple of years now which I store some of my data on.
Web applications I've been using include:
- Horde IMP
- GMail
- PHPiCalendar
- Google Calendar
- Google Docs & Spreadsheets
- Ampache
- Flickr
- Gliffy
- Trac
- Gregarius
- Google Reader
Some of these are hosted by companies, some are hosted on my own server, but what's important is that they use the same open standards.
One of the aims of Moya is to create a home server which manages all of these types of data and provides a web interface, making the client operating system irrelevant.
Google Web Toolkit Open Sourced
Google have released the latest version of the Google Web Toolkit under the Apache 2.0 License. The Google Web Toolkit is a toolkit for creating "AJAX" web applications by creating a Java application, then "compiling" it to JavaScript and HTML.
I've always been quite interested in the toolkit, but "compiling" Java to JavaScript always seemed like a novel but messy idea to me. However, after to listening to two podcast episodes by its creators, I've become more interested.
It seems that the choice of the Java language is purely based on the tools available to create applications with that particular language. The GWT is for creating cross-browser JavaScript and HTML user interfaces without having to worry about browser quirks, using existing powerful development tools. You can use any server-side language to generate the JavaScript & HTML once you know what needs generating, so GWT could easily be used in conjunction with PHP, Python et. al.
Something I particularly like is the philosophy of not forcing you down any particular design path, but supporting as many as possible. For example, if you happen to be using the Model View Controller design pattern, GWT would be brilliant for creating the "view" part, and you could use something else for the Model and Controller parts. Or you could not use Model View Controller at all. Also, you don't have to use the whole toolkit, you can use just parts of it, the components are designed to work independently of one another.
I'm still not sure that "AJAX" web applications are the best solution for software as a service in the long term, but they're certainly the best technology currently widely supported, even if you have to deal with browser quirks to ensure compatibility.
Novell to drop Hula
I'm very sad to hear that Novell will be dropping Hula and withdrawing the lead developers. They claim there is no market for the product, but I know that a lot of people (including me) have been looking forward to a first official release for a long time. Perhaps this is just a result of their recent cosy relationship with Microsoft.
The Hula Project is (was) an email and calendaring server with Googlesque web interfaces which was set to rival Microsoft Exchange. I was particularly interested in the CalDAV support for calendaring and LDAP address books. The problem was that it has been in development for so long and other projects have sort of filled the void.
I'm sad that the Hula Project has lost it's commercial sponsor and I now can't help but feel that it was given away in the first place because it was considered to be of no commercial value. But I hope that this is only the beginning. I hope that the open source community can now adopt this project and it will live again, perhaps under a different name.
Migration to Free Software
I think that the key to making people comfortable with changes in the software they use has a lot to do with familiarity. If you put someone in front of the most user friendly operating system in the world but they're used to something else, they will find it difficult to operate. People get surprisingly attached to ways of doing things, and can feel quite uncomfortable with the idea that they no longer need to press the "Start" button to turn off their computer for example. When I first used an Apple Macintosh computer it took me five minutes to figure out how to open the CD-ROM drive because the eject button just wasn't where I expected it to be. It wasn't that the button was in a counter-intuitive place, it was in fact on the keyboard with all the other controls. My problem was that I was just used to the eject button being next to the CD tray.
