Code Contributions
FastEddy is developed and maintained by a small team with limited funding and resources. While we aren’t able to support a large volume of external contributions, we do value engagement from the community and appreciate when users share ideas, improvements, and expertise.
This page outlines how to work with us in a way that helps set everyone up for success.
Start with a Conversation
If you’re thinking about contributing, we strongly encourage you to start a conversation with us either with an email to fasteddy@ucar.edu or via GitHub Discussions.
Introduce yourself
Share what you’re interested in working on
Ask questions about fit or direction
This helps us understand your goals, provide context, and collaborate early, especially since contributions should be planned to be incorporated during one of our two annual releases and planning is necessary early on to determine what additions will be part of a release for coordination purposes. Exceptions will be considered for small bug fixes for their incorporation outside of a release cycle.
Scope of Contributions
Not all contributions can be accepted. In general, contributions are more likely to be considered if they:
Have been initially discussed and coordinated with the NSF NCAR FastEddy team
Address a clear issue or gap
Fit within the current direction of the project
Maintain or improve portability
Are mindful of long-term maintainability
If you’re considering a larger change, it’s especially helpful to talk with us first so we can explore the best path forward together.
Branching Strategy (after coordination with the FastEddy team)
To keep development organized:
develop: This is where active development is introduced. Please target this branch for contributions.
main_vX.Y(e.g.main_v5.0): These branches represent stable releases and are not updated with new changes.
If a pull request is opened against a release branch, we will ask that it be
redirected to develop.
Pull Request Guidelines
When submitting a pull request:
Ensure your PR targets the
developbranchProvide a clear description of:
What the change does
Why it is needed
Any impacts on existing workflows
Include updates to documentation if applicable
Be responsive to feedback and willing to iterate
We’ll do our best to review contributions as time allows. Because of limited capacity, timelines may vary, and in some cases we may not be able to take on or maintain certain changes, but we’ll aim to communicate clearly when that happens.
Working Together
We’re always glad to see people interested in FastEddy. The best outcomes tend to come from early communication, shared understanding, and a willingness to collaborate within the project’s current scope.
Summary
FastEddy is not currently positioned to support open-ended or high-volume external contributions. However, targeted, well-communicated contributions that align with project goals can be valuable. Starting with a quick conversation helps ensure your effort aligns well with the project and increases the chances of a smooth and productive collaboration. Even if something isn’t a fit right now, we still appreciate hearing your ideas.