Open Source and Free Software - What They Are, In Plain English.

You hear about open source and free software all the time, Firefox, MySQL, Linux, OpenOffice being prime examples of successful projects. I keep coming across some very wrong perceptions of what the open and free parts mean, and a strange semantic argument against one licence that has never made sense to me. This is my open source 101 for non-techies, let me know if you get it or don't. If you don't care about the topic stop reading now :)

Open source - giving you the freedom to do what you want with software. For a long time many programs - especially Internet-related programs, have been sold or given away using "Open Source" licences. When you get a program, you also get the code used to build the program. When you have that code, you are free to do whatever the heck you like with the software. Got a problem with the colour of a menu? You can change it, because you have the source code. Not a programmer? No problem, because you have the code you can hire someone to change it for you. You can't do this with proprietary, binary-only software. You're basically stuck with whatever they want you to do with the software. Good luck when they drop your version in favour of a newer one.

Free is a major misnomer - open source is about FREEDOM not the price of software. The cost could be anything, it's not always $0. With most open source licences, you can charge whatever you like for your program. Some licences do require that the source code cost be reasonable - but the actual program can be any price.

There are two major types of open source software licences in use, BSD and GNU. The big difference between them comes when you copy the software. Some people call the GNU licence "more restrictive" or "less free" because it requires that you pass along the source code and the freedom for the next user to do whatever they want with it too. The BSD licence is "more free", and allows you to change the conditions as you like, close the source on your version. I think I can agree in a sense - the BSD licences are less restrictive - BUT only for the first recipient. The GNU licence ensures regardless of any recipients opinion, any future recipients are going to retain the same do-whatever-the-heck-you-want freedom that the first person got :)

For more on licences and open source:

BSD licence

GNU licence

About open source