If you are going to be packaging open source libraries as OSGi  
bundles, please be very careful about versioning.

The semantics of versioned dependencies (e.g. in Require-Bundle  
constraints) in OSGi imply specific compatibility requirements.

Open source is open source, and some libraries may have versioning  
that doesn't necessarily adhere to the guidelines.  For example an  
open source library may slip a change into a minor release that  
breaks backward compatibility, and which may thus unintentionally  
violate existing dependencies expressed as ranges (e.g. "bundle- 
version="[1.0.0,2.0.0)").

We have found that it is useful to wrap the existing third-party  
library archive(s) in our own metadata wrapper so that we may do our  
own versioning that guarantees such backwards-compatibility  
constraints.  These synthesized versions typically track the  
underlying library version, but give us the ability to adjust it if  
we find incompatible changes.

This may or may not be applicable to your use cases, but I thought it  
worth mentioning.

/djk
_______________________________________________
OSGi Developer Mail List
osgi-dev@bundles.osgi.org
http://bundles.osgi.org/mailman/listinfo/osgi-dev

Reply via email to