Stable release, cutting edge scheduled release, or rolling release?

Again, choosing the Linux distro, based on different philosophies, we may choose a different distro, though they are all using Linux kernel.

I would like to use Debian to represent stable release Linux distros, Fedora to represent cutting edge Linux distros with scheduled release, and Arch Linux to represent the rolling release. If you visit DistroWatch.com, you can see the difference of the packages version (Debian, Fedora, Arch Linux), where Debian has very few green colour packages, Fedora has a lot of green colour with some red colour packages, and Arch Linux has a lot of green colour but no red colour packages. The green colour indicates the latest (stable) release version of the package; red indicates the beta version (development or testing).

The stable software is normally what an end user always wants. If you are looking for the performance, stable Linux distros is always what you need. Especially if you are choosing a Linux distro for server use. The more stable a software, the less bugs it has, because they are fixed. However, the drawback is that the user may not experience the latest features of the packages. For example, a new web technology is introduced which can be run by the modern web browser, as a result the users cannot try the technology immediately.

The Linux distro like Fedora, which contains latest stable release and also the beta release, is also important. Because we need to know that, the software needs to be tested to discover the bugs, and then fix the bugs. If there is nobody test the software, the bugs will not be found, and if the developers release it, it is still buggy as the beta version. That is why, Linux distro like Fedora is very important to experience the latest packages.

The rolling release becomes more and more popular recently, such as PC-BSD adopting the rolling release. The rolling release like Arch Linux, allows the users to upgrade the system to the latest stable release, without a full installation like Windows, Ubuntu, and else. That is why rolling release is also cutting edge. Unlike Fedora, it does not have the beta versions as in the DistroWatch.com. However, since it is cutting edge, some users may claim that it is not suitable for server. Yes, we need to know that, the bugs are everywhere, the only difference is the criticality of the bugs, whether it affects the whole system to function or not. Because it is a rolling release, most of the bugs are come from the upstream (original developers). As a results, this can help in the bugs report for the upstream to fix them.

Even you are not using rolling release, most of the Linux distros allow the users to access the repositories for testing. This also allows the users to have a look on the latest packages.

So, if you are looking for the latest packages, you may try rolling release distros, if you are afraid of bugs, you canĀ  try stable distros, and if you are a developers and not afraid of bugs, you can try to use the beta version or testing version from the repositories.

In my opinion, if you are targeting a server, stable and non-rolling release is more preferable.

Choosing Linux distros

Linux is something wonderful, which until today I am still learning. Not only the command-line, but also filesystem, distributions, philosophies, open source, packaging, Linux kernel, desktop environment, etc…

It is very interesting to know why thereĀ are so many Linux distros. As I was a newbie in Linux, I was thinking on how to choose the distros and what are the differences of these distros. Some users state that Linux is the kernel, not a Linux distribution. And even some users say that whatever Linux distribution, it can be customised until identical to the other distribution (interface only).

There are a lot of reviews and comparisons on the Linux distros on the internet, I will not go through those things.

Philosophy

Firstly to choose Linux, besides we need to try the distro itself, we also need to know the distro’s philosophy, or the purpose of the Linux distro project started. There are so many distros, the main reason is the project leaders have different ideas. That is why they start the project to build their ideal OS using Linux kernel. Some distros adopt open source software and format only, as a result no proprietary software is supported. Then the users may need to get the software through other repository or download the binary files and install. The most prominent issue is the multimedia codecs. For example, OpenSUSE and Ubuntu CDs do not contain the restricted multimedia formats. However, the users can still install these codecs after OS installation. Some of the distros are more lenient with the license, such as Linux Mint or even Arch Linux.

Packaging (distribution)

The philosophy decides how the Linux and the other packages are distributed. Some distros target for the server, some for desktop computer, some for live media only (USB flash drive), some for old computer, some for gaming. Because of the target audience, the developers will package the related software to distribute to the users.

Based on the philosophy, some of the distros will distribute latest packages, or cutting edge packages (such as beta version), or old and stable packages. For example, Debian is well-known for the stable packages; Fedora is well-known for the cutting edge packages.

Package manager

