Welcome to Apache Celix

Apache Celix is an implementation of the OSGi specification adapted to C and C++. It is a provides a framework to develop (dynamic) modular software applications using component and/or service-oriented programming.

Apache Celix is primarily developed in C and adds an additional abstraction, in the form of a library, to support for C++.

Modularity in Apache Celix is achieved by supporting - run-time installed - bundles. Bundles are zip files and can contain software modules in the form of shared libraries. Modules can provide and request dynamic services, for and from other modules, by interacting with a provided bundle context. Services in Apache Celix are "plain old" structs with function pointers or "plain old C++ Objects" (POCO).

News

  • 30-Jan-2018 - After a successful vote Celix 2.1.0 is released.
  • 26-Oct-2016 - After a successful vote Celix 2.0.0 is released.
  • 16-Jul-2014 - After a successful graduation vote Apache Celix has graduation to a top-level project.
  • 25-Feb-2014 - After a successful vote Celix 1.0.0.incubating is released. The release is now available via the download section.
  • 16-Dec-2012 - After a successful vote Celix 0.0.1-incubating is released.

Download Celix

Mailing Lists