Rather interesting (and rather long) interview with the Chairman of BitKeeper's Board highlighted on slashdot today. I'm a little short on time having read it, but I did want to share a pretty interesting quote.

JA: However, GPLed software comprises the majority of the quite successful GNU/Linux operating system. I have found that if I have problems with a program I'm using I don't have to fix them myself, instead once I track down the development team (often just one person) and report bugs, they are quickly fixed. Free of charge.

Larry McVoy: That really depends on what it is that you are reporting. I've certainly found that to be true for some projects, but go take a look at all the projects on sourceforge and view their activity. The vast majority of them are the first pass of the code, it sort of works, and now no one is working on it.

The problem is that coding is fun while it is fun, but when it isn't fun, there has to be some other reason to keep doing it. For a lot of projects, it's painfully clear that it became "not fun" and the project stopped. Browse the CVS repositories and you'll see what I mean.


Of course I'm guilty of this and have a nice-sized plateful of apps I'd like to finish up (if I ever get to stop 9-to-5ing...), but this does play into something I've been giving more thought lately. Apps eventually grow out of the perfectly written code and planned objects that they started out as, it seems. As you get closer to deadline or as others hack on the codebase in a non-modular fashion, your easy-to-follow, well thought out logic takes a dive.

I can't decide if this means the app has stopped being fun or whether it's telling you it's done and you're not making the same app you started building.

Of course there's the argument that Joel takes, which is that it's better to keep this behemoth with all of its everyday fixes around and hack it to do this new application's job (aka -- "Throw out Netscape 4 and watch your lead in the browser market disappear"). I'm just not sure I buy it, but I'm probably being idealistic.