In order to distribute the packages, a package manager is a must. That is why, there are Debian-based, RPM-based, pacman-based, or others. The purpose of the package manager is to manage the packages. It can get the packages from the repository. We can use it to install and uninstall the packages.

Each Linux distro should only use one package manager. It is possible to install several package managers in an OS. It is even possible to run the other package manger and install the package to the OS. For example, let say I am using Arch Linux, I get the source for aptitude (Debian’s package manager) and compile it. Then I can install the packages from Debian’s repository. However, the effect is not good. This is because the packages are built for target distro (for instance, Debian). Even the binary executable file may be compatible, the filesystem hierarchy may be different. In practical, using multiple package managers normally do not work, this is because the package manager will check for the dependencies. Therefore, do not think that you can have an OS which you can just get any packages from any repository.

(But please remember that, you can always build your own package from the scratch. However, some of the application really depending on the distros.)

Patch

Linux is an open source kernel. As a result, some developers may patch the Linux kernel in order to do something special. For example, linux-ice from Arch Linux AUR, it is a patched kernel to support TuxOnIce (suspend and hibernation features). So, no need to surprise why some distros can work like this, some distros cannot work like this.

Similar to the Linux kernel, the kernel modules (normally drivers) can also be patched for special purpose.

Community

Though the community is not part of the Linux distro, it has some influences on the distro. When we have the problems dealing with the distro, we can get some help from the forum. Each distro has different community. We should not ask the questions about other distros in an unrelated forum. Nobody can help. And no one likes to help. Because you are in a wrong channel.

Documentation

Similarly, documentation is not part of the Linux distro, but it is part of the project. Well documented information is very important for the self-learning users.

 

Therefore, to choose the Linux distro, we need to know the philosophy of the distro. Find a distro which fits to our appetite. If there is any problem, read the documentation and ask the correct community. Always bear in mind that, bugs are always there. Even we are using Windows, there are also bugs. The only problem is the severity of the bugs and how long will the bugs be fixed. Use the channel such is IRC, forum, bugs report, or mailing list to help us to utilise the OS better.

And always bear in mind, we can change to another Linux distro any time when we want.

Why not Internet Explorer?

Firstly, I want to state that I am totally anti (dislike) Internet Explorer. There are several reasons that I don’t like Internet Explorer.

Internet Explorer version less than 9 has a lot of problems with CSS. As a result, as a developer, developing the webpages for among IE and other web browsers is exhaustive. In order to make the compatibilities, the CSS is almost web browser dependent. Besides that, CSS3 which is supported by most of the modern web browsers, does not work well in Internet Explorer. Luckily there is a trick using PIE. But this is not the best solution.

The next problem of the IE is the upgrading problem. To upgrade the IE, it is depending on the OS. To use IE8, the Windows must be at least Windows XP. This is not a great problem, because Windows XP is not yet extinct. But to use IE9, the Windows must be at least Windows Vista with SP2 (Service Pack 2). That means, whoever uses the Windows XP cannot upgrade IE to version 9. Next, to use the latest IE10, the Windows must be at least Windows 7 with SP1. That means, whoever uses Windows Vista cannot use IE10. As a result, the users can only choose to upgrade their OS or computer, or remain using old and good for nothing web browser which cannot cope the current web technologies, or lastly change to another web browser.

As a developer, to develop the webpages for web browser independent should be easy, because of the standardisation of HTML, CSS, and XML. However, it will be difficult because of IE. Moreover, to develop the webpages for different IE versions is even sillier. If using IE8 and turn on the Developer Tools, we can choose IE8 standards or IE7 standards. This is something interesting, one web browser with two different standards for development. This indicates that webpages for IE10 may different from IE9 or IE8 or IE7 or more.

The best reason not to use IE is because there are much more better alternatives: Firefox, Google Chrome, Opera, or Safari. These web browsers are free. Besides that, they are platform independent except Safari.

Why do I need to spend extra money to upgrade the computer in order to get a latest OS because of the desire to use the latest web browser? Changing a web browser is cheaper than changing an OS and even more cheaper than change a computer. So, unless IE is cross platform, following W3C standards, and remain free, I will not use IE or develop the webpages targeting on IE.