We're changing our release strategy and CVS code arrangement in an effort to keep regular stable releases of OJS and OCS coming out without constraining the addition of new and potentially complicated code changes. This mirrors the practices of several major open source projects, e.g. the Linux kernel.
As of OJS 2.2.1 and OCS 2.1, we are splitting development into two lines: the Stable line, which will receive bugfixes and only minor feature additions (e.g. new language support), and the Development line, which will see some of the more ambitious changes we've been planning.
One of the major changes is the introduction of a new CVS tree, called "pkp", which we will be building into a common library used by OJS, OCS, and the Harvester. This represents a reconciliation of the three codebases, and in addition to decreasing the maintenance costs managing separate copies of the same code, will set the stage for new projects.
If you are currently using the CVS tree, you will need to consider which branch you want to follow. If you are in a production environment, please use the stable branch (CVS tags ojs2-branch-2_2_2 and ocs2-branch-2_1_1 for OCS). If you're in active development and don't mind a little instability and a lot of refactoring, use the CVS HEAD as you're used to doing. If you're using CVS HEAD, you'll also have to check out the "pkp" repository and symlink it into lib/pkp in your OJS/OCS checkout. If you have any questions or comments about this, please feel free to discuss here -- we're always happy to work with developers.
The development lines (and pkp repository) will be evolving fast over the next few months (August and September), but we hope they'll behave more predictably as time goes on.
Public Knowledge Project Team