2/11/08

too much distros ? a wrong debate

In my last post I spoke about the GNU/linux distros' large diversity and about their differences and
similarities.
This diversity is considered by some people as a “waste” (it looks like the principle “too much choice kill the choice”). We can see this with developer teams who work on similar projects instead of working together in an unique project (for example media player softwares).
The consumer can be lost when he enters into the free world, because of this large diversity. Sometimes switching from a GNU/Linux distro to another causes more adaptation than you can feel when you switch from Windows to GNU/Linux. Windows and MacOS X users not to have choices. Cool! He can change his desktop background, his screensaver, his style (from luna blue to luna green, then to windows classic! Great!)...He doesn't know that he is limited a lot. He doesn't master his system a lot. The closed-source Operating System thinks for you. Yes, it can be convenient and you want a computer that is convenient and functional. But your are “crystallised”, “freezed” . You're only a passive consumer. With GNU/Linux you can -almost- choose all. The Linux kernel is like a skeleton that you can choose as well! You can build your own kernel adapted to your hardware and your personal use. Then you have a huge number of options (file systems, GUI, software) that make every GNU/Linux computer different.
It is a problem, because when you see more than 350 GNU/Linux distros on the website Distrowatch, the question is “Which must I choose ?”
In this case the answer is easy: you must inform yourself. Search the web.

Personally I think this diversity is good, consequence and at the same time guaranty of the freedom of free software. Consequence as it's the freedom of the GPL that favors the emergence of new distros, software and tools.
Guaranty because a monopoly instead of the diversity kills the freedom of choice. It's not with windows that you can choice between a tenner of GUI, media players and web browsers. Do you know why GNU/Linux users love their systems so much ? Because they find all the tools to personify them.
Working in a sector (i.e media player programs) where the competition is gives a certain excitation: you fell like making your best. Since it's open sourced, you're informed of the technologies that competitors use and of the changes they made.

The Consumer must be active, catches up on the products he uses on websites or on forums where other users give their opinions, and sometimes he must look further in the software. He may be a “prosumer” (productor-consumer), tracking bugs for example. At least the goal is to make the best, the most secure OS ever. I let you guess: Do people of any IT company -even if it has the most financial and personal resources – can build this alone and with only few contacts with the exterior world ? Or do millions of developers and “prosumers” interconnected around the world with an open framework have a better chance ?

12/20/07

the GNU/linux distributions

A GNU/linux distribution -or simply called “distro” belongs to the GNU/Linux operating system family. It is based on the Linux kernel with many GNU key components. (BSD distros are based on an Unix Kernel and it's the same idea). But if the base is common the ending may be very different. A distro is a “particular assortment of applications – among certain custom software-married with a particularly compiled kernel, such that its "out-of-the-box" capabilities meets most of the needs of its particular end-user base” (wikipedia).There are more than 360 active GNU/linux and BSD distributions according to the website distrowatch which tries to index them all. Some distros look alike each other (we can explain it by their “cousinship” or because they hit the same end-user base), others not. Some even are exotic (when they use their own uncommon tools).

The differences between the GNU/linux distributions exist as in the form as in the content:

Communities/companies:
Some IT-Companies like Novell (Suse), Red Hat, Canonical (Ubuntu), Linspire or Mandriva produce their own commercially backed GNU/Linux (or Unix: see Sun Microsystems with Solaris) distro. Some distros are built by the community only, like Debian or Gentoo. I will naturally speak about open source business models with many details and nuances later, but to make a long story short, such companies have many strong links with the community. A open source business model without communications or exchanges doesn't exist. Mandriva, Canonical, Novell, Red Hat, Linspire and Sun have a kind of “community edition” of their distribution: OpenSuse for Novell, “Freespire” for Linspire Fedora for Red Hat, OpenSolaris for Sun, Mandriva “one” or “free” for Mandriva...The community plays a big role (it's relative depending on which company is concerned) to program, develop and test software. The company with his commercially backed distro offers help and assistance, support and particular “home made” software. It's interesting to study the relationship between the companies that have amongst others lucrative goals and the communities that have the passion of the “just for fun” concept. Actually even commercial distributions can be without charges or these are usually not as expensive as a proprietary Operating System licence.
Community based distros' philosophy is different. It maybe put that idea into question: “Is it possible and reliable to create the perfectly free best OS into a non-profit based enterprise in a profit-based world ?”...See and judge!

