Philosophy and licencing of Linux

Saturday, 4 August 2007, michuk

The term philosophy is short for Operating Systems Philosophy which in turn comes from Systems Philosophy theory. In such a case the “philosophy” with reference to the operating systems means a form of systems thinking.

The cited definition is sine qua non of understanding the term, more so, it is frequently used without supplementing words or specifying its context. In this light the term “philosophy” might be seen as wacko hype and out of touch with reality or, if accepted, a bit too lofty.

I tend to view it as a set of those aspects of an operating system which a user gains an appreciation of after obtaining the system, and which refer to the underlying design of the system and its applications. Thus the philosophies of the Windows and the GNU/Linux systems are diametrically opposed. When I write “GNU/Linux systems” I have in mind the most popular distributions which are distributed free of charge. All these considerations would be meaningless if it was not for the fact that the system philosophy significantly exerts its influence upon the ways the system can be used by us and upon the system’s capabilities.

The Closed Source versus The Open Source

Microsoft Windows operating systems are distributed in binary form robbing us of an insight into their source code. This type of selling is based on customers’ full confidence in the manufacturer. Only developers from Redmond are granted the right to read the code and have the chance to correct the code and apply patches. This approach has its advantages and disadvantages. All know the notorious tenet security through obscurity which says in short that if a source code is a well-kept secret, the binaries can be full of security holes, because to make use of them one has to know them.

Detections of the security holes in closed source software is highly hampered. On the other hand users do not know how many security holes or bugs exist in their systems. Due to the “code obscurity” all the holes can go unnoticed (not for the “hard-working” crackers) and unpatched for years. Keeping such information secret not always easy.

It’s another matter with open source software. Nothing can be hidden here. The code is available to all and anyone with sufficient programming knowledge can make use of it. In theory, this looks like a big security hole in a system’s defenses. In practice, making the code public affects its quality. Mr Eric S. Raymond’s well known aphorism states that “Given enough eyeballs, all bugs are shallow.”

There’s no need to argue with the fact that if professionals and not necessarily a program’s authors are able to look thru the program’s code, then the probability of mending the security vulnerabilities increases enormously. It happens rather frequently that errors discovered in F/OSS software are accompanied with appropriate security patches, sent by a user who found the bug(s).

Nothing can illustrate the differences between open and closed software better than backup keys to our house. We can hide the keys in a place known to us only (e.g. under the doormat). This is an example of a blatant security breach. If a burglar checks the hiding place first we will be finished. But if we hide the keys in difficult and improbable place, the probability that no one will find them and will not make use of the breach is very high.

Another method to deal with the problem is to trust the keys with our neighbors. Here we face another problem. Our neighbor could be a crook and would give the keys to burglars. However, we can introduce our acquaintances to the secret or we can make the information public (nailing an appropriate note to door), and for all that there is a fair chance that our activities will not lead to multiple break-ins, even so the knowledge of where the keys are being kept is overt.

Windows Licensing versus GNU GPL

Basically there are two licenses the Windows systems are being sold with: OEM and FPP.

OEM license is cheaper one but has one essential flaw - “it integrates with hardware” with which it was bought. If we buy a PC with Microsoft Windows XP with OEM license we’ll be able to use the system only with the computer. Even if we uninstall the system we will not be allowed to install it on another PC. What’s more, the matter becomes nasty if we decide to exchange one part of the PC, e.g. old graphics card with a new one. Any hardware improvement ends up with a phone call to Microsoft Technical Call Center to get permission to use the license again but not without lengthy explanations. If the part which happened to fail was a PC’s motherboard we are in a deep trouble as the OEM license is tied up to the motherboard. “Deep trouble” means we will have to buy a new Windows system.

FPP license is a bit more liberal one but simultaneously nearly two times more expensive. It doesn’t mean a user was bestowed with more rights. Far from that. FPP is tied up to a user, not to a hardware. Thanks to that we can use the system on a new PC after throwing away our old junk. But again only after we make a call to Microsoft Technical Call Center and we tell them why we’d like to register once more.

In fact the whole idea behind the Copyright “magic word” can be boiled down to a list of bans. The forbidden actions (bans) simply tell users what can’t be done with the bought software.

Thank God, the GPL license with its famous Copyleft declaration made by RMS a “Copyright flipped over” has nothing to do with Windows licenses. GPL does not take user’s rights away but grants them. In particular it bestows a user with the four basic freedoms:

  • Free Software Definition
  • the right to run the program for any purpose (freedom 0),
  • the right to study how the program works and adapt it to your needs (freedom 1),
  • the right to redistribute copies so you can help your neighbor (freedom 2),
  • the right to improve the program, and release your improvements to the public so that the whole community benefits (freedom 3)

The only condition the GPL license requires users to follow is that the corrected or improved programs have to be distributed under the same license. This condition prevents “closing” the free programs and prevents amending the code without making the changes known to the public.

The Microsoft licenses and those of the other firms using Copyright law present an entirely different philosophy to that of GNU GPL. They take a totally different approach to the software market and software availability. There is no doubt that GNU and Free Software Movement approach is decidedly more friendly to home users. But not only to them. Many companies like Red Hat and Novell make a lot of money creating Free Software. They make a profit both selling their products and selling their technical support.

Upgrading Systems

New Windows versions are being released once each 3-4 years. Microsoft publishes security patches and so called service-packs between new releases. Service-Packs are in fact aggregated packages containing both patches and new code which enhance the systems’ functionality. Generally all security patches are available free of charge and can be downloaded with theWindows Update application.

But the upgrade to a new Windows version is payable and it costs little less than a new product. What’s worse, Microsoft supports only the last three versions of its flagship product. Earlier systems like Windows 98 or 95 are left without support. Even Windows 2000 is serviced with security patches only. So users have to make a decision to buy or not to buy a new system. Otherwise they are forced to use their old systems fully laden with unpatched security holes.

In the meantime Linux distributions have a distinctly shorter release cycle (perhaps excluding Debian GNU/Linux). New versions appear in a six monthly or yearly cycle. New security patches are being published for quite some time (several years on average) for every release. For free systems like Ubuntu, Fedora Core, and OpenSUSE every upgrade is free of charge. Thus the users are not compelled to run older versions of their systems (often left without support). They are free to choose the time of the upgrade to suit their needs. And because new Linux versions run without problems even on very old machines (in contrast with Windows systems), the upgrade is not connected with lost efficiency.

This time I won’t draw any conclusions. It seems to me that the right inferences come to mind by themselves.

Subscribe to RSS feed for this article!

Comments

No comments yet.

Name (required)
E-mail (required - never shown publicly)
URI

Adjust field size: shrink | enlarge)

You can use simple HTML in your comments. Some examples are as follows:
  • A hyperlink: <a href="polishlinux.org">GNU/Linux for everyone!</a>,
  • Strong text: <strong>Strong text</strong>,
  • Italic text: <em>italic text</em>,
  • Strike: <strike>strike</strike>,
  • Code: <code>printf("hello world");</code>,
  • Block quote: <blockquote>Block quote</blockquote>