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:

Regular Contributors

In alphabetical order:

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:

Test Dependencies

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:

Sponsors

Champion

Nominated Mentors

Sponsoring Entity

Other interested people (in alphabetical order)