The DSSAT community is committed to promoting development of all DSSAT models and software tools as open source projects. As of December, 2019, the DSSAT Cropping System Model (CSM) code is fully open and accessible via GitHub under the BSD 3-Clause “New” or “Revised” License. (This license is similar to the BSD 2-Clause License, but with a 3rd clause that prohibits others from using the name of the project or its contributors to promote derived products without written consent.) The DSSAT Cropping System Model (CSM) currently runs under Windows, Linux and Apple operating systems.
Developers who will be actively making changes to the code should follow these procedures:
- Access the DSSAT Foundation dssat-csm repository here: https://github.com/DSSAT/dssat-csm-os .
- “Fork” a new dssat-csm repository to your GitHub account.
- Create a new branch for your work based on the latest commit on the develop branch. Give it some short descriptive name (e.g., sugarbeet, or Soil_K) Do all of your work on this new branch.
- When you have something that you would like to share with the DSSAT community, issue a “pull request” with some explanation of what you’ve done and how you’ve tested it. We will likely already be in conversation with you at this point about your new features and whether it is something we should include in the next DSSAT release.
- To stay up-to-date with the latest changes to the DSSAT code, you should periodically “pull” from the DSSAT develop branch and “merge” with your branch. This will make things much easier to pull your code into the official DSSAT version later.
- If these instructions sound like nonsense, there are many Git tutorials out there, including this one on GitHub: https://help.github.com/categories/bootcamp/
Further information on working with the CSM code is contained in the ReadMe file of the source code on GitHub.
We have development sprints twice a year where people around the world who are contributing to DSSAT development get together to collaborate, share what they are doing and set priorities for future development. Often we find that people are working in parallel on the same thing and we can begin a conversation to reduce duplication of effort and enhance the work of everyone. We would like to keep up with whatever your group is proposing and help your efforts as much as we can. Please contact us if you would like to find out how you can contribute to model development at the next DSSAT development sprint.