Monday, April 19, 2010
You could say it's a dog's life in the software business these days. The great thing about open source software is that you can always look into the code to try to figure out what it does. So, in theory, you don't need documentation (which rapidly goes out of date). But in practice, you do need some documentation. There's tons of unofficial documentation on the web, generally in someone's blog. But they never seem to remember to specify which version of the software they are using. And they rarely tell you everything you want to know. Usually, you get some Hello World application with no explanation of how to extend it. And of course, there's no peer review process to give you confidence that the author actually knows what he's talking about.
And then there are strange omissions. For instance, I built a bean container with dependency injection on top of Jakarta's commons configuration package. This package claims to support include files. Since XML files are more powerful (and least easier to read), it makes sense to use them for configuring applications built from complex sets of beans. But I could never get the include mechanism to work. That's where the saving grace of open source software comes in. I found a comment in the code saying that the include mechanism was not implemented for XML files. So, I implemented it. It was fairly easy, and now I'm able to split up the configuration files.
OK, back to work!