incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Serge Huber <shu...@jahia.com>
Subject Re: [DISCUSS] Unomi incubation proposal
Date Wed, 09 Sep 2015 15:58:35 GMT
Hello Raul,

Thanks for your quick reply and interest ! As a Karaf and CXF application I think that Unomi
could definitely benefit from your involvement ! So welcome on board !

I don't have write permissions on the Wiki but maybe JB could add you ?

Best regards,
  Serge

Envoyé de mon iPhone

> Le 9 sept. 2015 à 17:47, Raul Kripalani <raulk@apache.org> a écrit :
> 
> Sounds great! I'd like to participate in this incubation.
> 
> My profile in the ASF and with regards to the projects cited in your
> proposal: PMC Member of Apache Camel, getting involved in Apache Ignite,
> with 4+ years experience with Apache Karaf at debug level, contributor at
> OPS4j, 8+ years with CXF user-level.
> 
> I hope you'd like to have me in the team ;-)
> 
> *Raúl Kripalani*
> Apache Camel PMC Member & Committer | Enterprise Architect, Open Source
> Integration specialist
> http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
> http://blog.raulkr.net | twitter: @raulvk
> 
>> On Wed, Sep 9, 2015 at 4:29 PM, Serge Huber <shuber@jahia.com> wrote:
>> 
>> Hi!
>> 
>> I would like to start a discussion on accepting UNOMI into ASF Incubator.
>> The proposal is available at:
>>   https://wiki.apache.org/incubator/UnomiProposal
>> and is also attached to the end of this email.
>> 
>> This is a bit of a first for me and I’d like to thank all the people that
>> have so far contributed to bringing to fruition. Of course this is the
>> beginning of the process so I welcome all feedback and questions to make
>> this better. I am planning to present the results of these efforts at
>> ApacheCon EU.
>> 
>> Best regards,
>>  Serge Huber.
>> 
>> = 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
>> 
>> 

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


Mime
View raw message