Archive for April, 2008

I must confess, I’m struggling to write this post. There’s so much to say about Open Source, and I’m not sure that I’m saying it in the right order. I guess I’ll just bash on and hope for the best!

So… Open Source software is software which is given away freely, and for which the source code is freely available.

But what is to stop someone taking this source code, packaging it up as a new application and selling it as a closed source program? Sometimes nothing, but usually it’s the license!

Some Open Source programs are given away with no license at all, but most are copyrighted and distributed under the some form of Open Source license.

There are dozens of such licenses. The most popular and famous is the GPL. The preamble offers a beautifully succinct description of the purpose of the GPL - take 2 minutes to read it (bearing in mind that the document uses the word “free” as in “liberty” rather than as in “no cost”).

One aspect of the GPL is particularly contentious: the GPL stipulates that any programs created using portions of the code from a GPL licensed program must also be Open Source. In other words, if I grab an Open Source program, tinker with it a bit and call it something new, the GPL license under which I received the program demands that the new program I have created may only be distributed under the terms of the GPL.

Some see this feature of the GPL as a stroke of genius - guaranteeing the continued freedom of source code, but others are less impressed. Microsoft in particular does not take kindly to the GPL, and there is a long history of attempts by Microsoft to undermine Open Source.

That history will be the subject of part 3!

Stumble it!

Tags: , ,


I saw this today when I logged in to Technorati - Ubuntu Feisty Fawn is the second most popular search term at the moment!

Top Search

Stumble it!


Great explanation of RSS

I’ve tried in the past to explain what RSS is about, but this video does a much better job - check it out!

Stumble it!


If you have ever wondered what “Open Source software” means, what Linux is, what the difference is between Open Source software and “freeware”, or why so many people in the Open Source movement (yes, it’s a movement!) seem to dislike Microsoft so much, read on…

The idea behind Open Source is very simple, but there is a degree of subtlety in it’s application to the world of software that leads to a lot of misunderstanding. To understand what Open Source is really about, and why people are so passionate about it, you need to understand a little bit about how computer programs work.

Most computer programs are written in compiled languages. A programmer writes a set of instructions - the program code - in a plain old text file. Program code may not be comprehensible to the average computer user, but it is human-readable:

int main()
{
  Power x(4.0, 2), y(2.5, 1), z(5.7, 0);
  cout << x.getPower() << " ";
  cout << y.getPower() << " ";
  cout << z.getPower() << endl;
  return 0;
}

This stuff is human-readable, but it means nothing to a computer! It needs to be translated into instructions that a computer can understand, and this is what happens next.

Once the programmer has finished writing the code, it is compiled into an executable file (using another program, called a compiler). This executable is the file that you will double click on to run the program. It consists of machine code that the computer understands. It is not human-readable. It is impossible in general to work back from the compiled machine code to the original text of the program. This is the heart of the matter. It is impossible to work backwards and figure out the text of the original program.

If software is described as “Open Source”, it means that the original source code used to produce the program is freely available. This doesn’t happen when you buy a closed source program like Microsoft Office - you receive a bunch of machine code, but you don’t receive the original source code that was compiled to produce the program.

The analogy often used to explain this difference is the sharing of recipes. If someone cooks you a meal, and offers you the recipe so that you can go home and cook it yourself, they are behaving like an Open Source software developer. If someone cooks you a meal but keeps the recipe to themselves, they are behaving like a closed source software developer.

When people talk about free software, they mean free as in “free beer” but they also, and more importantly, mean free as in “freedom” - the freedom to access the source code of the program and change it if you wish.

In part 2 I’ll try to explain why this matters.

Stumble it!


Ubuntu Feisty Fawn is here!

The latest release of Ubuntu hit the servers today.  If you are still labouring under the misapprehension that Linux is too hardcore for regular folks, now might be the time to take the plunge.  If you would like to see Ubuntu in action, check out the videos on youtube, or pop ’round to mine :)

Stumble it!



Subscribe to Email Feed

Enter your Email


Preview | Powered by FeedBlitz

    My Photos

    www.flickr.com
    This is a Flickr badge showing public photos from Robert M Jones. Make your own badge here.
    3K2 theme by Hakan Aydin