Monday, April 25, 2005

On Freedom and Free Software

For those of you who don't care about the nerd laden aspect of my life, please stop reading now, or don't. I warned you.

Linky Link link link.


I like what RMS has done for the world at large. I draw a great deal of hobby from the challenge of getting things to run on my mac that a lot of other people wouldn't think to run. Well, not a lot, necessarily, but I like doing things by hand instead of by fink, especially since fink forces me to rely on people to do package updating for me, which I believe to be a time consuming enterprise, which is why the packages aren't updated very quickly (as a brief example, gaim-stable nonssl is sitting at version 1.1.4; I run gaim 1.2.1). Were it not for the open source nature of packages like GTK and its dependencies, all the way down to the software that comes from the GNU project, I wouldn't be able to do that. Yes, it takes a lot of time and involves some degree of physical pain, but the rewards are great: I have software that only I can accept blame for not working right, and I gain that much greater an understanding of how all this nonsense under my pretty graphics works.

As such, I can't argue with the idea that free software is liberating: it gives me the ability to use my computer the way I want to. I guess that's the dream behind the free software movement, or at least it seems to be from what I've read.

I'm sure my position's been taken a thousand times before, as it doesn't seem that hard to accept as plausible. I believe free software and proprietary software can peacefully and successfully coexist. My setup works that way for me every time I sit down, and that's before I start accounting for /usr/local. As you are probably aware, Mac OS X is a pretty apple interface perched aboard an apple services saddle, all of which rides a GNU/BSD horse, replete with standard tools and GCC. I may not have total access to the inner workings of the things I see, but that doesn't affect my ability to use the computer how I want. I can edit text files using textedit, I can edit text files on the command line using emacs, vi, or pico. I can compile other applications, like nedit. I can download other free and open source programs in many places online. I can buy things like Microsoft Office, or I can download and install from binary or source packages OpenOffice or NeoOffice.

What I really don't understand is why Linux developers using BitKeeper was such a horrible stumbling block to the freedom of the community. Stallman repeatedly states (along with about everyone else speaking out against the apparent travesty use of proprietary CODE MANAGEMENT software would seem to be) that using a proprietary tool, even if free as in beer, is a mortal sin and we should learn that proprietary software is harmful to the community. The only harm I see as having come from use of BitKeeper in kernel code management is Andrew Tridgell (go do a search on Slashdot if you want details, but he pretty much agreed with Stallman and, against the author of BK's will, reverse engineered its protocol [which is far more unethical than using proprietary CODE MANAGEMENT software]) engaging in actively pissing off someone upon whom the Linux community, for better or worse, depended upon.

Why do I emphasize code management? Simple: the words I type in pico are the words I type in Microsoft Word are the words I type in Text Edit are the words I could write by hand using a pen and paper. The important realization in this statement is that the tool I use to direct my creativity has no bearing on my creativity. Apply that mold to the Linux kernel. The source code, which is the important thing here, and is open no matter what, could be managed using BitKeeper, subversion, CVS, or God knows what else I don't know exists. The upshot is that, as long as the code is and remains free, the tool used to keep track of it matters not one bit. If the software allows the developers to use their computers the way they want, then our freedom hasn't been abridged. In fact, what good is Tridgell's open source replacement for BitKeeper if its featureset is dictated by the need to interoperate with a proprietary tool? You can't very well force BK's developers to add features you'd like.

The proper solution to this problem is twofold. First, staunch F/OSS supporters need to come to terms with the reality of proprietary software. Some people wish to receive compensation for their knowledge and efforts. This is perfectly reasonable, given the nature of the society we're forced to live in. Change is gradual, yes, and it won't occur without impetus; however, open source software is, at this time, not strong enough to be that. I agree that freedom in computing is important and that should be an eventual goal among the worldwide community of developers. This is not, however, even a remote possibility today or any time in the near future. The userscape simply isn't well-formed enough to support such an environment. Interoperation is a key element to success; as long as windows exists, for example, free and open source software will have to exist alongside it, for better or for worse. That requirement isn't hindering GNU/Linux or any other open source project. Linux does many things better than Windows for many people, just the same as Windows does many things better than Linux for many people. "Use the right tool for the right job" is a mantra that could really stand to be accepted more widely than it is.

More importantly, though, and certainly instrumental in my desire to share these thoughts with you, is the idea that simply copying the featureset of a proprietary product in an open source implementation doesn't free anyone from anything. The real way out of that bind is to conceptualize, develop, and deploy a set of software that does the job better than the proprietary software package you don't want to use. If the feature set is important and compelling enough to you to warrant effectively breaking the license you agreed to by downloading it, why not duplicate it on your own time, improve it, and pitch it to Linus and the other developers on its own merits? Simply stealing the work of others, proprietary or not, is wrong no matter what. Again, as long as the code remains free, the tools used in turning that code into software remain free, and the final result remains free, it doesn't matter what tools you use to simply keep track of that code. If the way you want to use your computer doesn't fall within the license agreement of proprietary software, don't use that software. If you're gifted enough, come up with your own solution. Most of the people that have problems with proprietary software are talented enough, so even if you weren't, propose it to a newsgroup and agree to lead the project. Just don't reverse engineer things against the license agreement and ruin the way that dozens of other people want to use their computers.

Personal freedom doesn't mean you get to abridge the freedom of others.

No comments:

Post a Comment