GuidelinesForProspecitveProjectManagers - coin-or-foundation/tlc GitHub Wiki

Purpose of the submission process

The first purpose of the review is to ensure that the project has some OR relevance.

The second point of the reviewing process is to make sure that the committed code meets some very minimal legal requirements, i.e., it is not improperly copied from somewhere else; all authors agree to have it under a specific open source license; and all authors have the right (e.g., from their eomployers) to contribute to COIN.

Having established this, the review process should confirm that there exists documentation that properly describes what the code does, how it is built, and how it is used.

Finally, the review process helps ensure that the code and can be built and used. There are usually things that are not quite right, fail to build or run, and typically a few rounds with the contributor are needed to sort this out.

The primary benefit of the submission process to the contributor is to associate the Coin-OR brand with your project. Coin-OR volunteers work hard to make sure that all Coin-OR packages add value, are easy to build, have clear licenses, and have a high level of quality control. To do that, the Coin TLC maintains an extensive infrastructure for building, testing, distributing, and supporting projects that will make it easier for you to keep your project evolving and for others to contribute to it.

Coin-OR gives users a consistent and reliable web interface to projects, access to documentation, and a central distribution point that practitioners and researchers alike look to first when they need OR software. This is our contribution to help OR professionals become more effective, to make the OR profession more compelling to students and companies, to make research in OR more productive and insightful, and to make the entire problem-solving process more fun.

We are very glad you are willing to take part in Coin-OR.

Procedure

The submission process is designed to address three aspects: legal; technical; and maintenance. They are summarized below. When you are ready to start the process, you can read a more detailed description at the new submissions instructions page.

Legal issues

Before you are ready to submit your project to Coin, there are a couple legal issues we need to get out of the way:

  1. Who owns the rights to the software?
  2. Is the owner of the software (you or someone else) willing to release it under a suitable open source license? Therefore, your first step should be to establish that you (or your organization) is comfortable with the open source model, so that you are ready to sign and return to us some documents that establish the facts above.

Technical issues

Once legal issues are out of the way, we need to address two more issues:

  1. Is this contribution useful to the OR community?

    To establish usefulness, you should suggest at the beginning of the submissions process the name of a reviewer in your domain area who is willing to download, run (if applicable, sometimes build), and comment on the usefulness of the project. For example, if the project is used in a product then the product manager or a developer would be a good candidate. if the project is used in a paper then the author of the paper would be a good candidate. You could pick anyone. However, the more distinguished the reviewer is, and the more nice things they are willing to say, the better it will be for your project and for Coin-OR. This process is not a blind review, so (with their permission) you should be able to use their comments when publicizing your project.

  2. Does this project follow development patterns that have been shown to lead to successful open source projects?

    This aspect involves the build system, attribution of authorship, documentation, testing procedures, etc. Different projects are at different levels of maturity when they are submitted. The submissions process is often the time when authors raise the level of maturity of their projects, with the help of the handler, a person designated by the submissions manager to guide you through the details. It is not necessary to cover all the bases at submission time, only some minimal requirements. However, only projects with high enough maturity enjoy all the benefits of Coin-OR, like automatic builds and inclusion into distributions.

Maintenance Issues

Once the legal and technical aspects of the submission have been addressed, the last step is to designate a project manager who:

  • has control of who can have write access to the version control system;
  • is notified when tickets are submitted;
  • is responsible for deciding on release schedules for major versions;
  • is the point of contact for resolving integration issues with other Coin-OR projects.

The process is simpler than it sounds. There is a checklist that keeps the submissions process organized. Going through the submission process makes projects better and easier to manage, much like going through the refereeing process with an academic paper. The OR communities and the authors benefit as a result.

Now that you are familiar with the basics, you can start the process by reading the details. Thanks for your interest!