Friday, April 25, 2014

3rd-Party Contribution: ez-vcard + OSGi Support

Recently I wanted to use ez-vcard in one of my projects. The project is OSGi-based but unfortunately ez-vcard didn't provide the OSGi meta data in its Manifest file. So what to do?

I decided to go and try to fix ez-vcard itself rather than finding some workaround.

It didn't take too much time to get the sources, add the OSGi meta data generation, fix some other issue which popped up and create a patch. And it didn't take a long time either for the maintainer to accept my patch (with small changes from the maintainer).

Result:
  • I have solved the issue the clean way - the library ships now with the OSGi meta data in the Manifest file.
  • The patch is now part of the project and is likely to be maintained along with the project. I won't have to apply the patch with every new version of the library.
  • I didn't have to create some workaround, which I would have to maintain myself.
  • Last but not least: The issue is now solved not only for me but for anyone else who wants to use the library in an OSGi environment as well.

This is one of the real strength of Open Source software: I could quickly fix an issue myself the clean way without having to wait for the maintainer to fix it eventually sometime in the future.

I can only encourage developers not to shy away from getting the sources of 3rd-party Open Source libraries and to fix the issues they have the clean way rather than to search for some workarounds.