Wednesday, July 20, 2011

Version Lock-in

Free and open source products are very popular in recent years. This helps to avoid vendor lock-in, but I noticed more and more version lock-in in using FOSS. As the name suggests, version lock-in is the state that a product that depends on specific version of a 3rd-party product.

When a project is developed from scratch, all the versions of 3rd-party products must be determined. Nothing wrong here. But if a 3rd-party product used is not its latest version, we have to take it very seriously. Sure you can say that version has everything you need, it also has potential bugs and performance issues you don't want. Imagine using a very old version of Yahoo! Mail web interface now and you'll get the idea.

If a project is forked from another one, re-examine all the versions of 3rd-party products as early as possible, and keep an eye on them until the project is deployed. I don't remember how many times I searched an exception and found it's a bug and fixed in version x.

On the other hand, by always trying to use latest version, you will be able to contribute to the community better. Consider when you share an experience or file a bug, it makes much more sense when they're based on latest version.

Be brave to use latest versions, or be braver to be version locked-in.