This article aims at presenting the various ways in which one can contribute to the Opus platform.

In a few words, Opus is an uncertainty treatment platform giving access to :

  • Many advanced mathematical features;
  • The possibility of easily interacting with big codes via wrappers;
  • The availability of different languages to access or add to the features (C++, Python, R, Scilab), that is either compiled code or scripts;
  • A community of cutting edge scientists from many prestigious entities (see consortium members) built around a website and forum.
  • The possibility for the users to provide features for the software (contributions).


Opus is built on the basis of the opensource software Openturns, which is also an uncertainty treatment platform.
The next article describes the various levels of integration at which one can contribute, based on the architecture. In a few words, there are three levels of integration, from least to most integrated :

 

  • Opus-Forum: The contributor uses the forum space available in the OPUS web site, to discuss and propose features or ideas in a completely free way, from a simple algorithm to a bit of code or even a complete module (albeit incompatible with other OPUS contributions). Scripts, articles, commentaries concerning a method or its software development as well as preprints are typical ways to contribute at the Forum level.

    Apart from adding features, the contributor can also provide test cases, usually industrial examples showing the way in which OPUS methods and tools can be used to solve a real-life problem. While not a software contribution, this form of contribution is both important and precious.

    Note, however, that a test case providing useful insights into uncertainty study is perfectly acceptable as a contribution even if it is not tailored to use the software features developed within OPUS.

    The various contributions can be shared on the download tab.

  • Opus-Contrib: This is the main way in which features are supposed to be provided by the community. Most of restricting rules proper to to the -Lib level have been released. The main points to note are:
    - contributions at this level can be written in any of the following supported languages: C++, Python, R, Scilab, Matlab/Octave);
    - the contribution's quality is the contributor's responsibility: it is up to him/her to ensure the quality of the code, the respect of the programming rules as well as the mathematical correctness.
    - different kinds of OPUS-Contrib contribution types exist, differentiated with respect to the integration with the others (see Contribution Guide).
  • Opus-Lib: The code fulfills a high level of quality, following established OPUS programming rules. The contribution will from then on be a part of the basic OPUS features.

    Obviously, this means a high level of quality and integration. In order to achieve this, the contribution needs to strictly follow a contribution checklist.

Apart from adding features, the contributor can also provide test cases, usually industrial examples showing the way in which the platform can be used to solve a real-life problem. While not a software contribution in the strict sense, this form of contribution is both important and precious.

The following article is a step-by-step description on how to write (develop) a contribution, from the stage where the mathematical aspects are set down on paper to the point where the contribution is available for download from the website.

These aspects are explained in a more detailed fashion in the Contribution Guide (download).

Last Updated (Monday, 26 September 2011 01:56)