Gems Project Charter


Apache Gems provides a free collection of portlets that could be used in any JSR-168 compliant portal platform. Think of these portlets as the little Gems that could be used on a Portal page.

These portlets shouldn't be viewed as complete applications on their own, but instead, are portlets that could be used to build large applications. The following provides a small sampling of the potential portlets that would be built and included in the Gems project:

  1. E-Mail Portlet
  2. Calendar Portlet
  3. Address Book Portlet
  4. Weather Portlet
  5. Sports Scores Portlet
  6. Blog Portlet
  7. RSS Feed Portlet
  8. Calculator Portlet
  9. Image Viewer Portlet
  10. Horoscope Portlet
  11. Google Search Portlet
  12. Ads by Google Portlet
  13. Google Groups Portlet
  14. Amazon Portlet
  15. UPS Tracking Portlet
  16. Fed-Ex Tracking Portlet
  17. Hang-Man Game Portlet
  18. Cards Game Portlet
  19. Cartoon of the Day Portlet
  20. Quote of the Day Portlet
  21. Dictionary Portlet
  22. Thesarus Portlet
  23. Generic Datasource Seach Portlet (wikipedia data, corporate, etc.)
  24. Acronym search (internal personel directory, etc..)
  25. Voting Portlet

The collection of portlets are similar to the ones offered by portal communities across the Internet for their community users and by corporations that make these and other portlets available through custom coding. With this project, these very popular portlets will be made available for immediate use in all JSR-168 Portlet Compliant Portal Platforms, including (but not limited to):


Gems exists to promote and provide the use of open source portlets technology in a wide and centralized manner. We want to be the first point of access for all JSR-168 compliant portal and application development throughout the world. In that role, we see there being two main services offered to the community:

  1. To provide an immediately available set of JSR-168 compliant portlets that portal platforms can test and ship with for immediate use by their developers and client community
  2. To provide a free available set of portlets that can be used by the Apache community and users for use in their own extranet or intranet based applications

We are servicing the community by giving them a central place to find the portlets that they desire and seek. And if the time arises that we don't have a particular portlet needed by a client, we can deliver the channel to allow someone to build the new portlet, and then bring it into our portfolio of portlets for others to use. All of these portlets will be built according to the Java standards and practices, including the:


This project was started on under the Apache License and has attracted much attention by the portal development community. It was originally started to service the needs of most developers looking for a central place to find portlets that can be used in any of the available JSR-168 compliant portal platforms.


4.1 Project The Gems Project, is a sub-project of the Portals project at the Apache Software Foundation.

4.2 Contributor Anyone who makes a contribution to the development of the Gems project.

4.3 Committer Each Portals subproject has a set of committers. Committers are contributors who have read/write access to the source code repository and are normally voted in by existing committers.

The Project Management Committee

Since Gems is a subproject of Portals, it will be managed by the same PMC as Portals.


6.1 Like all Apache projects, the Gems project is a meritocracy -- the more work you do, the more you are allowed to do. Contributions will include participating in mailing lists, reporting bugs, providing patches and proposing changes to a product.

6.2 Developers who make regular and substantial contributions may become committers as described below.


7.1 Each subproject has a set of committers. Committers are contributors who have read/write access to the source code repository. New committers are added when a contributor is nominated by a committer and approved by at least three of the active committers for that subproject with no opposing votes. In most cases, new committers will already be participating in the development process by submitting suggestions and/or fixes via the bug report page or mailing lists.

7.2 For the purposes of voting, committers will be classed as "active" or "inactive". Only active committers will be included in the totals used to determine the success or failure of a particular vote.

7.3 Committers remain active as long as they are contributing code or posting to the subproject mailing lists. If a committer has neither contributed code nor posted to the subproject mailing lists in 3 months, the PMC representatives for that subproject will e-mail the committer, the subproject development list, and the PMC mailing list notifying the committer that they are going to be moved to inactive status. If there is no response in 72 hours, the committer will become inactive.

7.4 An inactive status will not prevent a committer committing new code changes or posting to the mailing lists. Either of these activities will automatically re-activate the committer for the purposes of voting.


8.1 The Gems project site must provide the following:

a) Bug Database -- This is a system for tracking bugs and feature requests.

b) Project Source Repositories -- There is an SVN repository containing both the source code and documentation for the project. The project has a set of committers to its repository.

c) Website -- A Gems website will contain information about the Gems project, including documentation, downloads of releases, and this charter.

d) General Mailing List -- This mailing list is open to the public. It is intended for discussions for Gems users. Suggested name

e) Development Mailing List -- This mailing list is open to the public. A mailing list devoted to Gems development. Suggested name

f) Commits Mailing List -- A mailing list to log CVS commits. Suggested name

8.2 Versioning -- Not decided at this point.


9.1 All contributions to the Gems project adhere to the "ASF Source Code License." All further contributions must be made under the same terms. All contributed files must contain the full text of the ASF Source Code License.

The Development Process

10.1 The development process is intentionally lightweight; like other Apache projects, the committers decide which changes may be committed to the repository. Three +1 ('yes' votes) with no -1 ('no' votes or vetoes) are needed to approve a code change. For efficiency, some code changes from some contributors (e.g. feature additions, bug fixes) may be approved in advance, in which case they may be committed first and changed as needed, with conflicts resolved by majority vote of the committers.

Relationship to other Apache Projects

11.1 The Gems project should work closely with other Apache projects, such as Portals, Jet-Speed, Pluto, XML, Jakarta and the Apache Server, to avoid redundancy and achieve a coherent architecture among and these projects.

GemsProposal (last edited 2009-09-20 23:46:42 by localhost)