Practicalities at OPS4J
No Barrier
OPS4J tries to follow the No Barrier principle to the fullest extent possible. As soon as you register with the Jira system at http://issues.ops4j.org/ you will automatically become a committer to the subversion repository.
There are exceptions. We have both a infrastructure team which have direct access to the physical hardware running the services, and also a couple of trusted "roots", who knows the root passwords to these machines. The reason is that we can not easily recover from a malicious individual changing root passwords, and some infrastructure are still vulnerable to direct manipulations.
People
OPS4J currently (Dec 2008) has ~125 subscribers to the general mailing list. The Qi4j mailing list also have ~125 subscribers of which a handful are common, so an estimate of 200-225 people are actively monitoring the progress. There has been >70 code contributors, which is a remarkable lurker-to-committer ratio.
Some of the more pronounced members of the community are;
- Niclas Hedhman, founder
- Peter Neubauer, founder
- Alin Dreghiciu, most active
- Stuart McCulloch, very active
But there are so many remarkable people, and without them, OPS4J would not exist today.
Processes
LifeCycle of a code base
If you want to start working on some project, you are welcome to do so here at OPS4J. The only direct requirement is that you license the work under a Apache License ver 2.0.
laboratory
This is where the inception of ideas are taking place. You start any work in here, and optionally try to get other community members interested, for instance by creating discussions around it on the general@ mailing list. Codebases in the laboratory does not need to be properly managed, in terms of versioning and working builds and so on.
projects
If an idea takes off and becomes more than an experiment, it should be moved to the projects section. Here the project should solidify into something useful, and preferably with a couple of developers. It is a staging area before the project can become an OPS4J product, where the processes of the software development are established. The project typically starts in some pre-release version, and work itself towards a final 1.0 release.
products
Projects that fulfill the requirements for a OPS4J Product is moved to the products/ section. The current requirements are;
- 3 active developers.
- Version management operational.
- A 1.0 release has been made.
- Unit tests for >50% of the codebase.
- Javadoc of all public APIs.
- User documentation in re-distributable form, i.e. not Wiki.
- Commercial support is available.
Products are a serious matter, and not to be taken lightly. It is a statement to the world saying, this is something we are really proud of, and will take responsibility for over a long time to come.
retirement
Products or projects that are no longer relevant, lacking active support, or in one way or the other obsolete, is moved to the retirement section, for future reference purposes.
Infrastructure
OPS4J is depending on hardware resources that are operated by the infrastructure team. Currently, we have two machines hosted at Server4You. The cost of this is currently ~100 per month and paid for by CodeDragons in Malaysia. We would like to increase the infrastructure with more machines, and if you want to contribute machines and/or hosting, please send mail to infra@lists.ops4j.org.
Service |
Machine |
Description |
|---|---|---|
www.ops4j.org |
srv03 |
The web site is redirecting to the Wiki at the moment. |
ops4j1.jira.com/wiki |
srv03 |
The main web interface of OPS4J. |
repository.ops4j.org |
srv03 |
A public Magic, Maven1, and Maven2 artifact repository. |
lists.ops4j.org |
srv03 |
Mailing list manager (mailman). |
MX |
srv03 |
Mail server. |
ci.ops4j.org |
srv05 |
Continuous integration using Bamboo. |
scm.ops4j.org |
srv03 |
Source Control Management using Subversion |
issues.ops4j.org |
srv03 |
Issue Tracking system using JIRA. |
www / Wiki
We are running wiki on Confluence from Atlassian who has graciously provided us with the Enterprise version free of charge.
Mailing lists
OPS4J only operates a small number of mailing lists currently (see below). Go to this page to subscribe. Any project can request to get its own list, if it thinks that the traffic will create too much noise on the general list. So far, only Qi4j is in that category.
List name |
Traffic |
Description |
|---|---|---|
general |
medium |
General discussion on any aspect of OPS4J. Also Jira issue changes are sent here. |
infrastructure |
low |
Infrastructure issues that probably does not concern a wider audience. |
notify |
medium-high |
Notification messages, i.e Commit messages from subversion and change notifications from Wiki. |
qi4j-dev |
medium |
Dedicated to the Qi4j project. |
Source Control Management
We are using Subversion as the source control tool, mostly due to its wide acceptance in the OSS communities and its similarities with CVS. Some discussion and experiments around GIT have also taken place, and we will continue to monitor the progress of this promising tool.
Issue tracking
Issue tracking is done with JIRA, and we have received a license from Atlassian of the Enterprise version. We also have a custom plugin installed, so that when you register on JIRA, your credentials will be injected into the Subversion authorization and shortly after you will be able to do commits.
Artifact repositories
Continuous Integration
We use Bamboo as the Continuous Integration tool, again a license from Atlassian has been donated.