One of the touted benefits of Open Source software is the ability to "go in and fix it yourself" when your software isn't working the way you want. And while that is a great benefit, sometimes you don't have time to fully understand all the code and fix it on your own. That's when the other benefit of Open Source comes into play: direct contact with the developers.
Recently, I was setting up an instance of the
Serendipity blog publishing software at work. Since we are in the process of migrating to MySQL5 from MySQL4, and since they are both running on the same database server, the way you reach the MySQL5 server is non-standard (it's running on a non-default port of 3307). There were two modules to access MySQL in Serendipity: the "old" mysql PHP module and the "new" mysqli PHP module (completely unrelated to the "old" and "new" database servers). I tried to specify the database host name as databaseserver:3307 (which is the usual way to do it), but using the mysqli module, it failed. With mysqli the host, db, user, pass, and port are all separate fields in the function call to connect, so you can't pass it databaseserver:3307. I posted about this error on the Serendipity user forums, and in two days (mostly because the author is about 10 hours ahead of me), we had debugged the problem, and he had written a few lines of code to change the mysqli connect call to handle the case of someone giving host:port as their host name. Pretty easy, but can you imagine getting a two-day turnaround from a commercial software vendor?
Shortly after this happened, there was a
blog post by Giuseppe Maxia, a systems analyst and database designer, about a bug being opened in the MySQL bugs database and, with the help of two contributors from the MySQL community, that bug being closed just 11 hours later. Now
that's the power of open source community.
Don't you wish Microsoft fixed bugs that fast?