Onami

Abstract

The following proposal is about Onami, a project focused on all aspects of Google Guice extensions. The name takes inspiration from Great Waves (O-nami, in Japanese) Zen Story.

Proposal

Apache Onami aims to create a community focused on the development and maintenance of a set of Google Guice extensions not provided out of the box by the library itself nor the Google developers team, such as integration with 3rd part frameworks or extra functionalities.

Background

Google Guice is a modern, lightweight and fast Dependency Injection Open Source Java library developed by Google, released for the first time on 2006, which is developed under the Google governance. A small group of people, specifically ASF committers Davide Palmisano, Marco Spearanza and Simone Tripodi, that define themselves The 99 Software Foundation (also 99soft for brevity), with the help of some contributors, has developed and maintained a good number of Open Source Google Guice extensions, that have been adopted in some (Open Source) projects. Since the community clearly demonstrated the sign of growing participation, they thought times were mature enough to move the components to a real community-driven environment such as the Apache Software Foundation.

Rationale

Actually, there are no projects hosted by the ASF focused on providing Google Guice extensions and even if Google provides some extensions and allows people participating by submitting issues/patches/... there is no real community involvement, so moving the existing 99soft components under the Apache umbrella would mean create a real community-driven project around Guice where people can become active part of the development.

Current Status

Meritocracy

The historical 99soft team believes in meritocracy and always acted as a community. Mailing list, open issue tracker and other communication channels have always been adopted since its first releases. The adoption in a larger community, such as Apache, is the natural evolution for 99soft components. Moreover, the Apache standards will enforce the existing 99soft community practices and will be a foundation for future committers involvement.

Core Developers

In alphabetical order:

  • Christian Grobmeier <grobmeier at apache dot org>
  • Daniel Manzke <daniel dot manzke at googlemail dot com>
  • Davide Palmisano <dpalmisano at apache dot org>
  • Marco Speranza <marcosperanza at apache dot org>
  • Nino Martinez Wael <nino dot martinez dot wael at gmail dot com>
  • Simone Tripodi <simonetripodi at apache dot org>

Regular Contributors

In alphabetical order:

  • Cody Ray <cray at brighttag dot com>
  • Ghislain "Picpoc" Touratier <ghislain dot touratier at gmail dot com>
  • Ioannis Canellos <iocanel at apache dot org>
  • Jordi Gerona <jordi at donky dot org>
  • Marzia Forli <marzia dot forli at yahoo.com>
  • Pawel Poltorak <pawel dot poltorak at gmail.com>
  • Thilo-Alexander Ginkel <thilo at ginkel dot com>

Alignment

The Apache Onami project is intended to be portable and be fully compatible with Google Guice. To promote the adoption of this project, we believe that it is important that it remains free from corporate association and is perceived by the community to be vendor neutral. To this end, the Apache Software Foundation with its values of transparency and community makes it an excellent fit for this project, not to mention that project creators are already Apache Members/Committers.

Known Risks

Orphaned Products

The increasing number of Google Guice adopters and the raising interest for its extensions let us believe that there is a minimal risk for this work to being abandoned from the community.

Inexperience with Open Source

All of the committers have experience working in one or more open source projects inside and outside ASF.

Homogeneous Developers

The list of initial committers are geographically distributed across the world with no one company being associated with a majority of the developers. Many of these initial developers are experienced Apache committers already and all are experienced with working in distributed development communities.

Reliance on Salaried Developers

To the best of our knowledge, none of the initial committers are being paid to develop code for this project. 99soft components have already proven its capability to attract external developers.

Relationships with Other Apache Products

Google Guice is already used in Apache Maven as Dependency Injection controller, hopefully the Maven community will be interested on extracting reusable some parts and contributing back to Onami project. Apache BeanUtils and and Apache Wink provide respectively a Google Guice integration module. Moreover, the Apache DeltaSpike community is developing a set of CDI extensions, which could find some synergies in our community. The Apache Logging Services project might have an special interest in the sli4j component, which allows Logger injections.

An Excessive Fascination with the Apache Brand

Even if the 99soft community recognizes the power and the attractiveness of the ASF brand, we are absolutely aware of our already established role in the wide Guice community. Furthermore, we are convinced that we can enthusiastically bring inside the ASF new and fresh energies in order to improve our visions, insights and knowledge about the other projects and, most important, to have the possibility of enlarge our small community with talented and passionate developers.

Documentation

  1. G-Guava 2. Guartz 3. GSPI 4. JUnice 5. Lifegycle 6. Rocoto 7. sli4j 8. Gache 9. Autobind

Initial Source

The intial source comprises code developed on GitHub licensed under The Apache Software License, Version 2.0 (contributed under Grant from Simone Tripodi for Onami).

Source and Intellectual Property Submission Plan

Source code will be moved from GitHub space inside the SVN space of the podling.

External Dependencies

99soft Guice extension depends to the following external dependencies:

  • Google Guice - released under The Apache Software License, Version 2.0
  • Google Guava - released under The Apache Software License, Version 2.0
  • javax.inject - released under The Apache Software License, Version 2.0
  • javax.cache - released under the JPA license
  • AOP Alliance - released under the Public Domain
  • Quartz Scheduler - released under The Apache Software License, Version 2.0
  • Commons Logging - released under The Apache Software License, Version 2.0
  • Log4j - released under The Apache Software License, Version 2.0
  • SLF4J - released under the MIT License

Test Dependencies

  • JUnit - released under the Common Public License Version 1.0
  • Easymock - released under The Apache Software License, Version 2.0
  • Mockito - released under the MIT License

Cryptography

The project does not handle cryptography in any way.

Required Resources

Initial Committers

Names of initial committers - in alphabetical order - with current ASF status:

  • Christian Grobmeier <grobmeier at apache dot org> (Member)
  • Cody Ray <cray at brighttag dot com> (ICLA submitted)
  • Ghislain "Picpoc" Touratier <ghislain dot touratier at gmail dot com> (ICLA submitted)
  • Daniel Manzke <daniel dot manzke at googlemail dot com> (ICLA submitted)
  • Davide Palmisano <dpalmisano at apache dot org> (Committer)
  • Ioannis Canellos <iocanel at apache dot org> (Committer)
  • Jordi Gerona <jordi at donky dot org> (ICLA submitted)
  • Marco Speranza <marcosperanza at apache dot org> (Committer)
  • Marzia Forli <marzia dot forli at yahoo.com> (ICLA to be submitted)
  • Mohammad Nour El-Din <mnour at apache dot org> (Member)
  • Nino Martinez Wael <nino dot martinez dot wael at gmail dot com> (ICLA submitted)
  • Olivier Lamy <olamy at apache dot org>
  • Pawel Poltorak <pawel dot poltorak at gmail.com> (ICLA to be submitted)
  • Simone Tripodi <simonetripodi at apache dot org> (Member)
  • Stuart McCulloch <mcculls at apache dot org> (Committer)
  • Thilo-Alexander Ginkel <thilo at ginkel dot com> (ICLA submitted)

Sponsors

Champion

  • Simone Tripodi <simonetripodi at apache dot org>

Nominated Mentors

  • Christian Grobmeier <grobmeier at apache dot org>
  • Mohammad Nour El-Din <mnour at apache dot org>
  • Olivier Lamy <olamy at apache dot org>

Sponsoring Entity

  • Incubator PMC

Other interested people (in alphabetical order)

  • Eric Charles <eric at apache dot org>
  • No labels