This section contains information about how to contribute to the GridWay Metascheduler. GridWay is now a Globus ProtoProject and so develops products according to Globus philosophy and guidelines for collaborative development.
GridWay is a community project, benefiting from code and support contributions from individuals and corporations around the world. The development discussion mailing list is the forum for suggestions and comments for code changes. We'd be very happy to hear from experienced programmers and managers of grid infrastructures who'd like to join the development team.
Please, first of all check the Roles and Responsibilities that people can assume in Globus ProtoProjects, mainly users, contributors and committers. Everybody can help no matter what their role. Those who have been long term or valuable contributors to GridWay obtain the right to vote and commit directly to the source repository.
There are several ways to contribute to the GridWay project. All of them are very welcome, without the contribution and comments from our user community there is no reason for GridWay:
Note that all source code or documentation committed to GridWay repository must be covered by the Apache License
The following infrastructure is available for collaboration:
[ Archive ] [ Search ] [ Subscribe ] [ Unsubscribe ]
[ Archive ] [ Search ] [ Subscribe ] [ Unsubscribe ]
Development activities are performed in the trunk, which holds the latest code. To allow concurrent development, development campaings are usually performed inside a branch.
When it is decided to create a new stable release, a new branch is created from the trunk with the name of that stable release (gw<major>_<minor>_branch).
Stable release branches only change by means of bug fixes, that are made directly or inside a branch. This bug fixing process makes new incremental releases to appear, which are appropriatelly tagged (gw<major>_<minor>_<incr>). The stable release branch is merged back into the trunk periodically or after an incremental release, in order to have future releases free of bugs.
This process is depicted in the following figure (see also how to use the Globus Project CVS).
The Development process, which adheres to the Globus philosophy and guidelines for collaborative development, starts when a committer, contributor or user makes a development request in the mailing lists, or a bug entry appears in the Bugzilla Database (Campaign component). This new feature can be proposed based on the GridWay roadmap, or in new ideas. The arrival of a new request triggers the following actions:
1. A new entry is added in Bugzilla, to track feature requests. These bugs will be always in the Campaign Component and start with status New. A brief description of the new feature must be added in the bug comments and the person that triggered the campaign must be added to the CC field.
2. Feature Discussion in gridway-dev: The suitability of this feature is discussed in the list and the idea is refined. Everybody is welcome to share their opinions about the new feature. This discussion ends with a formal PROPOSAL for the product change that shall include:
Then a VOTE process is started, the new feature needs lazy consensus to enter the development phase. If accepted, the bug will remain in status New and the proposal and vote results are included in the comments. Otherwise, the bug status is change to Closed - Fixed, and vot- results are included in the bug comments.
3. Feature Implementation, when a developer shows her interest in developing an approved feature, the bug is assigned (status: Assigned). The developer must add an implementation description for this feature that shall include:
In general, development campaigns are made in the trunk, usually inside a branch created with an appropriate name (campaign_<bug #>_branch). Once the feature is developed and tested its status is changed to Resolved - Fixed.
Once the patch with the code that implements the campaign is ready, the developer must add it to the Bugzilla campaign as an attachment or send it to gridway-dev@globus.org.
4. Commit discussion The suitability of committing the new feature now is discussed with a formal VOTE process. If the commit is approved the bug status is changed to Closed - Fixed. Otherwise it is keep in Resolved - Fixed and relevant reasons (e.g. interference with a release plan or other campaigns…) for not committing this feature now must be added to the bug comments. Note that once a feature is approved for implementation the development will be committed sooner or later.