Open MPI logo

Contributing to Open MPI

  |   Home   |   Support   |   FAQ   |  

Would you like to contribute to Open MPI?

We'd love it! One of the explicit goals of the Open MPI project is to actively engage users, third party researchers, ISVs, hardware vendors... pretty much the entire HPC community. So if you've got some ideas, we'd love to hear them.

That being said, we're not giving out commit access to our repository to just anyone. We do need to maintain production-quality control on our code base. It is important to remember that if you write new components (or modify existing components) for Open MPI, they can be published independantly of the main MPI distribution -- new components can be added to an existing Open MPI installation. This means that you do not have to distribute all of Open MPI -- you can just publish your own components on your web page, FTP site, etc. Users can download your components and add them to their existing Open MPI installation.

Here's several typical forms of contributions to Open MPI:

  • Publish research results using your own modifications to Open MPI (e.g., performance enhancements, new algorithms, etc.). If possible, make the code available to others.
  • Write your own components for custom functionality (e.g., support a new network or back-end run-time environment).
  • Modify existing components for new functionality or performance enhancements
  • Suggest new functionality to the Open MPI community.
  • Send complete bug reports and/or patches to the mailing lists. We always appreciate help in making Open MPI better!
  • Submit code for new functionality to Open MPI. We're not total snobs; we really do love code contributions. They just must be robust codes that are suitable for widespread use. Additionaly, all code submitted to Open MPI must be accompanied by an Open MPI Contributor License Agreement form (very similar to the Apache Foundation's contriubtion forms). There are two versions: one for individuals and one for organizations. Look them over, decide which is appropriate to your situations, and follow the included instructions.

Enough talk -- how do you contribute to the Open MPI project? Here's several ways:

  • Get involved -- Subscribe to the Open MPI mailing lists. Talk to the developers and find out what's going on in the project.
  • Read the developer's documentation -- see the "Developers" section of the FAQ. We do not yet have a set of glossy PDF's for developer documentation, but we are continually adding detailed, technical information to the FAQ.
  • Read the contribution guidelines -- see the "Contribution" section of the FAQ. Determine how you want to make your contribution available.
  • Look through the source code -- get a Subversion checkout. Open MPI is an active development effort -- it is usually better to work with the most recent development version of the code than the last stable release (especially for new projects).
  • If you want to submit code to be included in Open MPI, you must fill out, sign, and submit an Open MPI Contributor License Agreement. There are two versions: one for individuals and one for organizations. Look them over, decide which is appropriate to your situations, and follow the included instructions.

Probably the most important of these is the first: subscribe to the mailing lists and become involved in the project. If possible, let others know what you're working on.

Make today an Open MPI day!