incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jean-Baptiste Onofré ...@nanthrax.net>
Subject Re: [VOTE] Accept Unomi into the Apache Incubator
Date Wed, 23 Sep 2015 09:14:55 GMT
+1 (binding)

Regards
JB

On 09/23/2015 11:14 AM, Jean-Baptiste Onofré 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 ===
> * private@unomi.incubator.apache.org (moderated subscriptions)
> * commits@unomi.incubator.apache.org
> * dev@unomi.incubator.apache.org
> * issues@unomi.incubator.apache.org
> * user@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-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>

-- 
Jean-Baptiste Onofré
jbonofre@apache.org
http://blog.nanthrax.net
Talend - http://www.talend.com

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


Mime
View raw message