incubator-celix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Broekhuis <>
Subject Re: Relation between Native-OSGI and Celix
Date Fri, 04 Apr 2014 06:42:04 GMT

Since I am not sure if you are familiar with OSGi at all, I'll give a more
broad answer, might be useful for more people as well.

I'll start with OSGi [1]: OSGi is a specification for a modular services
based platform written by the OSGi Alliance. This specifications describes
how such framework should be implemented and provides a common API for it
as well. Besides the platform itself, the OSGi Alliance also writes
specification for common services that are of use to many users, for
example a logging service, event manager, remoting etc. The OSGi
specification is written with Java as language, eg the API's are all
available as Java interfaces.

Since the OSGi Alliance only writes the specification and a TCK to be able
to verify implementation for completeness, it is up to other projects to
write the implementation. For Java quite a lot of implementation are
available, some common open source ones are:
* Apache Felix
* Eclipse Equinox (this is where Eclipse runs on)
* Knopflerfisch

Now back to Celix and Native-OSGi, and I guess it be a lot clearer already,
but for completeness:
Since a long time people have been talking about taking the OSGi
specification to other environment, eg C++, JavaScript etc. In the past a
RFP for Universal OSGi has been written which targets those platforms. But,
sadly, that effort never picked up.
Back in 2011 I was working at a company which had a need for a modular
solution for both Java and C. Since OSGi was the most obvious choice for
Java, I started working on a similar solution for C. After a while we
decided to open source that codebase, and donated it to the Apache
Incubator. This is when it started to be Celix.
At this point there was no common specification for OSGi in other
languages, but together with two OSGi-like C++ implementations (nOStrum and
the CTK Plugin Framework) we started working on a common base for those
different implementations. Later on we where asked by the OSGi Alliance if
we would like to do this under the Alliance umbrella, resulting in a RFP
with the name Native-OSGi. Instead of Universal OSGi with its broad scope,
we focus only on C and C++, hence the name Native-OSGi.

The Native-OSGi RFP has been accepted, and we are working (al be it slow)
on the RFC. So since the RFC is still not complete, Celix does not yet
conform to it. But together with the idea to add C++ to Celix we want to
move to the Native-OSGi API as well.

To summarise:
So as with Java OSGi, Native-OSGi is a specification, and Celix is intended
to be an implementation of that specification.

I hope this makes it a bit clearer, and if there are still any questions,
don't hesitate to ask!


2014-04-03 13:24 GMT+02:00 Mostafa Khosrownejad <>:

> Dear all
> I do not quite understand the relation between Native-OSGI and Celix
> projects. Is there any relation at all?
> Regards
> --
> Seyed Mostafa Khosrownejad,
> Doctoral Research Assistant
> ME C1 392, Station 9
> CH-1015 Lausanne

Met vriendelijke groet,

Alexander Broekhuis

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message