Home | Services | Events | Features | Interviews | Profiles | Reviews | News | Resources | Press | Archive

Posted: Mon, March 17, 2003

Open source software for business

By Dafydd Rees

Office productivity
Databases
Web projects
It's not about price - it's about confidence

"Open source software" is software that is provided with the source code used in its production. Although the availability of source code might seem just a curiosity for developers, it claims a few important benefits, notably that since more people read this source, defects are likely to be found and corrected sooner and that the customer won't be "locked in" to proprietary systems.

Perhaps the best know example of open source software is Linux. Linux is an open source operating system freely available on the Internet. Although Linux has yet to achieve a significant following as a desktop operating system, it has made significant gains in the server market. It is widely used as a platform for running websites, mail systems and file servers.

Although Linux itself is known to many as a single entity, it's made up of many different subsystems. Strictly speaking, Linux itself is only a small, central part of the system itself, called the "kernel". The remaining software, including user applications, are written by third parties. Assembling a relatively simple to-use, shrinkwrapped, user-centric CD bundle is the work of organisations like Red Hat and SuSe who select, build, and integrate all the different subsystems in much the same way that a PC manufacturer builds computers from motherboards, CPUs and other third party components.

The fact that Linux is available in many distributions illustrates an important difference between most open source software and commercial shrinkwrap products: the developers, and the central website for the project are more likely to be developer-focused than user-focused.

Most open source websites are striving to build a community of people that will contribute to the software rather than to sell and support a commercial product. This means that habitual users of shrinkwrap software can easily find open source project websites frustrating and unhelpful. Bear in mind that this is because many of the sites are really a window on the development process rather than an after-sales support service.

Netscape's decision to release an open source version of its browser proved to be a breakthrough in the development of the open source movement. In order to outrun Microsoft's development of Internet Explorer, Netscape took the bold step of releasing the source code of its browser to encourage third parties to use an improve their source code. (Obviously, carefully crafted legal agreements allowed Netscape to use improvements returned from third parties in their commercial releases.)

The difference here was that although many variations of the Netscape code became available, it requires development skill to download and assemble the code. Even then, people might not trust third party modifications. This meant that Netscape could continue to charge for an official release version, supported and packaged in an easy-to-use format. This event marked the starting point for many other companies to launch open source products.

As a matter of terminology, it's worth noting that "open source" isn't the same thing as "free software". The Free Software movement includes the concept of being able to inspect the code used in a software product, but also embraces the notion that software purchasers and users shouldn't be bound by software patents and restrictive licence agreements. As Richard Stallman Richard, founder of the Gnu Project describes it: "Free as in Speech", not "Free as in Beer". (Further information about the Free Software Foundation can be found at http://www.fsf.org .) The open source community is more pragmatic, and not all open source projects or products aspire to the ideals of free software.

Office productivity

Sun Microsystems decided to open up development of its office productivity suite, StarOffice. Like many companies supporting open source initiatives, they decided to take a similar strategy to the one adopted by Netscape. Distribute a free, open source product (OpenOffice) and use it as a basis for a commercial product (StarOffice). In this way they can obtain technical feedback and improvements from a community of developers.

It's clear that Sun are attempting to compete directly with Microsoft Office. For those who aren't familiar with the corporate politics at Sun, here's the strategy: people won't switch from Microsoft Windows because they need Microsoft Office and that doesn't run on Sun's operating system. Naturally, StarOffice runs on Linux and Solaris as well as Microsoft Windows. OpenOffice and StarOffice offer word processor, spreadsheet, and presentation applications. StarOffice also a tool for producing reports from a third party database product.

It takes only a few a hours of use to become comfortable with OpenOffice, and there's very little difference between OpenOffice and StarOffice. Perhaps some will feel more comfortable with printed manuals and official product support available with StarOffice, given that it's relatively cheap at £50 in the UK. On the whole both OpenOffice and StarOffice have startlingly good functionality, meeting Microsoft Office feature for feature in most areas.

Despite the fact that both packages can load and save Microsoft Office files doesn't mean that they implement Visual Basic for Applications, the native scripting language used in MS Office. If your work involves receiving files from MS Office users that rely on scripting to do some automated task, that task is unlikely to function in OpenOffice and StarOffice.

Similarly, MS Office has an application programming interface (API) that allows programmers to drive programs like MS Excel. Obviously, no other office productivity suite is going to be able to support all of this API and the proprietary Visual Basic for Applications language. It's difficult to see how Sun or any other package developer could overcome this problem. Of course, if you work somewhere that has explicitly bolted Microsoft Office into its internal applications, its unlikely that you will be able to switch to any other office package in the near future.

It's also notable that neither OpenOffice nor StarOffice have a contacts manager application. (A previous edition of StarOffice, indeed used to have a contacts manager.) These days, many people have pocket or handheld computers, or synchronise their mobile phones against their contact manager. Most mobile device manufacturers are only interested in making their devices synchronise with the market leader (Microsoft Outlook).

