+1 (non-binding) Thanks JB for starting the vote !
cheers, Serge… > On 23 sept. 2015, at 11:14, Jean-Baptiste Onofré <j...@nanthrax.net> wrote: > > Hi all, > > following the discussion about Unomi, I would like to call a vote for > accepting Unomi as a new incubator project. > > The proposal text is included below, and available on the wiki: > http://wiki.apache.org/incubator/UnomiProposal > > The discussion thread about Unomi is available here: > http://mail-archives.apache.org/mod_mbox/incubator-general/201509.mbox/%3C36A4090C-7444-4A20-8C85-3C7B990D9502%40jahia.com%3E > > The vote is open for 72 hours: > > [ ] +1 accept Unomi in the Incubator > [ ] ±0 > [ ] -1 (please give reason) > > Thanks, > Regards > JB > -- > > = Apache Unomi incubation proposal = > == Abstract == > Unomi is a reference implementation of the OASIS Context Server specification > currently being worked on by the OASIS Context Server Technical Committee. It > provides a high-performance user profile and event tracking server. > > == Proposal == > The server is a data management platform that provides real-time user profile > and event storage as well as a rule engine and fully featured REST+JSON > interfaces which make integration with very different systems easier. > > One of the main objectives of this implementation is to be modular and > flexible enough to relatively easily build integration into systems such as > CMS, WCM, CRM or even ERP. Built using Apache Karaf and ElasticSearch, it is > designed to also be easily clusterable to address high-traffic scenarios > where lots of profile data will need to be updated at a high frequency. > > == Background == > Unomi was built from scratch to serve as a reference implementation for the > OASIS Context Server proposal. It has been developed by Jahia Software. > > It initially served as a test-bed while working on the specifics of the new > proposal, to make sure that the concepts being discussed and decided would > make sense in an actual implementation. At the same time, Jahia, one of the > companies involved in the standardization work, needed a basis to build their > new Marketing Factory product, so it made a lot of sense to start this way. > Thanks to a lot of work done in the standard, the implementation was produced > relatively quickly and this made it possible to build a commercial product on > top of this implementation that will be released in Winter 2015. This implies > that the core of the commercial product being proposed here will undergo a > full set of QA tests, including and scalability tests. > > Another important objective was to provide a platform that deals with user > data in an “ethical” way, in order to make the usage of personal data more > transparent and to improve privacy. Through the work in the standard and this > open source implementation, it is the hope of the original designers that it > will be easier for all users of this technology to fully understand how the > data is being used and what type of control is exercised over it. A > transparent usage of customer data could become, in the near future, a key > tool to keep customer loyalty. Companies would then be able to leverage > digital marketing frameworks capabilities such as Unomi, but, as a fair - and > quite possibly legally mandatory - counterpart, should allow end users to > understand the data being used, as well as the way it is used, in order to > give them more control over which data to share or to anonymise. > > The purpose is to bring Jahia Marketing Factory codebase into the Apache > Software Foundation (ASF) in order to build a vibrant, diverse and > self-governed open source community around the technology. Jahia will > continue to market and sell Jahia Marketing Factory based on Unomi. Unomi and > Jahia Marketing Factory will be managed separately. This proposal covers the > Unomi source code (mainly written in Java), Unomi documentation and other > materials currently available on GitHub. Unomi is our primary choice for a > name of the project. > > == Rationale == > Building highly scalable, performant and flexible personalization > architectures requires major efforts. The complexities of requirements, > integrations and use cases is directly related to the number of users, and > Apache projects usually get a lot of visibility and usage. Therefore it was a > goal from the start to share this project with the ASF, as it is believed > this is the best way to achieve the true potential of this codebase, to make > it highly visible and continually improve on its design and implementation to > make it the best tool for the job for a wide variety of use cases. > > The project, as it sits a bit higher than usual BigData frameworks, could be > used a front-end to a lot of existing Apache project that could be integrated > to help deliver more power into the platform. For example Unomi doesn’t > currently include machine learning but it could very well be expanded to > include a module that would use Apache Mahout. In the same way, for the > persistence layer, an already existing Service Provider Interface could be > used to provide other backends such as HDFS, Cassandra, Solr or any other. > > == Initial Goals == > Our initial goals are to bring Unomi into the ASF, transition internal > engineering processes into the open, and foster a collaborative development > model according to the "Apache Way." Jahia plans to develop new functionality > in an open, community-driven way. To get there, the existing internal build, > test and release processes will be refactored to support open development. > > == Current Status == > Currently, the project code base is licensed under the Apache License and is > available on Github (https://github.com/Jahia/unomi). > > The Jahia Marketing Factory, as soon as it is released, plans on building a > robust end user community of paying and non-paying customers, and hopefully > this will trickle down to the community on the Apache Unomi project once it > is established. > > Documentation is currently being worked on, but as it is the implementation > of a public standard, most of the conceptual and API documentation will be > covered by the specification. Any specifics of the implementation will of > course be documented in the incubator project > > == Meritocracy == > Our proposed list of initial committers include the current Marketing Factory > R&D team, Jahia Engineers. This group will form a base for the broader > community we will invite to collaborate on the codebase. We intend to > radically expand the initial developer and user community by running the > project in accordance with the "Apache Way". Users and new contributors will > be treated with respect and welcomed. By participating in the community and > providing quality patches/support that move the project forward, they will > earn merit. They also will be encouraged to provide non-code contributions > (documentation, events, community management, etc.) and will gain merit for > doing so. Those with a proven support and quality track record will be > encouraged to become committers. > > == Community == > If Unomi is accepted for incubation, the primary initial goal will be > transitioning the core community towards embracing the Apache Way of project > governance. We would solicit major existing contributors to become committers > on the project from the start. > > == Core Developers == > While a few core developers are skilled in working in openly governed Apache > communities. Most of the core developers are currently NOT affiliated with > the ASF and would require new ICLAs before committing to the project. > > == Alignment == > The following existing ASF projects can be considered when reviewing Unomi > proposal: > > * Apache Karaf : Apache Karaf is a small OSGi based runtime which provides a > lightweight container onto which various components and applications can be > deployed. Unomi is actually built on top of Karaf, taking full benefit of its > modularity and powerful features as an OSGi runtime. More subprojects could > of the Karaf project could be integrated such as Karaf Cave, Cellar or more > interestingly Decanter which could offer real-time insight into the Unomi > runtime. > * Apache Mahout : The Apache Mahout™ project's goal is to build an > environment for quickly creating scalable performant machine learning > applications. Unomi could integrate with Mahout to use it to perform > recommendations or other types of machine learning based on what events are > being fed to it. > * Apache HadoopⓇ is a distributed storage and processing framework for very > large datasets focusing primarily on batch processing for analytic purposes. > Unomi could serve as a data set for Hadoop, and batch processing could be > done on top of this data. > * Apache CXF : Apache CXF is an open source services framework. CXF helps you > build and develop services using frontend programming APIs like JAX-WS and > JAX-RS. These services can speak a variety of protocols such as SOAP, > XML/HTTP, RESTful HTTP, or CORBA and work over a variety of transports such > as HTTP, JMS or JBI. Unomi actually uses CXF to expose it’s services as pure > HTTP REST+JSON services. But this could be expanded further than what the > specs supports to support other bindings supported by CXF out of the box. > Incubator Apache Pistachio > (http://wiki.apache.org/incubator/PistachioProposal) : Pistachio is a > fault-tolerant low latency distributed storage system which enables simple > embedding the computation to the storage layer to achieve best data locality. > It evolves from Yahoo’s global user profile storage system. Unomi could > possibly also use Pistachio as a backend system (if compatible). This might > provide an interesting alternative to ElasticSearch for some users. > * Apache Geode : Geode is a data management platform that provides real-time, > consistent access to data-intensive applications throughout widely > distributed cloud architectures. Geode pools memory (along with CPU, network > and optionally local disk) across multiple processes to manage application > objects and behavior. It uses dynamic replication and data partitioning > techniques for high availability, improved performance, scalability, and > fault tolerance. Geode is both a distributed data container and an in-memory > data management system providing reliable asynchronous event notifications > and guaranteed message delivery. Unomi could leverage the power of Geode to > help it with the processing of the incoming data from user events. > * Apache Ignite : Apache Ignite In-Memory Data Fabric is a high-performance, > integrated and distributed in-memory platform for computing and transacting > on large-scale data sets in real-time, orders of magnitude faster than > possible with traditional disk-based or flash technologies. Unomi could > leverage this project to perform any input processing. > > == Known Risks == > Development has been sponsored mostly by a single company (or its > predecessors) thus far and coordinated mainly by the core Jahia Unomi team. > > For the project to fully transition to the Apache Way governance model, > development must shift towards the meritocracy-centric model of growing a > community of contributors balanced with the needs for extreme stability and > core implementation coherency. > > The tools and development practices in place for the Jahia Marketing Factory > product are compatible with the ASF infrastructure and thus we do not > anticipate any on-boarding pains. Migration from the current GitHub > repository is also expected to be straightforward. > > == Orphaned products == > Jahia is fully committed to Jahia Marketing Factory and the product will > continue to be based on the Unomi project. Moreover, Jahia has a vested > interest in making Unomi succeed by driving its close integration with sister > ASF projects. We expect this to further reduces the risk of orphaning the > product. Unomi is the core server at the heart of the Jahia Marketing Factory > product, and at the time of this proposal both the commercial offering server > and Unomi source code are 100% the same. It is expected over time that Jahia > will develop additional modules on top of Unomi that may not be open sourced > but other companies may of course do the same thing. > > == Inexperience with Open Source == > Jahia has been developing and using open source software since its inception > in 2001. Jahias CTO and Chief Software Architects are Apache Committers and > other employees have contributed to various ASF projects over the years. > Additionally, several ASF veterans agreed to mentor the project and are > listed in this proposal. The project will rely on their guidance and > collective wisdom to quickly transition the entire team of initial committers > towards practicing the Apache Way. > > == Homogeneous Developers == > While most of the initial committers are employed by Jahia, we have already > seen a healthy level of interest from our existing customers and partners. We > intend to convert that interest directly into participation and will be > investing in activities to recruit additional committers from other companies. > > == Reliance on Salaried Developers == > Most of the contributors are paid to work in web marketing/web content > management space. While they might wander from their current employers, they > are unlikely to venture far from their core expertises and thus will continue > to be engaged with the project regardless of their current employers. > > == Relationships with Other Apache Products == > As mentioned in the Alignment section, Unomi may consider various degrees of > integration and code exchange with Apache Karaf, Apache Mahout, Apache > Pistachio (incubating), and many others. We look forward to collaborating > with these communities as well as other communities under the Apache umbrella. > > == An Excessive Fascination with the Apache Brand == > While we intend to leverage the Apache ‘branding’ when talking to other > projects as testament of our project’s ‘neutrality’, we have no plans for > making use of Apache brand in press releases nor posting billboards > advertising acceptance of Unomi into Apache Incubator. > > == Interaction with the OASIS standard == > In order to properly implement the standard and possibly use the feedback > from the implementation as a way to improve the specifications, currently the > co-chair of the technical committee is also the proposer on the Apache > proposal. This relationship makes it easy for communication between the two > works, and will hopefully grow as the community grows around both the > standard and the implementation. This is quite similar to the situation with > the Apache Chemistry project, that is an open source implementation of the > CMIS specification that is also an OASIS standard. > > == Documentation == > See documentation for the current state of the project documentation > available as part of the GitHub repository at https://github.com/Jahia/unomi > > == Initial Source == > Jahia is releasing the source code for Unomi under the ASF license at > https://github.com/Jahia/unomi . We encourage ASF community members > interested in this proposal to download the source code, review and try out > the software. > > == Source and Intellectual Property Submission Plan == > As soon as Unomi is approved to join Apache Incubator, the source code will > be transitioned via the Software Grant Agreement onto ASF infrastructure and > in turn made available under the Apache License, version 2.0. We know of no > legal encumberments that would inhibit the transfer of source code to the ASF. > > == External Dependencies == > Embedded dependencies (relocated): > > * None > > Runtime dependencies: > > * apache-karaf > * pax-web > * apache-cxf > * slf4j > * org.apache.httpcomponents:httpclient-osgi > * org.apache.httpcomponents:httpcore-osgi > * org.apache.servicemix.bundles.jakarta-regexp > * pax-cdi > * javax.servlet-api > * jackson > * org.osgi.core > * commons-lang3 > * commons-collections > * org.mvel:mvel2 > * commons-beanutils > * commons-ognl > * commons-email > * commons-logging > * commons-codec > * commons-io > * geronimo-jcdi > * geronimo-atinject > * geronimo-annotations > * string-template (BSD) > * javax.json > * net.sf.uadetector > * net.sf.quality-check > * com.maxmind.geoip2:geoip2 (Commons Commons Attribution-ShareAlike 3.0 > Unported, http://dev.maxmind.com/geoip/geoip2/geolite2/#License) > * elasticsearch > * spatial4j (optional) > * org.ow2.asm:asm > * groovy (optional) > * com.vividsolutions:jts (lgpl, optional) > * net.java.dev.jna (optional) > * org.fusesource:sigar (optional) > > Module or optional dependencies: > > * None > > Build only dependencies: > > * None > > Test only dependencies: > > * org.ops4j.pax.exam:pax-exam-container-karaf > * org.ops4j.pax.exam:pax-exam-junit4 > * org.ops4j.pax.exam:pax-exam > * org.ops4j.pax.url:pax-url-aether > * javax.inject > * junit > * com.carrotsearch:junit-benchmarks > * com.h2database:h2 > * gatling > * scala library > > Cryptography N/A > > == Required Resources == > === Mailing lists === > * priv...@unomi.incubator.apache.org (moderated subscriptions) > * comm...@unomi.incubator.apache.org > * d...@unomi.incubator.apache.org > * iss...@unomi.incubator.apache.org > * u...@unomi.incubator.apache.org > > === Git Repository === > * https://git-wip-us.apache.org/repos/asf/incubator-unomi.git > > === Issue Tracking === > * JIRA Project Unomi (UNOMI) > > === Other Resources === > Means of setting up regular builds for Unomi on builds.apache.org > > == Initial Committers == > * Serge Huber > * Thomas Draier > * Sergiy Shyrkov > * Kevan Jahanshahi > * Cédric Mailleux > * Régis Mora > * Quentin Lamerand > * Chris Laprun > * David Griffon > * Jean-Baptiste Onofré > > == Affiliations == > * Jahia Solutions: everyone else on this proposal > * NASA JPL: Chris Mattmann > * Talend : Jean-Baptiste Onofré > * Pivotal : Roman Shaposhnik > > == Sponsors == > == Champion == > * Jean-Baptiste Onofré - Apache Member, Talend > > == Mentors == > The initial mentors are listed below: > > * Bertrand Delacretaz - Apache Member, Adobe > * Roman Shaposhnik - Apache Member, Pivotal > * Chris Mattmann - Apache Member, NASA JPL > > == Sponsoring Entity == > We would like to propose Apache incubator to sponsor this project. > > --------------------------------------------------------------------- > 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