Dries has been commenting recently, both on his blog and elsewhere, about one of the chief advantages of using open source: All developers/users are on equal footing. If you try to learn a proprietary app or framework, you know what the main developer feels like deigning to let you know. Anything else is either a mystery or, in some cases, illegal for you to find out (if there's any encryption or copy-prevention involved). You can never be as good an expert as the author, because the author has access to the Holy Book (code) and you don't. With an open source project, everyone gets the same access to the code. The only thing stopping you from being the best expert on the planet is your own skills and time.
He's very right about why you should choose to use an open source project. But what about why you should start one, or release your own code open source? As a developer, that's a far more interesting question for me.
Debugging is twice as hard as writing the program, so if you write the program as cleverly as you can, by definition, you won't be clever enough to debug it.
Nick Lewis has set off a bit of a firestorm with his latest blog, "Drupal is Part of the Problem". In short, his argument is the same chicken-and-egg that the PHP dev team keeps saying: Hosts won't move to PHP 5 until the applications are there, so the big applications need to lead. In a sense he's right; web hosts are by necessity cautious and conservative. At the same time, though, developers can't take the whole blame.
Over on the Planet PHP site, another author has brought up the monthly PHP 4/PHP 5 rant again with regards to why the major open source packages (he picks on Drupal and Wordpress in particular) are still developing for PHP 4. It's like clockwork how often the question comes up. The answer, as always, is dead-simple. I'd love to use PHP 5's features, but can't. Check out the latest PHP usage stats, published on the same planet site, to see why. (Hint: See the 3th chart.) Until that changes, developers can't drop PHP 4 support.
I'm really setting a bad example here, given that I started this thing. Bah.
In my day job, one of the most regular tasks I have, after writing code, is managing code on remote servers. In KDE, that's trivially simple; just open up
sftp://firstname.lastname@example.org/ in a window and you have full access to the remote files with complete network transparency in any application. In Windows, though, I don't have that. So where do I turn? WinSCP.
[T]he law cannot condemn an entire technology merely because on occasion it will be abused.
My copy of Pro Drupal Development arrived in the mail the other day. So far it's very programmer-targeted, but good. I need more time to just sit down and read it. :-)
I did notice one thing that caught my eye, though. In the Acknowledgments, the authors thank
...the members of the #drupal internet relay chat channel, who put up with the constant questioning of how things worked, why things were written a certain way, or whether or not a bit of code was brilliant or made no sense at all.... Among them are... Larry Crell...
Give a man a fish, he will ask you for another in a day. Teach a man to fish, and he may stop bugging you for more fish.