Despite these limitations, for most users that need to write convential business letters, documents and spreadsheets I'd certainly recommend trying OpenOffice. (See http://www.openoffice.org)

Databases

The two major database systems in the open source world are Postgresql ( http://www.postgresql.org ) and MySQL ( http://www.mysql.com ). These are both server-based databases like Oracle and Microsoft SQL Server rather than simple desktop databases like MS Access.

Postgres is the more mature of the two, and supports some sophisticated features such as table inheritance. MySQL on the other hand is faster, although until relatively recently, it hasn't been able to support proper transactional queries. (However, even older versions of MySQL can be used quite safely in some applications where transactional support isn't needed, for example implementing caches.)

In order to get data from both Postgresql and MySQL into your desktop applications, Windows users will need an ODBC driver. (An ODBC driver is a piece of software that makes streams of data from your database available to other applications running on your PC.) Both MySQL and Postgresql have ODBC drivers that you can download. Using these drivers you can typically populate spreadsheets with live data from your database, even though that database may be running on another machine on your network. People using Postgresql may be interested in the webpage at http://techdocs.postgresql.org/guides/GUITools where a list of graphical tools for manipulating postgresql databases can be found.

Web Projects

One of the best known web servers is an open source development project called Apache. It's overwhelmingly likely that you've visited a site that runs on Apache. (BBC Online and Amazon.com for example are both heavy users of this no-cost, open source web server).

Apache is a success story in the open source world, given the fact that it has attracted a great deal of support from the concept of "modules" that can be plugged in to the basic product. It has modules for different types of security features, user tracking, customisable logging, and applications developed in many different languages.

Many security holes have been found and plugged in Apache. We can only speculate about the state of code in non-open source web servers. With Apache, developers have been volunteering fixes, rather than just reporting problems. It can be argued both that Apache is widely used because it has many modules, and that it has many modules because developers are willing to invest time writing modules for Apache because it's such a high profile project. Although the Apache project was originally developed for Unix and Linux-based machines there is now a Microsoft-Windows NT-based derivation, although it hasn't reached the same level of maturity as the original version. (See http://www.apache.org )

In addition to using open source as a means of getting a community of collaborators to contribute to the breadth and quality of the codebase, some open source projects have involved creating "reference implementations" of a standard. The Jakarta subproject within Apache works this way ( http://jakarta.apache.org ). Jakarta produces Tomcat, the reference implementation of the Java servlet specification. In other words Tomcat is the most up-to-date Java-based web server available. Tomcat provides a working implementation of new features for engineers at infrastructure companies such as IBM, Oracle and Weblogic - where they strive to produce higher performance implementations.

As a developer, downloading and trying out Tomcat can provide familiarity with features not yet available from commercial sources. For low-volume websites, Tomcat may well be fast enough not to warrant a commercial Java web server after all.

The James Apache subproject is a Java-based mail server, capable of holding mail accounts for a department or a small company. As with Tomcat and Apache itself, James is a no-cost solution freely available from http://jakarta.apache.org .

Another interesting example of a company wishing to share an improve its technology can be found in http://www.openadaptor.org . This project provides a framework for integrating different systems that use messaging technologies, such as message queue-based banking software. In order to benefit from external developers and mature their codebase, Dresdener Kleinwort Wasserstein chose to open up their codebase as an open source project.

It's not about price - it's about confidence

There are a lot of open source projects in the world. Most of them are experiments and hobby projects. Most of them are only usable by developers interested in a specialist area. However some influential companies and consortia are using open source development as a means to build a community of enthusiasts, actively interested in their product.

The business benefits include gaining contributions from the public, and increased loyalty. Technical people supporting business users also gain, by getting better access to technical information and because access to source code makes it difficult for vendors to lock companies in to proprietary formats.

When evaluating a product or an open source project ask yourself four questions:

  • "How free is the technical information?" All open source projects should provide complete source code.
  • "How mature is this?" Care needs to be taken to avoid vapourware and stale projects. Recent postings on a forum and documents with recents dates are a good sign. The best sign of life is a web-accessible code repository with a healthy number of files added over time right up to the present.
  • "How much does this cost?" Not all open source projects are free. Some companies like Arsdigita Corporation gave away a platform but charged for consultancy and extra development.
  • "How easy is it for everyday users to operate?" This is the big weakness for most open source projects. The user usually comes last on the list of priorities, because most of the effort on websites and in documentation seems to go in to attracting and retaining a community of developers. Only the most mature projects and those funded by corporations are likely to take ease of use seriously.

    It's not about price, it's about confidence. Few projects manage to meet all four criteria, but those that do, should give customers a great deal of confidence.

    About the Author

    Dafydd Rees is a software developer specializing in Object Technology and a former student of Swansea University's Computer Science Department.





  • Home | Services | Events | Features | Interviews | Profiles | Reviews | News | Resources | Press | Archive
    About ITWales | Privacy Policy

    All material on this website ©2002-2008 ITWales
    spacer

    Search ITWales

    Advanced Search
    envelope Subscribe to
    ITWales Updates
    Click Here!