Migrating to Open Source

Access/SQL to MySQL

If it is decided to shift from Access to a more robust, SQL-type database, MySQL and browser-based technologies provide a solid platform. The solution is scalable too, without the substantial licensing costs common in this area. Grant Paton-Simpson has been developing in Access for over a decade, and with SQL for several years. A recent project involves migration from Access/VBA to PHP and MySQL.

FrontPage/Dreamweaver etc to PHP

When upgrading a website it can be the ideal time to change the underlying technology. Usually it is possible to carry over large amounts of the previous website e.g. photos, smaller graphics, logos, content etc, while making the switch. One important benefit is the assurance that the website will work across the entire world wide web, not just on Microsoft browsers and operating systems. And if the website grows in complexity it is good to know that licensing costs won’t balloon prohibitively.

MS Office to OpenOffice (documents, spreadsheets, slideshows)

OpenOffice contains high-quality alternatives to the standard Microsoft products – at no cost. OpenOffice is also highly compatible with MS Office. It is easy to open, edit, and save MS Office files e.g. a Powerpoint presentation, from within OpenOffice. OpenOffice has its own Basic-type macro language (StarBasic) which allows power users the get the most out of their office software.

Why use browser-based databases?

All a user needs on their PC (or thin client for that matter) to run a browser-based database is a password, user name, and a web browser such as Firefox, Netscape Navigator, or Internet Explorer. This makes it easy to add new users to the system, even if they work in remote locations e.g. in a satellite clinic. Furthermore, there are no installation issues to consider – any machine, be it an Apple, Windows PC, or Linux computer, will work. And upgrading the system can happen once, centrally. The nightmares associated with deploying desktop software (which version of Windows 98 are they running? Did they install SP2? Is there a conflict with an existing Access installation?) can simply be sidestepped.

A web client-server architecture allows the administration tasks to be centralised with experts – which means that backups happen, virus protection is kept up-to-date etc.

Paul Graham puts the web services concept into clear relief in The Other Road Ahead.

The benefits for clients of open source software

The best, most widely-used web software available is open source software (OSS). The technologies are mature, mainstream, have superior security, and are widely available. Users of this software can avoid being locked into expensive licensing contracts, and can rest assured that their software is standards-based and future-proofed. And best of all, using OSS often costs only a fraction of the cost of alternatives.

The best, most widely-used web software available

OSS has the dominant set of technologies underpinning the internet and provides a complete technology stack (see LAMP) . OSS provides developers with a mature, mainstream set of tools for web-based development. OSS is also a sensible choice in terms of security, reliability, and scalability.

The most common LAMP combination is Linux (Operating System), Apache (Web server), MySQL (Database), and PHP (Scripting). This combination is particularly well served by the technical literature

Linux is now a mainstream operating system for business use. In servers, IDC predicts Linux’ market share based on unit sales will rise from 24% today to 33% in 2007, compared with 59% for Windows. In a survey of business users by Forrester Research, 52% said they are now replacing Windows servers with Linux. On the desktop side, IDC sees Linux’ share more than doubling, from 3% today to 6% in 2007, while Windows loses a bit of ground. IDC expects the total market for Linux devices and software to jump from $11 bln last year to $35.7 bln by 2008 (ref).

Apache is the dominant web server globally with over two-thirds of all active domains in the Internet being run on Apache (see chart).

Apache is also more reliable and secure than Microsoft’s web servers.

The development teams for Apache and PHP (and MySQL for that matter) work quite closely together, and Apache allows PHP to be run as a module.

MySQL is fast and there are numerous published and online resources available for developers working with this database – especially with PHP. SQLyog provides a user-friendly interface to database administration tasks, whether on the local development machine or on remote servers.

For an Open Source alternative with a more complete featureset, PostgreSQLl is a valid alternative. PostgreSQL 8 is the first PostgreSQL release to natively run on Microsoft Windows as a server. It can run as a Windows service.

PHP is the world’s most popular server-side scripting language (see below), and is one of the most widely-used computer languages.

With the release of PHP version 5, PHP offers developers the option of robust object-oriented programming.

Get Firefox!

Firefox, which is arguably the best browser in terms of features (e.g. tabbed browsing), security, multi-platform support (e.g. Windows, Linux, Apple), and standards-compliance, rounds off the OSS web package.

Clients are not locked into expensive software contracts

Small agencies wanting to make the move from MS Excel spreadsheets or MS Access databases to enterprise-strength SQL databases are often stopped in their tracks by the costs. And often the true costs are higher than expected when all the required upgrades are included. Even a small organisation can afford to get a full version of LAMP running.

Proprietary software can also bring with it licence-management costs or the risk of licensing litigation

One intriguing example is the musical instrument company Ernie Ball, described in World Trade, May 2002. A disgruntled ex-employee turned them into the Business Software Alliance (BSA); who then arranged to have them raided by armed Federal Marshals. Ernie Ball was completely shut down for a day, and then was required to not touch any data other than what is minimally needed to run their business. After the investigation was completed, Ernie Ball was found to be noncompliant by 8%; Ball argued that it was “nearly impossible to be totally compliant” by their rules, and felt that they were treated unfairly. The company ended up paying a $90,000 settlement, $35,000 of which were Microsoft’s legal fees. Ball then decided at that moment his company would become “Microsoft free.” In one year he converted to a Linux-based network and UNIX “mainframe” using Sun’s StarOffice (Sun’s proprietary cousin to OpenOffice); he now has no Microsoft products at all, and much of the software is OSS/FS or based on OSS/FS products (ref)

Standards-based equals future-proofed

Storing data in a non-proprietary, standards-based format is the safest approach for the long-term. Which is why some governments support OSS for long-term data storage. They know that they may need to access data, not just in 30 years, but in 300 years time. With proprietary data formats, even changes between versions of software can render data unreadable. And following open standards means more competition and lower costs