This is a preliminary draft of the Geronimo JIRA guidelines, and have not been reviewed or approved by the Geronimo project.
The Geronimo project uses Jira to track bugs. You can find the Geronimo Jira at https://issues.apache.org/jira/browse/GERONIMO.
The issue title should be in the present tense imperative mood. For example, "Reject invalid GBean references at deployment time" is correct but "GBean references should be rejected at deployment time" is incorrect since it is not in the imperative mood. Additionally, the title "Upgrade ActiveMQ from 3.2 to 4.1" is correct but "Upgraded ActiveMQ from 3.2 to 4.1" is not since it is in the past tense.
Do Feature, Improvements and Bugs have different rules?
A feature is a major new piece of functionality in the application. This are the high level bullet points that define a release. For example, adding support for JPA is a feature. In general, there should be 1-5 features in a feature release. There are never features in a maintenance release.
A improvement is an iterative increase in functionality to an existing feature. Improvements are not items that attract new users, but they can have a major impact on the productivity of existing users. For example, the improvement to reject invalid GBean references at deployment time, will not attract new users but makes writing a deployment descriptor much easier. Historically, there have been 20-50 improvements in a feature release . There are never improvements in a maintenance release.
A bug is a problem with the server and can be crashes, security flaws, specification compliance bug, usability bugs, and documentation errors. For example, the manifest class path in web applications was being ignored is a specification compliance bug. There are normally lots of bug fixes in both feature and maintance releases.
A task is a project maintenance job which specifically is not adding to, improving or fixing the server. For example, updating the code to use the latest Apache License, removing snapshot dependencies, and converting the build to Maven 2 are all tasks.
This is used to break down a Feature, Improvement or Task into smaller items so it is easier to track progress. For example, during the Maven 2 conversion of Geronimo, sub-tasks were created to track the conversion of modules, configs, applications and assemblies.