Homework: explain Open Source

“I dont really get all this open source malarkey. Do you know some where that spells it out S L O W L Y for us clueless folk!”

The homework was set by a student (who is not clueless at all by any means). Its my own fault for trying to interest people in using FOSS as an alternative to shrink-wrap software. So here goes…

Here is my introduction in a few hundred words….

FOSS stands for Free and Open Source Software – its a bit of a movement. You don’t have to buy the politics to use the software!

A good example of FOSS is the Ubuntu distribution of the GNU/Linux operating system. This operating system is an alternative to Windows XP, and has very good security and freedom from spyware and viruses. I have it working on an old laptop РI could not justify spending £150 for a new copy of Windows XP for the old machine, but 50p for a blank cd to copy the Ubuntu software onto was OK. The Ubuntu CD-ROM also contains an open source Office suite called Open Office, a Web browser and a good e-mail program. The Ubuntu people are making sure that the software on the CD-ROM is only open source and does not infringe any copyrights or patents Рso for instance there is no MP3 player on the system but it can play audio CDs. The Ubuntu project employs programmers and is funded by a South African millionaire called Mark Shuttleworth. He is trying to build a software industry in South Africa.

Open Source software is free in two ways – you can use it for nothing, and the source code (the instructions that people write to tell the computer what to do when you click buttons) is available to anyone.

The first freedom means that (for instance) our younger students can download a sound recording program called Audacity and install it on their computers at home. They can make dub recordings and simple sound loops. No copyright theft. No problem if they want to pass a copy to friends – the application is just small enough to e-mail or can be popped on a USB stick.

The second freedom means that if a programming student in a University somewhere notices a bug in Audacity (a ‘bug’ is when the program crashes under certain combinations of input or when something doesn’t quite work properly), they can correct the bug and test their improved version. If it really is better, they can send the modified code back to the Audacity project and then the bug is fixed for all users. The software improves rapidly, and bugs are removed quickly.

Most large open source projects have a bug reporting system that people can use to report strange behaviour in the software, and volunteers work on bugs that have been verified. Things can move very quickly with hundreds of volunteers and thousands of people finding problems. The Internet allows people to stay organised – tools are used to keep the source code consistent so that if 50 people make small changes to the code one day, all those changes can be cross referenced and incorporated within the day. The systems used to coordinate and manage this shifting source code are quite sophisticated and open source projects mean that University undergraduates and volunteers can gain experience with project management at quite an early stage in their careers.

People who enjoy programming (geeks) often don’t like writing instructions or manuals, and they find computers easy to use so they don’t always make the toolbars, menus and buttons easy to find or logically related to the workflow. A problem with Open Source operating systems is that the special ‘drivers’ needed to make hardware like modems and the sound system work aren’t always available. As an example, it was easy to get Ubuntu working on my old Intel laptop, I just booted from the CD-ROM and let it do its thing for an hour. Everything worked – except the modem. Another four hours later I got it working but it was quite a fiddle, and plenty of blind alleys were run up and down. Some of the information in the support forums was misleading or related to older software. I had to use a lot of skills to sort the problem. Commercial software does not make users get involved with that! On the other hand, I now know a lot more about how Ubuntu Linux works and how to recognise good information.

People can make money from Open Source software in a number of ways. They can charge organisations to make customised versions of the software. They can charge a fee for helping people use the more complex software. And they can offer training or write books or notes about the software.

Closed source software is owned by a company like Apple or Microsoft or many more specialised companies that are not household names. They have invested millions of hours of development time in the software and sell you the right to use the program for a fee. Your fee does not usually include the right to give copies away to other people. Source code is not usually available.

You often have to pay again to ‘upgrade’ software. Even if the old software did everything the user wanted, people are forced to upgrade software anyway because of security issues, changes in operating systems or because newer computer hardware simply won’t run the older programs. People in Third World countries find the costs of shrink-wrap software (like Windows XP or Microsoft Office) very high and there has tended to be piracy and theft. Most large software companies including Microsoft now sell software at special rates in developing countries to cut the piracy down and make computers more affordable.

Commerical software usually has very good documentation and you can find training courses at your local College.
My interest in Open Source software is twofold

  • Saving taxpayers money in the College – we can put the GIMP and Audacity on as many computers as we want to without paying licence fees. Media and design students need access to Photoshop and Final Cut Pro, but it might not be cost effective to buy licences for these expensive programs for occasional use in general classrooms.
  • The younger students can legally download and swap open source software. No copyright issues.

Comments are closed.