+1

Regards,
Alan

On Oct 28, 2010, at 12:42 PM, Marcel Offermans wrote:

> After the initial discussions about Celix have finished, we now have three 
> mentors and would like to call a vote to accept Celix into the Apache 
> Incubator.
> 
> The proposal is included below and can also be found at:
> http://wiki.apache.org/incubator/CelixProposal
> 
> Please cast your votes:
> 
> [ ] +1 Accept Celix for incubation
> [ ] +0 Don't care
> [ ] -1 Reject for the following reason:
> 
> Greetings, Marcel
> 
> 
> 
> Celix
> 
> = Abstract =
> Celix is a OSGi like implementation in C with a distinct focus on 
> interoperability between Java-OSGi and Celix.
> 
> = Proposal =
> Celix will be an implementation of the OSGi specification adapted to C. It 
> will follow the API as close as possible, but since the OSGi specification is 
> written primarily for Java, there will be differences (Java is OO, C is 
> procedural).
> An important aspect of the implementation is interoperability between 
> Java-OSGi and Celix. This interoperability is achieved by porting and 
> implementing the Remote Services specification in Celix. These Services will 
> be made available in separate bundles.
> 
> = Background =
> In embedded/realtime situations software is mostly implemented in C. In 
> situations where interoperability and dynamics are important, a good 
> architecture and design principle is needed. OSGi provides such middleware 
> for Java based systems.
> To be able to have such dynamic environment implemented in C, a OSGi like 
> implementation is needed. Besides a dynamic environment, OSGi also makes it 
> easier to reuse parts of the system, reducing time needed to implement and 
> maintain software.
> The implementation started with the basics to make it possible to load 
> libraries dynamically, and steadily grown towards an implementation where 
> large parts of the OSGi framework API is implemented.
> The implementation of Celix is heavily based on Apache Felix (where 
> appropriate it is even a direct port of the Apache Felix code (Java) to C).
> Since distributed systems are used more and more in services based 
> environments, a scalable and transparent solution is needed for remote 
> communication. The OSGi specification describes remote services, this 
> specification will be a part of the first release.
> Remote services also make it possible to communicate between Java-OSGi and 
> Celix. To achieve this interoperability, both Java and C implementations of 
> remote services for a common protocol are needed. For local services JNI can 
> be used, for remote services SOAP and/or REST can be used. In the latter 
> case, Apache CXF can be used to implement the Remote Services API in Java.
> 
> = Rationale =
> In embedded/realtime/distributed environments there is a need to be able to 
> create dynamic and maintainable software. Currently there are no off the 
> shelf middleware/frameworks for this. Celix tries to provide such a framework.
> The choice to base the implementation on the OSGi specification makes it 
> possible for a developer to use Celix as well as Java OSGi implementation 
> without much differences and without a steep learning curve.
> The community and user driven platform created by Apache provides a great 
> base for middleware such as Celix. Also the fact that Celix is based on 
> Apache Felix, and Apache Felix is hosted by Apache, makes it a logical choice 
> to have Apache as home for this project.
> 
> = Initial Goals =
>    * Provide a basic implementation of the OSGi Framework API
>    * Provide an implementation of Remote Services to be able to create 
> distributed systems (and Celix <-> OSGi interoperability).
>    * Build/Expand a community using/developing Celix
>    * OSGi like implementation in C
>    * Provide a module/component based software solution for embedded Platforms
>          o Real-Time software
>          o Distributed systems
>          o Provide Services based solution
>    * Investigate if Apache Portable Runtime can be used for platform 
> abstraction
> 
> = Current Status =
> == Meritocracy ==
> Celix was created by Alexander Broekhuis. While he is no active 
> committer/participant of Apache projects, he has used Open Source and is well 
> known with it and how a meritocracy works. Currently there are several other 
> possible committers.
> To be able to create and maintain complex middleware (such as Celix) a good 
> structure is needed. A meritocracy following the rules and traditions of the 
> ASF is a good choice for Celix.
> 
> == Community ==
> Currently the Celix community exists out of the core developers, and the 
> users integration Celix in an end-user product (all from Thales).
> 
> == Core Developers ==
>    * Alexander Broekhuis (Luminis)
>    * Jasper Gielen (Humiq)
>    * Herman ten Brugge (Thales)
> 
> == Alignment ==
> Celix is heavily based on Apache Felix. Since Apache Felix is an Apache 
> project it makes sense to develop Celix under Apache.
> Also, Celix is a complex and large middleware project, it makes sense to have 
> a supporting/developing community. Apache provides a solid base, with 
> established processes and rules, to create such community.
> 
> = Known Risks =
> == Orphaned Products ==
> Celix will be used by Thales, and so there is no direct risk for this project 
> to be orphaned.
> 
> == Inexperience with Open Source ==
> The committers have experience using and/or working on open source projects. 
> The Apache process is new, but most likely not a problem.
> 
> == Homogeneous Developers ==
> Currently all committers are from the Netherlands, but they do work for 
> different organizations.
> 
> == Reliance on Salaried Developers ==
> All committers working on Celix (currently) are paid developers. The 
> expectation is that those developers will also start working on the project 
> in their spare time.
> 
> == Relationships with Other Apache Products ==
>    * Celix is based on Apache Felix
>    * Using Apache ACE it probably is possible to provision Celix bundles
>    * For remote services Apache CXF can be used (either SOAP or REST)
>    * Possibly Apache ZooKeeper can be used for remote service discovery 
> (Apache ZooKeeper vs SLP)
>    * Possibly Apache Portable Runtime for platform abstraction
> 
> == An Excessive Fascination with the Apache Brand ==
> Celix itself will hopefully have benefits from Apache, in terms of attracting 
> a community and establishing a solid group of developers, but also the 
> relation with Apache Felix. These are the main reasons for us to send this 
> proposal.
> We think that a good community is needed to build and maintain large 
> middleware projects, such as Celix.
> However, even if Celix would not be accepted, development will continue. As 
> such, there is no need to, or reason to, "abuse" the Apache Brand.
> 
> = Documentation =
> Currently all documentation and information is stored on a private corporate 
> wiki.. This has to be moved to a public place. (is this part of the process 
> after acceptance, or should this be placed on (eg) the luminis open source 
> server?)
> 
> = Initial Source =
> Development of Celix started in the summer of 2010. The source currently is 
> located on a private corporate SVN repository.
> All the source is available for Open Sourcing and can be found at 
> http://opensource.luminis.net/wiki/display/SITE/Celix
> 
> = Source and Intellectual Property Submission Plan =
> Celix is currently developed solely by Luminis employees. All source will be 
> donated to Apache.
> 
> = External Dependencies =
>    * MiniZip source , zlib license
> This source can be included, according to 
> http://www.apache.org/legal/3party.html
> 
> = Required Resources =
> == Mailing Lists ==
>    * celix-dev
>    * celix-private
> 
> == Subversion Directory ==
> https://svn.apache.org/repos/asf/incubator/celix
> 
> == Issue Tracking ==
> JIRA Celix
> 
> == Other Resources ==
>    * CMake
> Celix uses Cmake as build environment. CMake generates Make files for 
> building, bundling and deploying Celix.
> This build environment can also be used by project using Celix, it provides 
> simple methods for creating and deploying bundles to a named target.
>    * Confluence Wiki
> To be able to provide help, documentation, faq etc, a wiki is needed.
> 
> = Initial Committers =
> Alexander Broekhuis a.broekh...@gmail.com
> 
> = Sponsors =
> == Champion ==
> Marcel Offermans
> 
> == Nominated Mentors ==
> 
> * Marcel Offermans
> * Karl Pauls
> * Luciano Resende (lresende AT apache DOT org)
> 
> == Sponsoring Entity ==
> Celix is a new project and proposed is to release to code under the 
> sponsorship of the Incubator.
> 
> == Status ==
> 
> The proposal is now ready for a vote.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
> For additional commands, e-mail: general-h...@incubator.apache.org
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org
For additional commands, e-mail: general-h...@incubator.apache.org

Reply via email to