Microblog: A very long article Wikipedia article on the orientation of toilet paper [Jun 7th, 22:52] [R]

Wednesday, October 22nd, 2008

Just for Fun

Categories: [ IT ]

This is the follow-up to the previous episode.

Today's discussion with Ville was concluded more or less like that: he claimed that having access to the source code is of no use for him although he can code, because he has never been able to gather the necessary energy to start hacking an existing software. Well, that's his problem, isn't it? I devote some of my free time to hack software (in a very insignificant way, I'm sure) to adapt it to my needs, he devotes his to something else. And I enjoy my small software hacks. I'm proud of myself when I manage to understand MPlayer's subtitles code and add support for DVB subtitles, or when I add support for X11's screensaver protocol to perl's X11::Protocol module. And let's be honest: LATEX is ridiculously complicated, but I enjoy fighting the beast and bending it to my will.

I have loads of fun doing things myself. I make my own pizzas from scratch (dough and tomato sauce, altough I don't grow the tomatoes, olives and wheat, nor do I breed pigs or milk cows), I make my own ice-cream, my own Home Theater PC, my own blog engine, my own Carcassonne meeples. Buying something ready-made feels like a waste of money if I can do it myself for a reasonnable cost in time. I'm not going to devote large amounts of time on large projects such as writing my own operating sytem, word processor or image manipulation software, mainly because the time it would cost me compared to the benefit I would get out of it compared to using the existing tools is not worth it. Hacking oversized projects don't really interest me, even if they have bugs and I'd like to fix them. But I very much appreciate that small, one-person -sized softwares are free for me to hack when I set my mind to it.

The ones who consider the freedom given by free software to be useless are the ones who are too busy/lazy to take advantage of it and have more money at hand than time.

[ Posted on October 22nd, 2008 at 23:41 | 9 comments | ]

Is Free Software Always Better?

Categories: [ IT ]

This is the follow-up to the previous episode.

So, is free software always better than the other kind? Jonne claimed that the “freedom” aspect of free software isn't an advantage for him, because free software is hard to change, and it takes a long time to implement the new feature you would like to add to it. The alternative would be to send a bug report or feature request to the developers. But both in free project and proprietary ones you may reach grumpy developers, who will consider your request as low priority.

Now the real difference between free and proprietary is that in the case of free software, you have the right to do it yourself. It may be difficult and take an enourmous amount of time (such as integrating CMYK in GIMP, which was not designed orginally to handle anything else than RGB), but it is possible if you are willing to devote resources (time and/or money) to it. With a proprietary software, if the developers don't want to implement your feature, there is no appeal. Jonne's argument was that you can always find a software (free or not) that does what you want. I claim that this is not always true.

The first example is that when I built my leffakone five years ago, there was no software running on Linux that supported DVB subtitles and automatic TV commercial removal. Actually, there was no software that was supporting these two features at all. So I took the time to implement them myself (and yes, MPlayer's subtitle code is an horrible mess). The second example is a recent problem with Python's X11::Protocol module. It had a bug that I managed to identify thanks to the source code, and I found a way to go around it. I submitted a bug report, but to this day (over a month later) it has still not been answered. X11::Protocol was exactly what I needed, but had it been proprietary, I wouldn't have been able to find a workaround, and would have needed to settle with a sub-optimal solution, which would not have been doing exactly what I want.

Jonne also claimed that developers don't need the source code of a software, but the software should be designed so that it can be extended. Firefox is a good example: a lot of features can be added as “extensions” and the developers don't need to access Firefox's source code. But not all software is designed to be extensible, especially if it is in the (financial) interest of the publisher to prevent anyone to develop an extension without its blessing. This means that if the extension you want to develop doesn't follow the publisher's commercial strategy, you won't be allowed to do it. And again there will be no appeal. An no, you don't always find another software that does the same thing and would allow you to develop your extension.

And guess what? Most of the software available nowadays is not extensible. That is, it's not meant to be easy to extend. If you want to change its behavior or fix a bug, you have no choice but to dig into the source code. And even if the software has been designed with extensibility in mind, it doesn't mean that the data it exports through its extension API contains all the information you need for your purposes. A good example of this if my blog engine, Bloxsom. It was designed to be extensible, most of the work is done by extensions rather than by the software's core. But for implementing features such as multiple languages and multiple categories, I had to change the core, because the extension API was not enough. And I don't know any other blog engine that fits my requirements. But hey, I don't know all the blog engines in the world, so I may be wrong.

To be continued.

[ Posted on October 22nd, 2008 at 23:14 | no comment | ]

Free Software is a Fad

Categories: [ IT ]

I started to use free software in 1996 (or was it 97?), with Slackware 3.0. The first reason why I decided to learn Linux is because Unix systems were the ones used by real coders. Windows already looked too much like a toy, had the bad reputation of a shaky house built over the sand of MS-DOS. And also because it was cool (from a geek's perspective, of course). The reason why I continued to use free software was that even though free software is free as in “free speech”, it is also free as in “free beer”. There were software filling my needs, and I adapted the topic of my free-time projects to what was available on Linux. For example, I could have continued to play aimlessly with SoundForge in Windows, but coding an IRC bot in Perl on Linux was more appealing. It was a creative process, the creation of somethat that acts (if only by reflex), on the contrary of something you contemplate with more or less awe (like music or a painting). And also, the IRC bot was working on my behalf, providing a service.

I had a long discussion with two colleagues the other morning, who claimed that Free Software is a fad. I didn't agree with them at first, thinking about the origins of the free software movement, but after reflection I have to admit that in the last five years it actually has turned into a fad. Not a passing fad like clothing fashion (although the pointy shoe fashion could have changed more quickly for my taste), but in the sense of something that a lot of people use, and who use it because everybody else is also using it. The reason for this is that free software is free (as in “free beer”) and people are more often than not choosing something free over something they have to pay for. The average software user doesn't care whether he has the right to modify software or not. He's a user, not a developer, and he doesn't know how to use this right. I guess plenty of users still use warez software or free (as in “beer”) proprietary software instead of free software, because warez doesn't cost more than free software (at lease from the point of view of money). In some cases, one free (as in “speech”) software can drive the fad. This is the case of Firefox I guess, which was in its time technically superior to Internet Explorer (it respected the standards of the Web and had popup and ad blockers). And I wouldn't be surprised that Firefox has been the main driving force behind the free software fad.

To be continued.

[ Posted on October 22nd, 2008 at 22:32 | no comment | ]