I have been using free/open source software in one form or another for more than ten years, and it now comprises the largest slice of applications I use. But at his forum I became conscious of something new: open source is not a computer geek curiosity any more, it is being used widely in many areas of engineering and natural sciences by folk without any sort of informatics background. A revolution may be on the brink.
This log entry is a simple list of applications that today permit doing pretty much what one expects to do with a computer, but all being open software. Starting with the basics, it is heavy on Geographic Information Systems (GIS) software, but also points to applications on other areas like education and management. At the end I leave a few notes on how to experiment these applications and environments without compromising your present system.
Start up
- Ubuntu – well, first of all you need that application that runs when you press the “on" button, gets you in contact with the hardware and presents a pleasant and friendly graphical interface. Without disregarding other Linux distributions, Ubuntu is today possibly the easiest to install and use open source operating system, and it comes on a series of flavours to better fit your needs. More on this chapter later.
- Thunderbird – ok, now you can interact nicely with your computer, but such machine is only fun when you can use it to interact with other people, so you may start by installing an e-mail client. My favourite is Thunderbird, easy to configure, effective in dealing with spam. Some folk have issues with disk space, but you can command it to use less.
- Evolution - a suite integrating an e-mail client, address book and a calendar. Never tried it but it is getting famous and comes by default with Ubuntu Desktop. Since I'm pretty happy with Thunderbird I don't feel the need to try, but I should do it some day.
- Sunbird - this is the Calendar I use, simple, no complications.
- Pidgin - the open source chat client of the day. I quitted this sort of applications some time ago because they can be quite time consuming (ok, not the applications, all the folk at the other end of the line), but the outstanding number of networks Pidgin can connect to make it quite appealing. Also included with Ubuntu.
- Google Chrome - but e-mail and instant messaging are just two of the ways with which you can connect to that knowledge monster called the internet, to take broader advantage of it you need a web browser. I strongly recommend Google Chrome; have been using it for a week and half and I'm already surrendered to it, everything's pretty clean and easy to use. This is, I think, the first open source application ever produced by this giant software house, they are starting well.
- Firefox - well, there isn't much else to be said about it, the first open source application to reach serious market penetration, I used it for a long time until I found Chrome. It is also included with Ubuntu.
- OpenOffice - but alas, some people actually use their computer to work. The first application connected to work most folk think about is the office suite. I started using OpenOffice with version 1.1 when the problems where probably more than the benefits, although by then Writer was already an acceptable application. With version 2 both Writer and Calc were already fully usable applications that I gladly embraced; at this time graphs at Calc were limited and I got the impression that Impress didn't really work. With version 3 graphs reached a very satisfactory level and I can now actually make my presentations with Impress; some difficulties persist with this last application but I wonder if they are now more on the user's side than at the application's. OpenOffice is also having another important impact by complying to the OpenDocument format it is freeing users from proprietary closed formats, that in the case of Public Administration is much more than a simple inconvenience. The full suite (including also Base, Draw and Math) is also included with the Ubuntu package.
Before moving on I must note here that a fresh Ubuntu installation contains all the applications needed by most folk. Even many engineers with whom I interact, don't go much beyond using a spreadsheet. Naturally there are applications and databases built ad hoc for the business/organization in question, but these invariably provide web based interfaces, for which a simple web browser is enough.
Data Base Management
- PostgreSQL - the momentum this Data Base Management System (DBMS) is picking up is quite staggering, possibly getting stronger than what Firefox made in its hey day. At the forum we had Olivier Dorie from the French Geographic Institute presenting how on a several year project they managed to gather all of the country's topography on a single database managed by PostgreSQL (and its spacial component PostGIS) now comprising more than 100 million data entries. This is an example of the state of maturity PostgreSQL has reached. The case is so serious that proprietary DBMS vendors were forced to release light-weight free-of-charge versions of their products. Still, PostgreSQL remains a superior option for two reasons: it is open source and includes the spatial extension. I have been using PostgreSQL for some time, but only to keep a few personal databases, so far I'm pretty happy with it, although interacting with a DBMS without using a command line interface leaves me a bit nervous.
- PG Admin - this is the secret being the success of PostgreSQL, a simple and friendly graphical management interface for this DBMS. It relieves the user of many technicalities in interacting with the “monster" a DBMS can be, making PostgreSQL useful from the tiniest personal database to the monolithic enterprise data warehouse.
- Firebird - before knowing PostgreSQL I used this DBMS and recommended it to my database students, together with Squirrel (see following). It still is a system to consider (especially for high performance applications, although here you have to pay) but the inclusion of PostGIS with PostgreSQL pretty much obliterated it.
- Squirrel - this is a fine graphical DBMS interface I used for a long time and also recommended it to my students. Up until 6 months ago it still wasn't able to present triggers associated views which is quite annoying and eventually made me trade it for PG Admin and Oracle's sqldeveloper. As a final note on databases, when I started teaching the databases course I immediately decided for open source software but was worried that my students (who didn't have any computer science background) would struggle with it; to help I made available on the internet a small document in Portuguese explaining the basic steps of installing Firebird and Squirrel on a Windows system. To my surprise not a single student had problems installing and running the software, my first real life example of free software reaching maturity.
Virtual Environment
- GISVM - some time back Ricardo Pinho, a GIS guru, was facing a problem that you might be now experiencing: how to test all these new systems and applications without quitting the primary operating system? Fortunately, microprocessors since the Intel 80386 generation allow for the creation of virtual environments – something like a virtual computer running inside your computer. This feature never worked quite well until the latest generations of microprocessors, that physically include more than one processor in a single chip and since then software to create and run these environments proliferated. So Ricardo had the idea of creating such environment with a Linux operating system (Ubuntu) and complete it with a collection of GIS software for experimentation. He went on the web to search for similar things and found none, then decided to create a website making his virtual environment available for everyone and it became a success. This is an extremely useful tool, and since Ubuntu includes a paraphernalia of other free software it can be a simple way to get to know Linux and the open world in general.
GIS
- QuantumGIS - possibly the most recognizable name in open source GIS, it evolved as a user friendly graphical interface for GRASS, an old open source GIS system from the command line times, becoming an official project of the Open Source Geospatial Foundation (OSGeo) . It provides a wide range of features to visualize, manage, edit, analyse data, and compose printable maps comprising a very complete package that is extensible by additional plug-ins.
- gvSIG - this is a multilingual GIS that can handle both vector and raster data, including a variety of useful editing tools; it reads a wide range of different file formats and is prepared to use geo-spatial data stored at a database or at remote sources. This project is a little different from similar ones in that it is being developed by a private company (IVER Tecnologías) and the Juame I University of Castellón, under commission by the Government of the Valencian Community, employing monies from the European Regional Development Fund. The multilingual features allied with its interoperability with a wide range of file formats made it rapidly successful among open source communities outside Valencia, being now the GIS desktop application of choice for many folk in the field.
- KOSMO - another open source desktop GIS developed in Spain and coded in Java. Light weight and with a clean graphical interface it is starting to get popular among some GIS operators.
- uDig - a user friendly desktop GIS developed in Canada on the Eclipse Framework. It is extendible and can itself be used as an extension to other Eclipse based applications. Its easy of use (powered by Flash walk-throughs) is making it quite popular.
- GeoServer - this application is one of several that forced the open source revolution on GIS software, providing a service that proprietary vendors neglected for a long time. GeoServer is a web server of maps and geo-spatial features, allowing the construction of web based applications that include geographic information. This field of application was ground-broken by MapServer some years ago, when commercial vendors struggled to provide a functional alternative. GeoServer is today the leading option in the field due to its superior performance.
- OpenLayers - this is not exactly an application, but a code library that allows programmers to include map data in the web pages they develop. It is a tool that provides the client side support for the data served by applications like GeoServer.
Other end-specific software
- Modellus - this is an educational software developed in Portugal for teaching Mathematics and Physics to high-school and college students. It provided for one of the funniest presentations at the forum: the speaker opened the program and chose a dinosaur cartoon figure among a list and dragged it to the centre of the screen – the subject – and then opened a small window called mathematical model and typed in x = t * 10 , then he clicked run and the dinosaur walked away out of the screen. Then he changed the model to x = t ^ 2 and the dinosaur disappeared on an accelerating run. Modellus has been adopted in many schools around the world and seems to be in the process of becoming mandatory for some curricula in the UK. This is indispensable software for anyone raising children, embodying a new teaching paradigm were children do not spend most of their time executing mechanical exercises anymore and spend more time actually understanding mathematics.
- OpenProj - described by its developer institution “as a complete desktop replacement for Microsoft Project", has reached maturity and is used today by many engineering professionals.
- QCAD - Computer Assisted Design (CAD) is an area where open source struggled to reach maturity. QCAD is part of a set of new applications set to change that, offering a workbench for two-dimensional design providing much of the functionality available in commercial software. For now three-dimensional design isn't possible, but what QCAD provides so far seems to be enough for many of the tasks engineers and architects do daily.
- Octave - this is the open source version of numerical computation software like MathLab or Mathematica. It provides a command line interface for solving linear and non linear problems numerically, and for performing other numerical experiments using a language that is similar to that used by Matlab. It may also be used as a batch-oriented language.
- Code_Aster - one of the most complex open source applications available, it was developed by EDF for finite element analysis and numeric simulation in structural mechanics and was made publicly available in 2001. Because it is employed by EDF in the Nuclear Industry most of its code has been subject to independent validation and benchmarking. It has been employed in many areas of engineering and a considerable community evolved around it.
- AlFresco - is an open source Enterprise Content Manager (ECM) providing many features like Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging. Its modularity and interoperability with other systems and applications has granted it wide acceptance.
Many more applications exist in other or similar fields of usage; finding an open source application to perform a specific task is many times a matter of searching and rarely an open source package goes without alternative. This ends up being another advantage of open source software: its modularity, fitting closer to the users needs.
Experimenting
Most of the applications cites above run on commercial operating systems, but to free your self entirely from proprietary software you should use a free operating system. Many folk still think that to use open software (or at least operating system) they have to quit their current system overnight, recurring to the fatal format c: or fdisk. That's not the case and there are several ways to start using all these new programs while keeping your current base system:
- Live CD - many Linux distributions provide an installation CD that runs the system from the CD itself, you reboot the PC with the CD and have a test run. As usually many applications are included with the operating system, it is also an easy way to get the first contact with them.
- Dual boot - it is also possible to have two operating systems in the same computer, when installing a Linux distribution there's usually an option to install a boot program that allows to choose which operating system to run at start up. To have both systems installed one need either a free secondary hard drive or a chunk of free space on the primary hard drive into which the second system goes. This option is more for advanced users (even though it can be really easy if you have a free hard drive), but provides an experience closer to the real thing.
- Virtual machine - this is the option provided by the GISVM package. There are a few software packages that allow you to build your own virtual environment fitting your needs. This option provides an environment close to real usage without any risk of compromising the main system.
After making certain that you are able to do all your work and other activities on an open source platform you are ready to migrate without pain to the world of free code.
Through time I have experimented several Linux distributions: Suse, Red Hat (now Fedora), Debian, Xandros, Mepis, Ubuntu, but most of the times I end up approaching it as a normal user and not on a technical perspective; after some time I just want it to function, providing a proper platform for my work. If you have a bit more of curiosity you should try more than one distribution and several graphical interfaces (like KDE, GNOME, Xfce) to find the one that suites your needs better. If you just want something that works and doesn't give you trouble setting up, simply go with Ubuntu.
It is possible that you run into some difficulty or another in your open source endeavours, but don't give up at the first try, remember the strongest advantage of these solutions: the Community. There are millions of folk using and developing open source software around the world, you will always be able to find a forum or mail list where you can ask for help or share your experience.
Final thoughts
My professional activity obliges me to use commercial software, so I need a commercial operating system in my computer. During the last few years I've tried to change my primary system into something open source, but there seemed to be always something missing for that change to unfold. Things started to change with Mepis and its easy of use; unfortunately it had some difficulties with the hardware of my laptop at the time. The first distribution that really became a platform I used for something more than programming was Ubuntu; I kept an installation with dual boot for a long time and was able to do a good chunk of my work with it. It had became my primary system if it wasn't for a single problem: I never managed to replicate the desktop to the video output, this had the annoying consequence of preventing me from using it in classes.
Right now I'm using Windows Vista as my primary system, it is less user friendly than XP but much more stable. I only use three commercial applications (imposed by work) and all the rest is open source. As parallel free platform I'm using GISVM. Although I'm pretty happy with the improvements Vista brought me these last months, this year won't end without me changing my primary system to open source, especially now that I'm not teaching any more. The commercial software will simply be stuffed into a virtual machine.
Open source software is gaining considerable momentum, reaching many fields of application and providing straightforward solutions for non-expert users. The present economic crisis will force many organizations to contemplate the hypothesis of abandoning commercial software. Instead of simply laying off personal, companies cutting costs by migrating to free applications might find that narrow competitive advantage that makes the difference from going down with the crisis or surviving it.
It seems to me that conditions are at the moment quite propitious for an en masse migration to open source software. Open your mind and ride the wave!