Practicalities at OPS4J

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;

  1. Niclas Hedhman, founder
  2. Peter Neubauer, founder
  3. Alin Dreghiciu, most active
  4. 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.