I am at the moment creating a matrix which is showing how far Knopflerfish, Equinox and Felix are OSGi 4.2 compliant.
So far I looked at the Knopflerfish documentation (Link 1, Link 2) to get an idea of how much of the Core and Compendium specs are actually implemented.
The core specification seems to be fully implemented, although there are some inconsistent statements about the Security Layer and the Declarative Services.
What makes me wonder is how much of all the Compendium specs are implemented:
- Remote Services
- Log Service
- Http Service
- Device Access
- Configuration Admin Service
- Metatype Service
- Preferences Service
- User Admin Service
- Wire Admin Service
- IO Connector Service
- Initial Provisioning
- UPnP Device Service
- Declarative Services
- Event Admin Service
- Deployment Admin
- Auto Configuration
- Application Admin
- DMT Admin Service
- Monitor Admin Service
- Foreign Application Access
- Blueprint Container
- Tracker
- XML Parser Service
- Position
- Measurement and State
- Execution Environment
To find out more I downloaded (Download page) the source code of Knopflerfish and had a look at it. It looks like some parts of the spec are implemented through the "original" framework provided by the OSGi Alliance (org.osgi.*).
One example is the UPnP package:
alt text http://img6.imageshack.us/img6/5853/screenshot20100403at212.png
Does this mean that missing parts which are not directly implemented by Knopflerfish are added through the "original" OSGi framework?
And does this also apply to other frameworks like Felix or Equinox?