200912December

A Tale of Two Communities

This article is prompted by the recent news of Gnome considering a vote to split from the GNU project. The GNU project is a software development effort to create a free Unix-like operating system. Indeed, much of the software tools used in Linux (a Unix-like operating system) was created by the GNU project. Much of the philosophy of the GNU project came from its founder, Richard Stallman. Stallman advocates that free (as in freedom) software is the only acceptable kind; any software that removes a person’s freedom is an assault to that person’s inalienable rights. Stallman’s definition of freedom includes a person’s rights to run a program for any purpose, to redistribute the program (either for no cost or for a fee), to modify that program to suit his needs, and to distribute the modified program.

A bit after the GNU project had gained some momentum, Linus Torvalds saw the use of the software tools created by the GNU project. Torvalds had been working on his own project: an operating system kernel called Linux. The GNU project by that time (around 1991) had released some quality software, which Torvalds saw fit to include with his operating system.

Over time, the GNU project also created a software license called the GNU GPL. The license codified Stallman’s philosophy into a legal document. It included terms that required distributors of GPL-licensed software to also distribute the source code to that software. Also, any GPL-licensed software that was modified also had to have the modified source code distributed with the with it. Torvalds wanted to distribute Linux for free and realized that having any modified versions of his code would be beneficial, since he could then incorporate that modification in his own system. Because of this, Torvalds released Linux under a GNU GPL license. Many other people followed suit.

At that moment, two different people with different goals shared a similar means. Ever since then, people of one mindset or the other would associate themselves with the seemingly same community. They called it the Free Open Source Software (FOSS) community. It has seemed to work okay for a while, although there has always been some amount of friction between those who are in it for pragmatic reasons and those who fight for the human right to free software. The pragmatists are making deals with companies that produce proprietary software. The GNU crowd is making very public, very bold statements that don’t represent the views of everyone involved. This friction has begun to start fires.

Arguing for one viewpoint or another is not going to tear “the community” apart, as some people believe is happening. This is not a community to be torn apart; it is two different communities, and it’s time for people to realize that. I do believe that once this becomes accepted, people will be much happier and more productive.

What do you think? Two communities? One community? Post your comments.

Tagged: , and
20097July

Open Source Is a Great Feature.

While I am not opposed to closed source or proprietary software, as others may be, I very much appreciate software that is open source. I view it as a feature: a very attractive feature that can be implemented in any piece of software.

No Malware

When I install a piece of open source software, I can be reasonably sure that it does not contain any adware, spyware, or trojans. This is simply due to the fact that such things are not tolerated, and if the program is at all useful, someone will have noticed and called the software developer out. Once this happens, if the original developer doesn’t modify the software to remove the malware, someone else will undoubtedly create another version - this time without the offending bits; this version will then become the de facto standard. This is my single favorite benefit of the feature of being open source, especially when it comes to other people’s computers and the repairing thereof.

No Dangling Bits

I also can be reasonably sure that a piece of open source software is easily and completely uninstalled from a system. Many shareware and freeware apps are simply of very low quality; either the installer or the uninstaller or both may not work correctly. This is another example of bad software behavior. Over time, installing and uninstalling shareware and freeware software contributes to a very messy system with orphaned libraries, pointers and other files. This is another software behavior which is simply not accepted in open source software.

A Great Tool

There are many other more technical reasons open source software is great, but they don’t apply directly to most users. However, I would like to point out one somewhat technical benefit: open source software is a marvelous tool for learning to program. There is a stage that comes after a person learns a first programming language but has not done much programming. At this stage, being able to see and modify the source code of programs is very beneficial and empowering. This can also help someone get involved with a community of software developers.

Pragmatic

Open Source is more than an ideology for me: it’s one of the best features a piece of software can have.

Tagged: