This page last changed on May 29, 2008 by rosspatterson.

Open Source

CruiseControl.NET is an Open Source project. This means it is free to use, and the source code is also available and distributable under a few conditions. Our License is very similar to the Apache & BSD licenses.

Project Management

The CruiseControl.NET source trees and email lists are hosted on SourceForge under the ccnet project.

We don't use Sourceforge for bug and feature tracking, instead look at our Issues page.

At ThoughtWorks we believe in lightweight methodologies. This fits in well with an open source project so project decisions tend to be made in an ad-hoc fashion, normally by some kind of consesus on the CCNet-Devel mailing list . You can search through the mailing list archives on GMane.

CruiseControl.NET is written by many volunteers - see the Project Team.

Release Version Numbers

Released versions have the following numbering:

  • Major.minor.revision.buildnumber, where
    • We update major versions only on a major milestone in the project.
    • We update minor versions when there is a significant improvement in the application, or a breaking change in configuration since the previous release. When updating the minor version number, we reset the revision to zero.
    • We use revision numbers of more than 0 when we do not want to update the minor version number, but do want to make a new release. This may be due to some bugfixes, minor updates, etc. We never just increase the revision number if there has been a breaking change
    • buildnumber is the CCNetLive build number. We never reset this. A buildnumber of 0 implies a build that was produced outside of our Continuous Integration environment

Our Continuous Integration process creates a build label that includes the major.minor.revision part. We update this as late as possible before a release, or release candidate, for a new release version.

Unreleased versions have the following names:

  • Next - The next release, where the final release name has not yet been set
  • Soon - Issues that we hope to resolve soon
  • Medium Term - Issues that we hope to resolve somewhere between 'Soon' and 'Eventually'
  • Eventually - Issues that we hope to resolve at some point in the future, but after the next major release

All unresolved Jira issues should be assigned to one of these versions by a CruiseControl.NET administrator. Issues should only be moved to Next if they have been resolved since the last release, or are an unresolved blocker for the next release.

Submitting updates

We welcome patches and updates to the code and documentation for CruiseControl.NET. If you want to do this, the best way is to email the ccnet-devel list with your change.

The format of your submission ideally should be a description of what you have done, along with an associated SVN patch (if you don't know how to create a SVN patch, you probably want to use TortoiseSVN client since it has a good GUI for creating them). If your patch includes files > 40kb, please don't send it to the list. Instead, email the list with a description of your patch, and one of the admin team will reply off-list so that you can send the files just to one person.

If you are really keen, please create a new issue on jira describing your patch and attach the patch file as an attachment. This saves us the work of having to do it and generally means that your patch will be processed faster.

If you do want to make a submission, please make sure you read up about our Contributor License Agreement.

Release Process

We use CCNetLive to produce new distributions of CCNet every time a CCNet developer checks in new code. You can download the source or binary packages from here .

We also periodically produce stable releases that are posted on the SourceForge download site . The process of producing a new stable release is described in gory detail on the Packaging a Release page.

Document generated by Confluence on Mar 14, 2009 02:55