Openly debating open source


As you know I’m a huge fan of Ubuntu. I’ve been talking about the latest release now for some time, in fact you can see a brief presentation I gave not very long ago at The Team‘s Open Source Show and Tell.

We followed that up with a talk to the rest of the company about what Open Source is on Thursday and it’s been bouncing around in my head ever since. It resulted in quite a heated conversation about what Open Source as a community has to offer software development, theories about the development of open source and some potential advantages as well as the weighty topic of whether it will be taken up by the mass audience. The most contentious points seemed to be around the following three areas which I’ve tried to deal with in as honest a way as I can. I welcome feedback

Too much choice
It’s a valid point. Take a look at this diagram. It shows a reasonably complete list of the major versions of Linux you can choose. With goodness only knows how many cores, a multitude of window managers and then probably thousands of blog posts through the ages telling you which application you should use on Linux to replace that windows or Mac app that you use all the time it’s a daunting prospect for any newcomer. Incidentally, try this search for best twitter client in Linux. Hilarious results!

I don’t envy new people trying to make the move, it’s put me off on several occasions and I’m by no means hardcore. I like Macs – love the simplicity of good, better, best in their hardware lineup and have always admired how simplified the software was. Less really is more most of the time, I promise! The point I think we missed in the open source event was that really it’s not for everyone. This example is more about desktop Linux than the tools we’re using in our industry to build sites and applications but it’s related. If there are 101 different platforms out there with the potential to move from one to another at the whim of the community how do you make sure that a solution you built two years earlier is still supported? In reality that situation is no different to the situation you face by adopting a new technology like say Silverlight from Microsoft. It has a lot of competition in the marketplace and very little to differentiate itself at this stage from understood technology. It wouldn’t be a complete surprise if Microsoft were to remove it from their lineup at some point in the future if it fails to make any real headway against Flash. They would, of course honour their obligation to customers who bought the short support contracts but 2 years down the line you still have the issue that your online store/ micro site is now in a technology that is no longer supported by the vendor. Where an open source solution can help here is in the fact that it is likely written using open data standards. Meaning you can get your data back out again and migrate to the next big thing along with the rest of the herd. If presented with a solution written in an old system I think any company updating a site would simply liberate the data and toss the old solution aside and that’ll happen regardless of the type of solution chosen up front.

OK, so you can contribute but what if your contribution isn’t taken up?

This is a really important point and we barely discussed it the other day so I want to pick it up and start with a quote from vocal community manager Jono Bacon who works for Canonical, the company that backs Ubuntu.

The enemy to community is when people start to feel a sense of entitlement … when people start to think “You know what? I should be treated this way because of who I am and because I’ve done this!”. People should rightly feel respect for their contributions but that doesn’t mean they should feel a sense of entitlement.
Jono Bacon – Canonical

One of my colleagues made the point that if his contribution that he thinks makes the application better is ignored by the people running the development process then that’s no different to him wishing Microsoft would update a feature in Word to work in the way he likes it.

Again, we missed the point here and I think Jono’s quote from this podcast is extremely timely. Open source’s remit doesn’t mean you’re any more entitled to be deciding the direction that the product goes in. It just means you can take it, make your own improvements and feed them back if you’d like to. The improvements that are considered most useful are more likely to get adopted into the core product in offered back to other users. It’s the same way that if one manufacturer of something makes an innovation that customers respond well to others will adopt it or something as similar as possible to keep up but you don’t get to walk into a factory and determine exactly what only you want. That’s because over hundreds of years of civilisation we’re come to realise that development/ design by committee is not the most efficient way of choosing a direction and getting something out there.

What about support?

We work with some organisations who will always be happier buying from a big name vendor so that they can pick up the phone and talk to someone on the other end. As easily as that number could be a big company technician it could also be us. When I worked for Oyster we developed a product called The Map of Medicine. It was built on a wealth of open source technologies. We were early adopters of Subversion, some SCRUM processes, and built the core product on a LAMP platform. We were cutting edge in 2004! Because this was a reference product used in healthcare there needed to be support and so a contract was negotiated that made us the technical support line. Rotating around the team was a mobile and developers were paid extra to be available on that phone 24hrs a day for short periods of time on a three rings to pick up support level. I think the phone rang twice and issues were resolved quickly and everyone was happy.

The support a client needs can come from anywhere. Software can and will fail and that’s why companies employ their own developers or the skills of agencies to build things for them and to look after them afterwards, but they’ve contracted us to build it so if the support contract buys the support of the people who built the solution surely that’s the best option too? It’s up to us to ensure we can support our own code and offer this important, and let’s be honest potentially lucrative, service to our clients to ensure their peace of mind and that we are considered long term partners. I’d much rather engage with companies over long periods of time than simply build a brochure site, make it live and walk away.

The other point made related to support and centred around the idea that if a solution from a big name service fails then your superiors will say, “Oh well. You bought the best, these things happen.”. If that solution was open source then even if it has millions of users and runs thousands of sites they could react badly because you’re using some freebie product that isn’t supported by the industry. I strongly disagree with this idea. In the web world it’s almost impossible to build something without using some open source software. Actually thinking about it, recently Gmail failed in spectacular fashion. Mail was down for hours and criticism was leveled at Google for the failure but not at the fact that their service was running on an open source platform. In fact a friend of mine who’s business uses Google Mail for their company e-mail commented that his CEO was very understanding about the failure because he like GMail. More so, my friend commented, than if their expensive Exchange server had gone down. It’s not an exact fit but the point I’m making is that the service is the thing that matters, not what it’s made of. I don’t think people really care about the building blocks of the solution as much as the service it offers. As long as it can be resolved quickly and their application can be easily maintained for as long as it makes sense then whether the solution is open source or not, free or not, is irrelevant.

We just have to make sure we’re picking the right solution for people. In some cases this will be open source, in others it’ll be something proprietary. We got distracted by the idea that anyone can contribute, on the fact that some solutions are a bit ugly – although my nice new Ubuntu desktop below I think is starting to say otherwise.

My Jaunty Desktop

We should have focused instead on the fact that this is another set of tools which have their own benefits and we need to understand it so we can offer it to the right clients.


One Response to “Openly debating open source”

  1. OK, so here are my feelings on these three areas:

    Too much choice. There is one important factor which should be taken into account here. As with all ‘too much choice’ scenarios, if there are good enough filters then the range doesn’t matter. As with the rise of Mac OS X, the most important filter is our friends and maybe family. If they’re trying it, and showing it AND it’s good enough, this is enough to tip the rise of open source operating systems into the mainstream. The selection process will be Darwinian – the best will prevail, and the best will keep changing. But I think we have a way to go.

    What if your contribution isn’t taken up? One of the best things about open source is that input is judged on it’s own merits. If it’s good enough, and you can provide sufficient narrative explaining your rationale, it will be taken up. Failing that you still have options; the project in question may provide a plug-in architecture so you can maintain and improve your functionality alongside the core project. You could create your own fork, and still build it using attributes from the core. Or you could create your own dedicated fork and take it in a completely new direction. All options unavailable to you under the proprietary model.

    What about support? My only contention here is that people should try it before complaining. It is generally very good and the cost of running a low level trial run with a new open source product is very low (free in terms of financial investment). That said, this is definitely one area that results will vary depending on the products (open source and proprietary), and it is therefore essential that all aspects of the software choice are measured and compared to make sure you choose the right system on merit.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: