recent comments

recent articles

  • How long would it take to read Wikipedia?

    Almer S. Tigelaar 21 / 02 / 2012

    Wikipedia has become the de facto encyclopedia on the Internet. A traditional encyclopedia spans many textbook volumes which would take any normal person ages to read. Few people would likely engage in such an endeavor. However, since Wikipedia is readily accessible: should you take up the challenge?

    read more 0 comments
  • Life in a Day

    Almer S. Tigelaar 09 / 02 / 2012

    The premise behind the YouTube documentary “Life in a Day” is interesting: invite everyone around the world to shoot video on one specific day: July 24th 2010. Have people upload their raw footage and edit it so it becomes a short, ninety minute, documentary that chronicles a single day on our planet. Does this extreme form of crowdsourcing actually work?

    read more 0 comments
  • Top 8 Prejudices about Americans

    Almer S. Tigelaar 07 / 02 / 2012

    When travelling abroad it is difficult to go with an open mind. Despite our best efforts we bring with us an excess of prejudice shaped by our own culture and view of the destination country. So to it was for me when I visited the United States. When coming back, people at home are very insistent that you play into their prejudice regarding where you’ve been as well, perhaps as a means of reinforcing their own identity.

    read more 0 comments

Category: Programming

What is Linux?

Almer S. Tigelaar 20 / 09 / 2011, 09:00

Apple and Microsoft are the two household operating system creators known by the majority of consumers. However, they are not the only ones. While Microsoft’s Windows and Apple’s Mac OS are commonly viewed as the two dominant desktop titans, there is a third often overlooked player: Linux.

Linux is not an operating system by itself though, it is only the kernel of an operating system. The kernel of all modern versions of Windows is “Windows NT”, while the one of Mac OS X is “XNU”. I won’t go into too much technical detail, but roughly the kernel is a middleman between the programs that run on your computer and the underlying physical hardware. So, if you open a text document residing on a disk, the text editor would ask the kernel to do this, and in turn the kernel would ask the disk. The details of accessing the disk are hidden from the text editor, which is nice since it doesn’t need to know the myriad of different media that your text document could be stored on: a harddrive, USB stick, CD, DVD, Blu-Ray Disc or network drive.

When the Linux kernel is combined with a set of applications it actually becomes possible to operate the machine it is installed on using those applications, hence it really becomes an operating system. In the Linux world such a combination of the kernel and applications is referred to as a distribution. A distribution commonly includes a set of core applications created by the GNU Project. There are many different distributions, some target a broad audience that want an easy-to-use desktop, like Fedora Core, Ubuntu and SuSE. These usually offer an intuitive graphical user interface like GNOME or KDE. Besides this there are distributions that are specialized to make it easy to, for example, run a media center or a web server.

If you’re still with me, you may be convinced you’ve never ever used Linux, and perhaps you’d even like to try it. However, if you have used an Android telephone or browsed the web than you have most definitely used Linux. Google’s Android actually uses the Linux kernel. That’s right: many smartphones, and tablets, are running Linux nowadays! Additionally, most of Google’s application actually run on Linux even if you access them via your browser. Besides this the majority of web sites use the Apache web server which is also often run on Linux systems.

Since Linux is prolific nowadays, you may wonder: is there some big company behind it? Windows has Microsoft, MacOS is backed by Apple. However, Linux is non-profit and open source. You can find out how that works and what it means here. The foundations of what we know as Linux today were created by Linus Torvalds twenty years ago. However, many people have contributed to it over the years, both volunteers and paid developers. Indeed, large companies, like Intel, IBM and even Microsoft, have contributed code to the Linux kernel. Besides this there are several companies that have become famous for their continuous involvement in Linux: Red Hat, Canonical and Novell. These make money primarily through support and services, targeted primarily at the enterprise.

Is Linux usable as a desktop operating system for your day-to-day activities? This was the big goal a decade ago: to get the Linux desktop, notably GNOME and KDE, to the same level as graphical user interfaces of other operating systems. Whether the developers have succeeded in this depends largely on how you use your desktop in your day-to-day life. The best way to find out is to actually try it. If you are a newcomer to Linux I usually recommend Ubuntu, which you can download here, as its one of the easiest user-friendly distributions around. However, feel free to take a look around to see if there is an other distribution that appeals to you.