Completely free “like a speech”distros/distros with some closed source components
Some parts of most of GNU/linux distros aren't open sourced, like drivers of GPU or of WLAN cards, mostly because the producers don't want to “GPL” their specs and want to keep their “secrets”. Or they give some specs but you can't use your hardware fully (for example sometimes you can't enable the 3D specs of your GPU).Sometimes they “forget” Linux family Operating Systems and do not build drivers for this platform!
Such problems exist with codecs that allow to read certain video formats, which aren't free like the codecs used by windows.
Some distros aim to be totally accurate to the GPL, like GnewSense, Gobuntu, or mandriva “free”. Indeed they use only free “like a speech” components. Free GPU drivers do exist but they have a limited potential because people who develop them haven't enough information about the specs. The idea behind this is to force the producers to put free or to develop open sourced drivers for GNU/linux.
I would like to use these distros but for the moment I regrettably can't because of my wireless card and my GPU. I think most people are in the same case. We just want to have at first a comfortable OS with the whole hardware recognition rather than to have a totally GPL'd OS.

Computers' type
Some distros are developed for Desktop and Laptop Computers (ubuntu, mandriva, PC-BSD [ a BSD one ], fedora, Suse,...) , others for servers (it' seems that the BSD's and Debian are rather good for this task), other for supercomputers. The portability of the linux kernel allows to take advantage of your processor. Then the applications can be different: for example for server-distros you rather get firewall, webkits and remote desktop systems because it is oriented to security over the internet.
For desktop-oriented distros you rather get office apps, web browser, maybe games (yes, games do exist on GNU/Linux, and some are really good!)...
They are distros for old computers or for computer that use very last technology. There are distros you can try on a single CD -called liveCD- when you restart your computer without modify any data on your hard disk (and if you enjoy it you can install it and then run it on your hard disk) and distros for which you need 2 DVD's to install them...

Audience:
More and more distributions are oriented to “neophytes” or “newbies” (although I think everyone is in some way newbie for others...): “migrants” who come from the windows world and who have learnt some habits. Such distros aim to be easy to use and “user friendly” (no need to use command line, GUI like windows' one, easy hardware recognition and internet configuration...). For example Mandriva, Ubuntu, Suse...Other users are more experimented: they aren't afraid of the command line and want a more stable OS, like Debian or Gentoo. I don't mean that experimented users can't use Ubuntu! For families you have multimedia distros to watch movies and ear music on your computer. For artists you have distros with real-time kernel and many special applications for the sound, like UbuntuStudio, 64 Studio or Musix. You have distros for hardcore gamers, you have distros you can all configure, you have fast distros with all the developers need, you even have distros to repair your windows and erase viruses on it!
A trend is also the localisation of ditributions: some distros are developed particularly for inhabitants of a country or who speak the same language. All the system is translated to its language.
The most interesting case is Linux From Scratch: it's a manual and a CD you can downloadon the web. And then, if you know enough about linux, you can create your own distro totally adapted to your hardware and your tastes!

The release schedule
Some distributions have a 6-month schedule to the next release: it's the case of Ubuntu and its flavours (Xubuntu, Kubuntu, Edubuntu, Ubuntustudio...), Mandriva or Fedora. Opensuse normally has a 8-Months schedule. Some distros have a 12-month schedule. Others have a random Schedule, either fast like Mint, either relatively long like Debian, which is “released when disposed”. So far Mint has aimed to release a new version when new applications to help the user were added. On the contrary Debian aim to be as stable as possible. It's why it's long to wait until the next stable version. But Debian has a “testing” branch too, and this branch is considered as stable enough to the development of Debian-based distros like Ubuntu, GnewSense...
A reproach addressed to distro which have a 6-Month release is the lack of stability and the absence of really new improvements. I' wont discuss about this, but I think it's not because we don't see many improvements on the GUI-part of the OS that improvements don't exist ! It's normal that 6 Months later totally new visible improvements aren't still implemented. Here you have the choice again!

Now we will see more differences in the content of the distributions:

the file system:
The file system is a method for storing and organising computer files and the data they contain to make it easy to find and access them. Actually it doesn't make real big differences for the end users. The file system used in most distros is ext3, but there are also Reiserfs (i.e used in Slackware), JFS, XFS, and Sun microsystems' ZFS (used in Solaris).

The package management
Unlike windows where you must find and update your software on the web or with an install CD, you install and update software on a GNU/Linux distribution with a package manager. An application can be a single package (rarely) or can be relied to many other packages. Such system is better because you can quickly find all the packages especially compiled for your distro at the same place, you only install what you need (for example I only install firefox' French localisation package when I install firefox because I don't need the japanese one ;) ) and you don't need to install several times components that are used by other software (for example the package A is installed for the software B. When I install the software C which needs the package A too I don't need to reinstall twice the package A). These aspects make the whole distro coherent..
There are many package manager (synaptic for Debian and Ubuntu, Yast for Suse, Urpmi for mandriva, Yum for Red Hat and Fedora...) that use different packaging formats. These formats are: .deb (used in Debian, Ubuntu...), .rpm (used in Red Hat, Fedora, Suse, Mandriva). It can also be just archived compressed files or sources you must yourself compile (Slackware, Gentoo...)

