You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 10 Next »

Most of ECMWF software packages are available as Open Source under Apache License 2.0. We strongly encourage users of ECMWF software to contribute to our developments. 

The wider setup

ECMWF tries to provide a set-up which allows fast integration of changes from various parties but does not impact on stability by allowing developers to pull changes at their convenience.

 

Developers always contribute to their local repos first, before they file pull requests to the master repository. Developers can pull changes from master at their discretion.

The process

Before you start contributing you should read and follow these steps:

  1. Sign the contribution agreement
  2. Registration to ECMWF software infrastructure
  3. Get code access through Git and Stash
  4. Learn and follow ECMWF's git work flow

 

Check-list for every contribution

  1. Any contribution must be built with cmake and tested with ctest (see General CMake installation instructions)
  2. Make sure that all provided regression tests have passed correctly in your development system
  3. We encourage you to test changes with as many host and target combinations as is practical.
  4. Ideally we would encourage you to also implement a new unit test to validate your changes. However if this is not possible, please provide us with data and a procedure for us to create the new test.
  5. Make sure your changes are documented (Ideally JIRA issue and/or page on Confluence)
    1. Make function and variable names meaningful and follow existing conventions
    2. Add comments appropriately.
    3. Any python code should ideally be PEP8 compliant


The Contributor License Agreement (CLA)

All open source software packages at ECMWF are distributed under the Apache License 2.0. The standard Apache License was amended to cater for ECMWF special status as an international organisation. For you to be able to contribute any code to our software packages you need to agree that

  • ... you are happy for your code being redistribute under Apache License.
  • ... that your contribution does not violate anyone's IPR rights.

To so you and your organisation needs to sign a contributors agreement.


  • No labels