Mobile navigation

FEATURE 

Open-source software: is it the way forward?

Some very big players, including the Financial Times, the Economist and even the White House, all use freely available software. Too good to be true? Michael Upshall looks at the whys and wherefores of open-source software and highlights the questions you need to ask.

By Michael Upshall

Software that is given away rather than sold – isn’t that what is meant by open-source? And if it is given away, you might ask, what’s the catch? Open-source software (common examples are Wordpress, Drupal, and Joomla) is used to create and manage content-rich websites, ranging from a simple Wordpress blog to a large-scale Drupal site with hundreds or thousands of pages, typically including text, images, audio, video, and other content types. Open-source software is also used for customer management and e-commerce, as well as providing the software that powers many of the world’s largest websites (Linux, Apache, and MySQL are all open-source).

With traditional software development (the 'proprietary' model), software is never given to customers, only licensed on a fee basis. Vendors keep the code out of view (hence "closed source") so that customers cannot alter the product – they must purchase upgrades from the vendor, and typically pay an ongoing licence fee as well as paying for any upgrades or enhancements. By contrast, open-source software development is charged not for the software, but for the work of installing it. Upgrades to the software are free (apart from the cost of installation).

Clearly, open-source software must be important because it is so widely used: according to the website trends.builtwith.com/cms, Drupal is used for over 280,000 websites, Joomla for over 1.4 million websites. Notable publishers using open-source include the Financial Times and the German newspapers Die Welt and Die Zeit. The Economist uses Drupal to create its main site, www.economist.com.

One of the great advantages of open-source software is that small sites can benefit from leading-edge technical innovation, such as the latest search engine software, with faceted searching, predictive search, and other enhancements, which were formerly restricted to sites with the largest budget.

Flexibility of open-source

But perhaps the biggest advantage of open-source software is its flexibility. Drupal is typical in this respect. Like most open-source website management programs it comprises a compact core, to which can be added self-contained modules for additional functionality. Hence, when people claim that open-source software is “good at creating communities”, they are usually referring to the widespread availability of modules for providing community integration, rather than any inherent capability in the core program.

I spoke to Greg Harvey of open-source development company Code Enigma, about the website they created for Economist Conferences in 2009. The site, which covers energy, retail banking, and innovation, includes video clips of recent events, details of forthcoming conferences, and a calendar of events. The Economist was already running Drupal, and this particular site was one of several business units within the organisation that adopted Drupal to take advantage of the consistent platform being adopted elsewhere in the organisation.

As part of the development of this site, Code Enigma created a new Drupal module, which integrates Drupal to LinkedIn, the well-known business contact service. In true open-source fashion, the developers donated the software for free reuse (it can be viewed and downloaded here). To date, over 250 other organisations have downloaded this module. It is the constant development and enhancement of modules by the user community that ensures that open-source software is not left behind in the race to ensure compatibility with other software - a browse through the available modules for Drupal reveals that there are similar modules for linking to other social networking tools such as Facebook and Twitter.

Why would software developers give away code for free in this way? Greg Harvey listed four main reasons. “Firstly, it enhances our reputation: it shows we know what we are doing. Secondly, we get assistance from other open-source developers, since they review our code and make suggestions to it. In addition, once the code is in use, users provide suggestions for product development to improve the product, and of course, the users report issues to us. The larger the user base, the more thoroughly tested the software becomes.” In other words, open-source development provides an opportunity for smaller development companies to show their skills in building tools for use with mainstream software.

Possible snags

Are there any drawbacks in using open-source software for publishing projects? One genuine issue is to define what open-source is. There’s nothing to stop any company declaring their code to be open source, and giving it away. This does not prevent lock-in to the vendor - users still have no choice but to go back to the original developer; and a simple declaration of open-source status will not create the large and active community of developers who ensure that Drupal and Joomla are continually enhanced and debugged. The real value of open-source software is the number of people using and updating the code. One simple rule for effective software development is that the more people who look at the problem, the easier it is to fix (popularly known at Linus’s Law: “Given enough eyeballs, all bugs are shallow”). But this is true not only for software in development but for software in use. The more users for a software program, the more it is debugged, as long as there is an efficient process for maintaining the code. On the Drupal site, everything is open to view: the number of bugs for each module and when they are fixed.

Actually, open-source software such as Drupal is not given away completely free. It is freely distributed under a license that states users can only redistribute the code on the same terms on which it is given in the first place. In other words, resellers can charge for customisation, for additional software, but not for the code itself. They can also, if they choose, provide a warranty. Open-source software itself is typically distributed without a warranty. If the program has a bug, you cannot claim against the code itself. However, in most cases, the company providing the software will also provide a warranty for the compilation they are providing.

Again, the fact that there are no fees to maintain the software doesn’t mean it doesn’t need to be maintained! It is a common misconception about open-source software that because it costs nothing to obtain, it has no cost of ownership. As with any major software, regular updates and security fixes need to be incorporated as they are released - in the case of Drupal, software updates are released every few days. Paradoxically, many would argue that open-source software is inherently more secure than proprietary software, because the code is open to view – expert consultants can see for themselves how the code is structured rather than relying on the proprietary code vendor to deal with all threats. If necessary, they can they can alter the code to heighten security. That may well be why Drupal is used for the White House website.

Is there any role for proprietary software companies?

It may not be the end of proprietary software as we know it, but certainly the explosive growth of open-source software has made purchasers look very closely at their relationships with existing proprietary software vendors.

Some things don’t change: it’s worth remembering that a publishing website has the same requirement for success as any other piece of software, whatever the software tools used. Unless it meets a genuine user need, it will have failed its purpose. So the answer to the question “open-source or proprietary?” does not affect the need to establish user requirements clearly.

Where then is the advantage of proprietary software tools? I talked to Sandra Higgison of Shared Services Link, a company that provides a community for e-invoicing and finance professionals. They use a proprietary software for their website, from the London-based WORKSsitebuilder. One powerful reason for choosing this developer, explained Sandra, was because of her company’s size – as a small company, Shared Services Link has limited technical knowledge. By choosing a program with full maintenance and support provided, they were able to focus on what they do best, which is to create content on the site. “Our job is to add value, not to understand technology”, commented Sandra.

The software developers created the site in just six months, with the first phase of the website launched in November 2010 – impressive timing for a major website overhaul. The developers are continuing to work with Shared Services Link to integrate email marketing software and customer relationship tools with the website. Sandra commented: “It’s great having an account manager who understands what we’re doing and what we’re focusing on and can help us translate this into the technical language their developers need. We have quarterly retrospective meetings to pinpoint lessons where we could do better in the future, to keep them up to date on our news and strategy, and hear what they’ve been doing with other clients that will benefit us.” In other words, they benefit from a guided approach from a company that takes the time to understand their needs. There is no reason why open-source companies could not offer the same account management skills, but it is certainly true that many open-source development companies comprise small teams who focus on code development and integration rather than the wider-ranging relationship management that the larger proprietary vendors offer.

In conclusion, it might be worth asking yourself the following questions if you are considering a redevelopment of your publishing website:

* Can I find an open-source solution that meets my needs without extensive customisation? If so, open-source may well be the answer you want.

* Do I need ongoing hands-on support for the site during and after the build process? Some proprietary vendors excel at providing this support.

* When choosing an open-source developer, look for evidence of their involvement with the open-source community. Have they, for example, donated any code to the community? Is their code widely used?

* How well do the developers understand what we want to do? This is equally true for open-source and for proprietary companies.

In other words, there is no single answer that determines what is best for your publication. But it certainly pays to consider both approaches carefully.