The Graphical User Interface (GUI)
Unlike windows and Mac OS, there is a plenty of GUI's under GNU/Linux. Some are known to be simple and fast (like icewm, fluxbox used in Fluxbuntu, XKCE used in Xubuntu and Zenwalk), others aim to be as complete as possible (like KDE used in Mandriva, Kubuntu, Suse), others aim to be convenient (like Gnome used in Ubuntu, Debian, Fedora), others aim to be futurist (Enlightenment used in Elive, Geubuntu...). I don't want here to compare them all: it doesn't make any sense because they all have their qualities and their defaults, it depends on the way the developers of the distro have worried about and customised them to make their distro coherent with the chosen environment, and it depends on the tastes of the end-user. For example I don't like Suse's KDE but I like Mandriva's KDE. I don't like Mandriva's Gnome but I like Ubuntu's Gnome. I don't like Geubuntu's Enlightenment but I like Elive's Enlightenment...that are just my personal choices.

There are many differences and similarities between the distributions. They all have their specificities. But all belong to the same family. Some are cousins, other are brothers, other are parents and children. We can see an historical view and the links between the current GNU/Linux distributions, like a family tree, here:

12/12/07

linux

What are the links between Linux, Unix and GNU ?

Andrew Tanenbaum, a professor in computer sciences at the vrije Universiteit in Amsterdam wrote in 1987 a minimal UNIX clone, MINIX,with a code 100 % free of AT&T's intellectual property. Minix's source code was free, but any modification or redistribution was restricted. Tanenbaum wanted to teach his students how works an operating system, he didn't want to create something as complicated as UNIX. Minix wasn't free of charges. But “MINIX brought the cost of "UNIX-like" source code down to something a student could afford”. But why I tell you about MINIX ? Indeed, this article's title is “linux”...
Minix became famous on the web, on the usenet forums, and a Finnish student was particularly interested by his capabilities: Linus Torvalds, of the University of Helsinki.

Linus Torvalds

