Over time, I’m starting to have a certain fear of commercial programming libraries. Yes, coding with a plethora of libraries is quite empowering, moving programming closer to integration scripting, but there are risks. The library may have a “viral” license (GPL), an unstable API or could be prohibitively expensive to license in a commercial project. But there’s something worse than all that.
Larger libraries can significantly increase the level of convenience, but at the same time can make your code so much dependent on the environment it provides that your code can be “locked in” it. Hence a potential “bait and switch”. Yes, that Oracle development stack is nice, same for that Microsoft one with .NET, but after years of development with it, don’t start complaining if the license costs are too high.
I previously complained about proprietary version control systems, and for the same reason if the library doesn’t come with its source code, I would simply avoid using. Similarly, I much prefer libraries that can be used with minimal integration, like Spring, than ones that would impact your code everywhere.
Published on November 7, 2012 at 21:13 EST
Older post: Election Night in the USA
Newer post: A Fedora Linux Server