The promise of open source

It’s funny how the promise of open source is an unreachable ideal.

Let’s take a popular open source project: Thunderbird.

Gosh, it would be nice to make a few changes to it.

But it’s too big. And, as a guess, you’d need to spend a lot of time (and perhaps money) setting up a development environment to actually work on it.

In an imaginary, ideal world, such a program would be made up of many clearly labeled, independent, smaller parts with clear, decoupling APIs between them.

Yes, there would always be a bucket of shared library, “memcpy” kinds of things. But those things should just be there in an opaque monolith, always available, never obtrusive.

And, in that ideal world, the pieces of the program would be written in a modern language (i.e. not C/C++).

Telling experience: A few years ago, I needed the Perl POP3 module to do something. Since the source was part of Perl, I simply modified it, sent the author/owner (whose contact information was at the top of the source file) the change and moved on. Soon thereafter, I noticed he had imported the change in a better, more general way. That was all good and pleasant. That the program ran directly from the source was the enabling factor there.

I wonder how much FireFox and Thunderbird would be improved if there were a Tools|Advanced button to toggle the UI/Javascript source between the .jar file format it’s in and a fully expanded form. … And much more of the program were moved up to Javascript from C++. … Or if writing extensions weren’t so chaotic a process.

Leave a Reply