+1 (non-binding) On Sun, Oct 31, 2010 at 2:23 PM, Alan D. Cabrera <l...@toolazydogs.com> wrote: > +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 > >
-- Thanks - Mohammad Nour Author of (WebSphere Application Server Community Edition 2.0 User Guide) http://www.redbooks.ibm.com/abstracts/sg247585.html - LinkedIn: http://www.linkedin.com/in/mnour - Blog: http://tadabborat.blogspot.com ---- "Life is like riding a bicycle. To keep your balance you must keep moving" - Albert Einstein "Writing clean code is what you must do in order to call yourself a professional. There is no reasonable excuse for doing anything less than your best." - Clean Code: A Handbook of Agile Software Craftsmanship "Stay hungry, stay foolish." - Steve Jobs --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org