Apache Celix
Apache Celix is an open-source implementation of the OSGi specification adapted to C and C++ developed by the Apache Software Foundation. The project aims to provide a framework to develop (dynamic) modular software applications using component and/or service-oriented programming.
![]()  | |
| Developer(s) | Apache Software Foundation | 
|---|---|
| Initial release | November 2010 | 
| Stable release | 2.3.0
   / July 14, 2022[2]  | 
| Repository | Celix Repository | 
| Written in | C, C++ | 
| Operating system | Linux, macOS | 
| License | Apache License 2.0 | 
| Website | https://celix.apache.org/ | 
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).
History
    
Apache Celix was welcomed in the Apache Incubator at November 2010 and graduated to Top Level Project from the Apache Incubator in July 2014.
References
    
- Repository Mirror at GitHub
 - "Apache Celix". Retrieved 26 September 2022.
 
"Apache Celix website". The Apache Software Foundation. 2018. Retrieved 2018-03-22. "Prose in this article was copied from this source, which is released under an Apache License, Version 2.0"
