Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions decisions/0024-code-stability-versioning
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# Materials Project Software Foundation Mission Statement

## Context and Problem Statement

Many projects are built directly on core Materials Project codes. Changes in our core codes will directly affect many other software projects. This applies in particular to breaking changes. It is therefore very important to have a certain code stability and regularity with regard to the versions.

## Decision drivers
- It is very difficult for individual developers to take changes in other codes into account. In some cases, changes in codes influence each other extremely strongly and require multiple adjustments.
- We would like to keep the workload minimal
- We would like to have many users of our codes and encourage developments based on our codes.
- Keeping track of compatible versions of software packages
- Evaluation of a Prototype of a meta package

## Considered Options
1. Update individual code requirements
- Other codes have to be considered to avoid the issues described above
2. Build a meta package including the most relevant MP codes, including a requirement file
- requires additional work
- Potentially similar effort to make packages compatible as currently
- additional tests could be run to check compatibility of codes
- Compatible versions could be tracked
3. Build a meta package including the most relevant MP codes, including a requirement file, and link to MP data generation
- workload would be very high
- hard to communicate that database building and data generation have not happened with the same software versions


## Decision Outcome

Proposal X was adopted by unanimous consent on January 9, 2023