Board Reports
To monitor incubator project, the Apache Software Foundation board holds monthly meetings. For these meetings a board report must be delivered to the Incubator PMC.
On this page the reports for Celix are shown.
2012-04
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
The last month we received or first large code donation, the code still has to be added to the project. This code is an implementation of the OSGi Device Access specification for Celix and has been made by Thales Netherlands. Together with this donation a new committer (Pepijn Noltes) is accepted. Pepijn has developed and will maintain the Device Access code.
We have also been working on a graduation plan which is included below.
Most important issues are:
Improve robustness (APR, error handling etc), resulting in a first release Update/Implement remote services for interoperability with Java OSGi (Apache Felix) Generate awareness and grow a community!
Graduation Plan
Celix is in incubation since November 2010. During the first one and a half year talks where given at several conferences (EclipseCon, ApacheCon, OSGi User Group meetings, etc). Even though there seems to be an interest in the project, two important questions keep coming up:
- What is the state of the project?
- Why no support for C++?
Trying to answer/solve these two questions might make it able to attract more community members. So this plan will focus mostly on these two items.
= State of the project
== Releases
Celix entered incubation in its early stage. There was only a proof of concept, but no complete implementation. This is an important reason for people to hold back and not yet use/improve Celix, on the other hand, being hesitant also keeps Celix from growing towards a more stable/robust solution. To be able to use Celix the implementation has to reach, at least, a more stable state. Over the past year lots of effort has been put into this. Within the next half year a release has to be made of the core component of Celix. Hopefully this will attract more users/testers (and potentially committers). Since a formal release takes quite some effort, it might also make sense to provide snapshots (with documentation) to be able to reach more people.
== Committers
During the last months there has been an interest from Thales Netherlands to use Celix in its middleware. In a research project they are working on an implementation of the Device Access specification. This implementation is donated to Celix, and the main developer has expressed the intention to maintain the code base. Via this path a new committer has been added to Celix 1. But to be able to have a diverse community more committers are needed. Having a release makes it easier for people to use and improve Celix. This is one step towards more committers.
== Technical state
One of the important aspects of Celix is interoperability with Java OSGi through remote services. Currently Celix has basic support for Celix to Celix remote services, following the Remote Service Admin specification of OSGi. This implementation has to be improved and extended to comply better to the specification. Also a Java OSGi implementation has to be made which can interact with the Celix implementation. Some existing opensource solutions are available, but are either to large for our intended target platforms or rely on to many other libraries (for example XML handling etc). To be able to have an implementation which fits the environment ((de)serialization and protocol) it makes sense to implement a simple solution ourselves. Having functional remote services makes it easier to use Celix in a mixed Java/C environment. This solution can also be positioned as an alternative to JNI with the benefit that the Java and C components are separate processes. If either one crashes the other part is kept running, resulting in a more robust solution.
= C++ Support
== Technical Scope
Currently Celix is limited to C only. This was a deliberate choice since Celix tries to target embedded/constrained platforms. But during talks people also seem to be interested in C++ support. Extending the technical scope of the project might attract more users and committers. Over the next half year we will work out a plan how C++ support can be added without impacting the current supported platforms. A start with the discussions has been made on the mailinglist, see 2 for more information.
== Cooperate with existing C++ OSGi like implementations
In 3 a list of similar projects is mentioned. Reaching out to these projects and trying to find a common ground on requirements/API etc could benefit Celix (and those projects as well). To see if there is a common ground we need to contact those projects and plan a meeting.
Signed off by mentor:
2012-01
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
Over the last few months lots of work has been put into integrating APR and updating the Celix code base to the proposed code style. This code style has partially been documented on 1. Also some effort has been put into updating the source for Visual Studio, even though not yet finished some interesting and helpful patches where submitted and applied.
In Oktober an event was held to create more awareness for services, OSGi and Celix in the Dutch embedded community. The attendance was great, and a follow-up will be planned. Also, in November a talk was given at the ApacheCon.
As listed below, one of the most important issues is the slow growth of the Celix community. With the current discussion about poddlings and how long a poddling is in the incubator, we are discussing a plan how we can move to a more diverse community and be able to graduate. This plan will be included in the next board report.
Most important issues are:
Improve robustness (APR, error handling etc), resulting in a first release Generate awareness and grow a community!
Signed off by mentor: marrs
2011-10
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
In the code not much has changed during the past few months, mostly due to vacations. Some (reported) bugs have been fixed, and some interesting examples have been added. These example where donated by a user, and follow the OSGi in Action book. This makes them a great addition to Celix. Furthermore, some work has been done to make testing from CMake easier, and we are also looking into a method for mocking services to be able to test only one service without all its dependencies.
On the community site, Luminis and Thales are organizing an event (in Dutch) to introduce embedded/distributed companies to OSGi. During this event OSGi will be explained, Celix and PojoSR will be introduced. Also a small introduction in Apache and the "Apache Way" will be given, with the goal to invite people to use/join Celix. Also, in november a talk and demo will be given at the ApacheCon.
Most important issues are:
Improve robustness (APR, error handling etc) Generate awareness and grow a community!
Signed off by mentor:
2011-07
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
Over the past few months work has been done on integration and usage of the Apache Portable Runtim (APR) in Celix. The work has mostly focusses on stability and robustness of the codebase, but some new features were added:
Log Service and Writer: for logging and reading the log Service Factories: needed for the log service
Also, in March, a talk was given to the OSGi User Group France. There is a lot interest in the project, but people seem to be waiting for a more stable version. For community building it might be interesting to work towards a release later this year to make it easier to download and use Celix. A talk on Celix has also been accepted for the ApacheCon in November, which is a good opportunity to show Celix to the world. Also parts of Celix have been ported to Windows. Mostly the utils used by the framework, and not yet the framework itself. This is a lengthy job because Celix is using C99, and Windows (Visual Studio) only support C89/C90.
Most important issues are:
Improve robustness (APR, error handling etc) Generate awareness and grow a community!
Signed off by mentor:
2011-04
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
During the EclipseCon a talk was given over Celix, also spoke with several OSGi people who are interested in the progress, especially related to Universal OSGi (which details specification and requirements for OSGi in other languages). During the last few weeks work has been done to get rid of memory leaks and null pointers. Currently we are looking at the requirements/details for bundle deployment and updating, possibly in combination with Apache Ace.
Most important issues are:
Define a status overview of what is and isn't working. Move all "sub" project to the new structure. Use APR for all file handling, threading etc. Generate awareness and grow a community
Signed off by mentor:
2011-02
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
A new structure for the project has been used for the framework. In this structure public and private files are separated. This structure has not yet been applied to all "sub" project in Celix. We are also looking at Apache APR for OS abstraction. Using APR would involve replacing all file handing, threading etc with APR functions.
Finally, work is being done for the talk on the EclipseCon.
Most important issues are:
Add more information to the wiki (ongoing process) Move all "sub" project to the new structure. Use APR for all file handling, threading etc.
Signed off by mentor:
2011-01
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
Currently the source tree is being cleaned and correct header information is being added. We are also looking at the project structure and how it can be changed to get a better/simpler overview. Most important aspect is separating the actual framework from the additional bundles.
Additionally, last December a proposal for a Celix talk was sent to, and accepted by the EclipseCon/OSGi DevCon. This provides a great opportunity to increase awareness and build a community.
Most important issues are:
Add more information to the wiki (ongoing process) Cleanup project, rearrange structure Generate awareness and grow a community!
Signed off by mentor: marrs
2010-12
= Celix =
Celix is an implementation of the OSGi Specification in C.
Celix entered incubation on November 2, 2010.
As we are just accepted into the Incubator, startup is in progress. The donated code has been committed to SVN, and the project site is being created.
Most important issues are:
Get everything (Jira, SVN, Website etc) up and running Cleanup code Generate awareness and grow a community.
Signed off by mentor: marrs
