Clone wiki

org.openmarkov / OpenMarkov's_organization

OpenMarkov's organization

OpenMarkov is structured as a set of subprojects. The division has been designed so that dependencies are minimized and the application is easily extensible. Each subproject is stored in a different Bitbucket repository and deployed as a Maven artifact on our Nexus server, as explained below.


OpenMarkov's code is stored in two servers: Bitbucket ( and Nexus (


Bitbucket is a web-based hosting system, similar to SourceForge, JavaSource, or Google Code. It offers two control version systems: Mercurial and Git. It also offers wikis, issue trackers, and other facilities.

We use Mercurial to store in Bitbucket a working copy of OpenMarkov's Java source code. There is also a wiki and an issue tracker for each subproject.

In order to access the code stored in Bitbucket, you need a Bitbucket account and a permission to read the corresponding subprojects.


Nexus is an application for managing software repositories.

We use Maven to deploy OpenMarkov's code, in the form of snapshots and stable releases. There are three types of files in our Nexus repository:

  • The Java source code of snapshots and releases (in contrast with Bitbucket, which stores the whole version history, including the most recent files not yet deployed).
  • Compiled Java binaries: there is a .jar file for each subproject. The .jar file for the full subproject, which includes all the other .jar files and is used to open OpenMarkov's GUI as a Java application, can be downloaded from this page.
  • Javadoc files (HTML documents generated automatically from the Java source code).

You can get OpenMarkov's code from in the form of several sources.jar files, but it would be cumbersome to download all the subprojects, uncompress them, and organize them into an Eclipse project. If you wish to browse OpenMarkov or use it as an API, it is much easier and faster to install Eclipse, Maven, and Mercurial and then download the subproject OpenMarkov full.