read more 0 comments

What is Free Software and Open Source?

Almer S. Tigelaar 09 / 07 / 2011, 09:00

Shows a big red button with the word Free on it

There are many people that are unaware of what free software is and what open source software is, and why it matters. In this post I’ll try to shed some light on this.

When people hear `free software’ they usually think of software that does not cost anything in terms of money, which is not the right definition. The word `free’ in free software is free as in speech, not free as in beer. So, what does this actually mean in terms of computer software? To understand this we first need a basic understanding of what a computer program actually is. A computer processor can be operated via an instruction set which allows performing many low-level operations such as adding two numbers together. These instructions are numeric codes, which are very hard to understand for a human: imagine that you would have to type a text and instead of using a – z you had to use the numbers 1 – 26 for each letter. That would be terribly difficult to read and write! So, most computer programs are written in readable text which contains statements such as “x = 3 + 5″ instead of something like “1001 1100 1010″. This written text is called the source code, which is like a blueprint of the program, and can not be interpreted by a machine directly. Source code first has to be translated into a binary machine representation: the numeric codes I spoke of before. This translation process is called either compiling or interpreting[1]. After this step we can actually run the program and interact with it. So, we have a distinction between the source code and the binary.

Many companies that make computer software only distribute the binary to their customers and keep the source code locked away. These companies see the source code as their intellectual property which they must protect. Let’s go back to free software again and consider what makes a particular piece of software free as in speech: four main points. Firstly, the freedom to run the software for any purpose. This means that, for example, you can not distribute a video editor with the restriction that you can not use it to produce a commercial. Secondly, the freedom to study how the program works and to change it to suit your own needs. For this having the source code is a necessity. Thirdly, the freedom to distribute copies of the original program so you can share it with your friends. And finally: the freedom to distribute the modifications you make to the program to others. So, now you understand that besides the binary you also need the source code in order for something to be free software.

Undoubtedly these definitions will give you a lot to think about. Most people assume that you can not make money when you make free software. However, this is untrue as there are many successful companies out there that create and share free software. These companies realise that the real value of computer software is not in the source code, but in the people with the expertise about how the software works. Just like it takes time and practice for a musician to learn to play a musical instrument, it also takes time for a programmer to familiarise himself with a piece of software. Contrary to popular belief making computer programs is primarily a creative endeavour with a significant social component as well. Everyone who has ever written a report or paper knows the value of other people reviewing your work. The same is true for computer software: if more people read it, give feedback and fix errors, the quality of the software improves. And when the source code is available: it is much easier for people to participate in this process.

Now, this still leaves us with the question: what is open source? Is it exactly the same? Well, most open source software is also free software, which may be somewhat confusing. The main difference between the two is philosophical. The free software movement considers non-free software to be undesirable, and is social in nature: its emphasis is on changing people’s behaviour so that they create, use and share free software instead of alternatives. In contrast, the open source movement originated in the nineties as a pragmatic, liberal view on free software. Therefore it is slightly more permissive: some things that are not free software are open source. The difference is also emphasised in the concepts themselves: free software with “free as in speech” as the main issue, and open source software with an emphasis on the pragmatic advantages of having the source code openly available. Since there is a relatively large overlap between the programs these two concepts cover, people commonly use the term Free and Open Source Software (FOSS) to refer to both.

So, have you used free and open source software? It is quite likely that you have! Are you running Mozilla Firefox or Google Chrome as your Internet browser? Both are free software. Many websites you visits are powered by the Apache web server, which is open source. Are you perhaps using an Android telephone? The operating system kernel these phones use is Linux, which is free software. You are probably using many more pieces of free and open source software than you realise. Notice that many of these software products have been created by successful companies and not by individuals programming in their basements[2]. Here is a 2008 video with Stephen Fry giving a quick explanation and his view on free software:

Whether or not free and open source software matters to you personally is entirely up to you. But at least the next time anyone asks you what free or open source software is: now you know the answer.

Find out more:

 

read more 1 comments