Proposal for ADF Faces, a MyFaces subproject 6 February 2006, The ADF Faces Team (contributions by: Adam Winer, awiner at gmail dot com; john dot r dot fallows at gmail dot com)


(0) rationale

Apache MyFaces strives to provide an environment where open source developers can create new components and contribute them back to the community.

The goal of ADF Faces is to provide web application developers with a rich set of user interface components based on the JavaServer Faces specification.

ADF Faces comes with very high quality components, a dialog framework, as well as personalization and skinning capabilities. ADF Faces features include: file upload support, client-side validation, partial rendering of a page (AJAX-style), data tables, hierarchical tables, color/date pickers, progress indicators, menu tabs/buttons, wizards, internationalization and accessibility. A complete list of the ADF Faces components is available (here.) This project starts with more than 100 components which have already been documented and thoroughly tested.

ADF Faces is a temporary name for this project, what it will be called in the future is yet to be determined by the Apache MyFaces community. ADF Faces development started in 2001. Initial development took place outside the Apache Software Foundation, therefore the ADF Faces team and MyFaces are applying for incubation.

(0.1) criteria

Meritocracy:

The ADF Faces project will be consensus-based using the mailing lists and completely transparent. Developers will employ Apache conventions, such as "+1", when coming to decisions and if necessary voting will establish the final 'will' of the community.

Community:

The MyFaces project and the JavaServer Faces standard hold great promise. A rich set of UI components will significantly accelerate their adoption. We strongly believe that ADF Faces will gather significant momentum and enough developers to build a vibrant community of users and contributors. We look forward to seeing more components "blossom" as part of the Apache MyFaces project.

Core Developers:

ADF Faces was developed by five Oracle employees including Adam Winer (active member of the JavaServer Faces expert group since day one) and John Fallows co-author of “Pro JSF and Ajax”. Developers have filed the Contribution License Agreement. Oracle has also filed the Corporate Contribution License Agreement.

Three PMC members from the MyFaces project are currently planning to become active ADF Faces developers, others will hopefully follow:

Alignment:

ADF Faces aligns perfectly with MyFaces and other ASF projects utilizing J2EE infrastructure such as Tomcat. Of particular relevance are projects such as Geronimo, Apache libraries like Jakarta Taglibs and Apache Maven.

(0.2) warning signs

Orphaned products:

Most of the active developers would like to become ADF Faces Committers or PMC Members and plan to remain active in the project.

Inexperience with open source:

Most ADF Faces developers have been consuming open source projects extensively and participating in open source mailing lists. In fact Adam Winer and John Fallows have been actively involved in the Apache MyFaces mailing list. Our mentors and the MyFaces team have great experience with open source development and ASF and already sharing with the ADF Faces team.

Homogenous developers:

We understand full well that development discussions need to take place on the public developers list not behind closed doors. Oracle will strongly encourage developers across the globe to join the ADF Faces community.

Reliance on salaried developers:

Although ADF Faces was built by Oracle developers, initial interest from the MyFaces community seems strong. We anticipate several MyFaces community members to join the ADF Faces effort which will dilute this project’s reliance on Oracle developers overtime. Meanwhile, Oracle will continue to support the project by dedicating full time resources, to ensure a smooth transition into Apache.

No ties to other Apache products:

ADF Faces runs on MyFaces.

A fascination with the Apache brand:

ADF Faces developers believe that by joining the ASF, the community will continue to grow and continue to attract developers.

(1) scope of the subprojects

Although ADF Faces could work well as a TLP, our preference would be to enter ASF as a MyFaces subproject, but we leave it to the Incubator PMC and ASF Board to make the final decision.

(2) identify the initial source from which the subproject is to be populated

Source- and binary downloads can be found at:

http://people.apache.org/~bdudney/apache-drop.zip

The source-code is provided under the Apache License, Version 2.0

(3) identify the ASF resources to be created

(3.1) mailing list(s)

(3.2) Subversion or CVS repositories

We could either be allowed into the MyFaces sandbox area (with incubation disclaimers) or we could create CVS/Subversion repository with one module:

(3.3) Issue Tracking

ADF Faces would have its own release cycle and its own JIRA project.

(4) identify the initial set of committers

(4.1) Already ASF committers

(4.2) Scheduled Apache users

(4.3) Not scheduled, Contributors

(4.4) Unknown

(5) identify apache sponsoring individual