Torvalds wanted to improve Minix, but Tanenbaum refused his contributions, so he decided to replace Minix. In 1991, he began to work on his own operating system's kernel, that he called “freax”. Minix influenced Linus, but Linus didn't copy Minix's source code at all.
The 5th October 1991 is considered as the birth of Linux. Indeed, Linus sent an Email on minix's usenet forum, which is now, more than 15 years later, historic. He presented the “0.02” version of the kernel. ( the “0.01” version was almost confidential) . Why Linux ? Because it was the name of the repository where “freax” was on the servers of the university. Linus wanted everybody to work and to improve his kernel. It's why he put quickly the GPL on this, rather that his own licence (from the “0.12” version. His own licence doesn't allow, unlike the GPL, to use the kernel with commercial goals.)
Linux became more and more famous on the Internet and many people participated to the project. It's why we can say that linux is a child of the web, because linux's development coincide with the large development of the internet.

Meanwhile, the GNU project almost finished his goal: create a totally free (like a speech) operating system with all his components. Problem: the kernel, GNU operating system's core, called HURD, wasn't finished when Linus published his own kernel.
The GNU Project's and linux's developers integrated together the GNU components onto the linux kernel. It's why we call the whole operating system GNU/Linux. At the beginning it was a temporary solution, but with linux's rising success this solution is still used today.
Linux has have an official mascot since 1996, a pinguin called Tux.

Tux

Today Torvalds' project, which was created “just for fun” is composed of more than 290 Megabytes of source code and is supported by many major actors of the IT world: Novell, Red Hat, IBM, Sun, Oracle and even more! According to wikipedia “The success of Linux in many areas of application is mostly due to the lack of licensing costs and the characteristics of free software concerning stability, security, expandability and maintenance of leading back.”.
A study of the European Union from 2006 estimates that if the linux kernel were proprietary , his development cost would be to over 880 Millions Euros. I don't find this kind of studies relevant and reliable, because linux is free and based on cooperation, which means time and a lot of “human capital”. Such concepts are not brought out in a study on simple “solid costs”.
We can also speak about the community behind Linux. I think it's interesting because it's the main force of linux. Nowadays all the operating systems are relatively stable (I mean Windows XP and Vista are stabler than Windows 98, and Mac OS X is based on Unix anyway), and if Linux has only one thing special regarding to other operating system, it is his community and the feeling to be free. For example I never had stability problems with Windows XP, or viruses or “blue screens of the death” (when all the system doesn't work). Sometimes I want to install “my” windows again (to get back my “bad habits” : ) ) .But I can't. Indeed, I have the impression to do not control my computer. Or last time, I was in an “apple center”. I wanted to try the new Mac OS X leopard. The design is super, his capacities too (you can easily find more info on leopard on the web) etc...but I felt enclosed. I didn't feel free. With my GNU/linux system I always know what I do, although I'm not at all an IT-professional. I can also modify and improve my whole system, from optimised kernel for my hardware to personalised GUI depending on my tastes. And with the plenty of forums of linux's community, I can find all I want, I can discuss, debate, participate in some projects. The way that projects are developed is amazing. Everybody can help, and when you can't develop, you can translate the application into your language for example. And if you search some glory, you can have it when you think that many people will use the software you translated. It draws a new form of collaboration, based not only on hierarchy but on cooperation.
Linux represents a part of 1% of the operating systems, according to certain sources. But I not agree with this. Linux is versatile : it is used in Desktop and Laptop Computers, on servers, on robots, on supercomputers (75 % of the list of the top 500 supercomputers) and even on cash-registers or on Ipod! Linux is portable: it is one of the most ported operating system kernel, for many processors.
What I said shows linux's main forces. We will explore more in details GNU/linux with further examples in the next articles of this blog.


Info about Minix

Info about the history of linux

11/22/07

What is unix ?

In my last article I spoke about UNIX. What's Unix ?

Unix is an operating system created first in 1969 at Bell labs by a group of AT&T engineers. Unix is written in the C programming language (from 1973), which let it ported on a variety of computers, and it was distributed to universities. It's why it was considered as an “open system”.

Unix was created to be portable, multi-testing and multi-user. These concepts are called “the unix-philosophy” (it happened more than 20 years before Microsoft created a multi-user system, with windows NT in the nineties...).

Unix consisted in various programs that were joined each other by a “kernel”. The kernel provided services to start and stop programs, handle the file system, and scheduled access to hardware to avoid conflicts if two programs try to access the same resource or device simultaneously.

AT&T made Unix available under a cheap license to universities and commercial firms. The license included all source code. Indeed, for AT&T, it had been forbidden since 1956 to sell other thing than phone equipments (because of its monopoly). In 1977, the unix-system was very improved by a group of scientists of the university of California, who distributed their version under the name of BSD (Berkeley Software Distribution).

Many companies distributed their own version of unix too. It's why all of them are still called “unix-likes” : HP has distributed HP-UX from 1985, Sun Microsystems SunOS then called Solaris from 1981, and in 1982 AT&T announced the support of their own unix “System III” and in 1983 “system V”. Even Microsoft had its own unix, called xenix !

The new licensing terms of AT&T were not favourable for academic uses anymore, and the Berkeley researchers continued to develop the BSD-branch alone.

The big number of the unix-systems developed on different basis, although they had the same origin and belonged to the same family of operating systems, became quick almost incompatible each other. It's why an user-group decided from 1984 to create an international norm, POSIX, to standardise the interfaces. The first POSIX norms were published in 1988.

Short after the production of System V release 4 at the beginning of the nineties, AT&T sold all its Unix-rights to Novell, who developed its own version called unixware, to battle against windowsNT, but we know the issue of the fight: windowsNT won.

Today, Sun Microsystems' Solaris 10 is the descendant of the System V branch. In 2005, Sun opened the source code of Solaris 10 and created an open source distribution under the name of OpenSolaris. As a result, a great deal of formerly proprietary AT&T code is now freely available.

The Berkeley-Branch of unix developed itself in its own way, under the BSD license. The BSD license is very permissive and it is sometimes considered as what draws nearer to the “public domain”: it allows companies, unlike the GPL, to distribute derived products as proprietary software without exposing source code and sometimes intellectual property to competitors. It's why windows, mac OS X and GNU/linux have parts of BSD source code in their own source code. And it's better so, because it creates de facto convergence points between three very different operating systems. The TCP/IP network (internet protocol suite) code in the unix kernel was a BSD development effort. Parts of this TCP/IP network code still in use today, because of the permissive BSD-license. The “legend” says Microsoft underestimated the impact of the Internet and it should quick react. It didn't have time enough to build its own proprietary TCP/IP network and as a result implemented BSD TCP/IP network code.

Mac OS X's core, “darwin” is partially based on BSD. It makes Mac OS X the “most widely used Unix-based system in the desktop computer market”.


Finally, we can see that the operating system, created almost 40 years ago, unix, is not dead. and can be considered as the “father” of (almost) all present day operating systems. Its development hasn't been linear; it has been the story of the mixture, the splitting and the fusion of its several branches, and today we don't speak about “unix” any more, but about its plural “unixes”.

11/17/07

The GNU Project and the four freedoms of the GPL

1984. The personal computers start coming at home, and big actors of the computing world like Apple, Dell and Microsoft gain fame. Nevertheless Microsoft has not yet the monopol it has today. The most used operating system is called Unix (I will speak about that in a next article).
At the Massachusetts Institute of Technology MIT Richard Stallman wants to create an completely free operating system to “

Richard Stallman


Indeed, at the beginning of informatics, programs on magnetic tapes could be exchanged between people. They could be studied and even improved by others than the creators of the programs. All of this thank to the distribution with the programs of the source code. The source code is the “recipe”
behind the program; texts put together which are written in a programming language, that let the programmer to make the program. Then, a binary language-compiler transforms the source code in order to let it executed by a computer. But in the story of computing science, the source code became little by little closed. On the tapes we founded only the executable program, not its source code any more. No way to modify, study, revise and copy the program. The program get proprietary.
Richard Stallman want to give the source code of his programs again. He creates the GNU Project, an recursive acronym (the acronym is in the letters by which it is composed), which means “GNU's Not Unix”. Unix became indeed with the time a closed operating system.
To promote the GNU project, Stallman creates also the Free Softwares Foundation (FSF). To licence the free softwares of the GNU project, he builds in 1989 the GPL, then the LGPL (less restrictive) and the FGDL (for manuals and documentation).
The GPL (GNU General public licence) is above all characterised by the “copyleft”, that turns away the copyright with the affirmation of four freedoms:
the freedom to use the software for any purpose,
the freedom to share the software with your friends and neighbors,
the freedom to change the software to suit your needs, and
the freedom to share the changes you make.

The GPL implicates many things:
- it doesn't mean the free softwares under the GPL are obligatory free = free of charge. Free softwares can be sold; There isn't commercial restriction. We say in the GNU world “free like a free speech, not like a free beer”. We can purchase free softwares. But there are free (of charge) softwares which aren't free in the sense of the GPL, because of their closed source code (they are called “freewares”)
- it implicates that a software under the GPL always stay under the GPL when it is redistributed. This clause of the “contract” guarantees that a software under the GPL doesn't belong to the public domain (when with the redistribution a software can become closed)

We see the GPL gives rights and guaranties but duties too. Additionally, the GPL itself is copyrighted by the FSF, it can't be modified without the authorisation of the FSF.
The GNU Project and the GPL have an ethical and a philosophical force and give us values like the split of the knowledge and the collaboration with the main idea that the knowledge let us to gain liberties to do not fall into the obscurantism.

The Gnu, Mascot of the GNU Project

Websites:
Stallman explains its idea

the GPLv3


Bonus: Who do not use wikipedia ? Wikipedia is under the FGDL licence, the GPL for the documentation, and this is one of the biggest ambassador of the split of the knowledge.

11/11/07

Can I introduce myself ?

My name is Benjamin, I'm 20 and I study politics, History, Economics, law and european studies in the third year at the Institute of political studies of Lille (France). I'm in a french-german study course and I study at the University of Münster (Germany) too.
I like hearing music, going in cinema, reading.
I like especially drawing comics. Some of them have been publicised in newspapers and periodicals.
I am interested in informatics too, but I can't program and develop softwares.
My brothers and I had our first PC in 1991, I was 4 and I remember very clear of the games of that time, like Prince of Persia, Wolfenstein 3D and the LucasArts games like Monkey Island (a myth!!!), and I also remember of the MS-DOS command-line. Since that time I like new technologies and computing sciences. I have used a GNU/linux distro for the first time in 2003, fedora core 2, on the laptop of my great brother. I was amazed by the graphical user interface called KDE. Indeed I had already known the GUI of windows 95, 98, XP, but it was totally new for me. Then, little by little, I discovered the Philosophy of the GNU-Project, above all the 4 freedoms of the General Public Licence GPL. But I had many problems with my distros and the internet, with the recognition of my wlan card. I couldn't get the internet. So It was not very interesting until the day when I succeeded to install correctly the precious driver...
Since that day, I had less and less used Windows. 'Why do I have an operating system like this in my hard disk if I don't use it ?". I had this mind and formated the windows partition, in order to have an "all-linux" computer.
Within my studies I have to write a diploma thesis and to make an 6-week internship. You think that free softwares and politics have nothing in common ? It's wrong. I want to write about the ambiguous relationship betwenn the European Union and free softwares.
For my internship, I want to work in a free softwares company to illustrate my diploma thesis.
It's why I create this blog too. I often felt like doing a blog about free softwares, but there are too many blogs about that.
But now I think that a blog is needfully in my project.
And when I can convince anyone to use free software, why not ?!
This blog is in english (I think ;) ). I handle german much better, but it's more "international" to write in english. And amazing too. I can improve my english. However there are surely many errors. Please tell me where so I can correct them!

11/10/07

Introduction of this blog

Hello everybody,
This Blog has as ambitious goal to let discover free and open source softwares like the operating system GNU/linux, the browser Mozilla Firefox and the graphical conception tool The Gimp.
So, It may be allow some readers to enter in the wonderful world of free softwares. I won't promote free software. But I can't be objective too, because I use those everyday. I will try to be critical about the IT-World.
Actually I don't want to tell you which GNU/Linux distribution I tested last week and to compare two Operating Systems each other: many blogs speak about that pretty good!
I want rather to give you my opinions about the world of free software, to inform you about what is going on. Finally I want to develop my diploma thesis I have to write next year about the legal, economical and political aspects of the relationship between the European Union and Free Software.
It is after all a tool you'll can complete and refer if you want ( and I hope you would !).
I want really to do with you something special.

Thank you for helping me to improve this website !