Proposal for Tobago, a MyFaces subproject

18th August 2005, the Tobago Team (contributions by: Udo Schnurpfeil, Volker Weber, Philippe Hennes, Arvid Hülsebus, Bernd Bohmann, Detlef Bartetzko, Ted Husted)


(0) rationale:

The goal of Tobago is to create and maintain a well-designed set of user interface components based on the JSF specification that can act as a companion to the MyFaces JSF implementation.

Tobago is more than just a tag library. The following statements characterize Tobago and makes it different from other frameworks:

  • The focus of Tobago is to create business applications without the need for HTML design. The development of Tobago pages follows more the development of conventional user interfaces than the creation of web pages.
  • The UI components are abstracted from HTML and any layout information that does not belong to the general page structure. The final output format is determined by the client/user-agent.
  • A theming mechanism makes it easy to change the look and feel and to provide special implementations for certain browsers. A fallback solution ensures that as much code is reused for new themes as possible.
  • A layout manager is used to arrange the components automatically. This means, no manual layouting with HTML tables or other constructs is needed.
  • A live demo can be found here: http://tobago.atanion.net

The development of Tobago started in 2002. Since initial development was outside the ASF, the Tobago team and MyFaces project are applying for incubation.

(0.1) criteria

Meritocracy:

The Tobago project will be meritocratic. The project will therefore follow the guidelines of the Apache Foundation.

We use defined roles and responsibilities like contributors and committers.

We believe in teamwork and in the consensus brought by discussions that are done on a mailing list. When the outcome of a discussion is not obvious, voting will establish the final 'will' of the community.

Community:

We believe that Tobago will attract a stable community sufficient in size to maintain the codebase over time. All MyFaces users/developers are potential Tobago users/developers. Tobago will make MyFaces an even more attractive solution.

Core Developers:

Tobago was mainly developed by six employees of Atanion while working (if applicable) and also in their own spare time. However, at the moment two of them could be counted as real experts or core developers, and the others have a good knowledge of the project.

All developers will file the Contribution License Agreement. Atanion GmbH will file the Corporate Contribution License Agreement on behalf of Atanion.

Two PMC members from the MyFaces project are currently planning to become active Tobago developers, others will hopefully follow:

  • Martin Marinschek and
  • Matthias Wessendorf.

The MyFaces PMC has voted in favor of adding Tobago as a subproject, should it pass incubation.

Alignment:

  • Tobago is a framework built on top of JSF and therefore works well with MyFaces.
  • The project makes use of several Apache libraries like Jakarta Commons, Jakarta Taglibs and Apache Ant.

(0.2) Warning signs

Orphaned products:

All active developers would like to become Tobago Committers or PMC members and plan to remain active in the project.

Inexperience with open source:

The current Tobago developers have some experience with open source projects. However, in the past this was restricted by using open source projects and participating on their mailing lists. No active development was done as part of an open source project.

Of course, Martin Marinschek and Matthias Wessendorf, and the rest of the MyFaces team, do have a lot of experience with open source, which they are ready to share with the Tobago developers.

Homogenous developers:

From scratch the project will start with six developers of one company and two additional developers from other companies. We hope to attract more individual developers soon, so as to reduce the reliance on "Atanion". The Tobago developers do fully understand and agree that all coding decisions must be be made through the public mailing list, and *not* behind closed doors.

Reliance on salaried developers:

Tobago was developed both on salaried time and on volunteer time, after hours. While there has been some reliance on salaried developers, the MyFaces community is quite active and should quickly dilute any reliance on Atanion developers. In the meantime, Atanion will support the project in the future by dedicating 'work time' to Tobago, so that there is a smooth transition.

No ties to other Apache products:

Tobago makes extensive use of several components from the Jakarta Commons. Tobago has been developed for the Tomcat JSP/Servlet container, but runs also on most other containers. Tobago is a great fit with MyFaces.

A fascination with the Apache brand:

We respect and admire the work done by the Apache Software Foundation. Various open source projects of the foundation have saved Atanion a great deal of money, and its developers a great deal of time. We want to give something back to the community and become a part of it.

(1) scope of the subprojects

As mentioned above Tobago is an ideal addition for MyFaces. Therefore we would prefer to become a subproject of MyFaces.

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

The source code can be found under:

http://www.atanion.net/repos/asf/tobago/trunk/

The source code is provided under the Apache License, version 2.0.

A precompiled WAR for the demo can be found at:

http://www.atanion.com/tobago/tobago-example-demo.war

(3) identify the ASF resources to be created

(3.1) mailing list(s)

During incubation, the Tobago team could make use of the usual set of lists,

  • tobago-dev
  • tobago-user
  • tobago-commits

until Tobago really joins MyFaces.

(3.2) Subversion or CVS repositories

The MyFaces project already has a sandbox (or whiteboard) area. If possible, we would ask that we be allowed to bring the Tobago code into the MyFaces sandbox, where it will be marked with the usual incubation disclaimers.

Otherwise, a "myfaces-tobago" space in the Incubator repository could be created.

(3.3) Issue Tracking

Since Tobago would have its own release cycle, it should have it's own JIRA project.

  • Project Name: MyFaces-Tobago
  • Project Key : TOBAGO

(4) identify the initial set of committers

(4.1) Already ASF committers

  • Martin Marinschek, martin.marinschek at gmail.com (PMC MyFaces)
  • Matthias Wessendorf, mwessendorf at gmail.com (PMC MyFaces)

(4.2) New committers

  • Udo Schnurpfeil, udo at schnurpfeil.de
  • Volker Weber, asf at weber-oldenburg.de
  • Philippe Hennes, philippe.hennes at philstar.de
  • Arvid Hülsebus, idus at krelon.com
  • Bernd Bohmann, bernd.bohmann at atanion.com
  • Detlef Bartetzko, detlef.bartetzko at atanion.com

(5) identify apache sponsoring individual

  • No labels