CMAS open-code is an open source project, and we welcome your contribution, whether you work in motion analysis or not!
Are you an experienced coder in motion analysis? You could contribute code and documentation for motion analysis applications.
Do you code, but not for motion analysis? You could contribute coding tutorials and resources for writing good code.
Do you work in motion analysis but do not code (yet)? You could review existing material, and improve motion analysis documentation.
Do you work with audio/video? You could convert training material to video tutorials.
All contributors: Please report bugs, request resources, and review proposed changes. Thank you for helping us expand and improve! 😃🎉✨
We use Github issues to keep track of the work we are doing, or we think we need to do in the future. We label inssues according to their type, and this can help you identify how you can contribute.
If you are new to GitHub, see the Contributor Guidelines section below.
By contributing, you agree that we may redistribute your work under our license. In exchange, we will address your issues and/or assess your change proposal as promptly as we can, acknowledge your contributions and help you become a member of our community. Everyone involved in CMAS open-code agrees to abide by our code of conduct.
Before you start you'll need to set up a free GitHub account and sign in. Here are some instructions.
Have a look around the project! Make sure you read the README file, the list of current issues, and the list of code contributed by our members. Could you help with one of the issues? Do you have ideas on how to improve existing code? Or would you like to add your own code?
Once you've identified a way to contribute, you're ready to make a change to one of our project repositories! 🎉
-
First, describe what you're planning to do as a comment to the issue you've identified, or make a new issue. If your aim is to improve a particular code repository (one of these), make or comment on an issue on the repository itself. If you'd like to add new code or resources, add your issue to the open-code repository.
The purpose of writing a good comment in advance is to ensure you aren't overlapping with work that's currently underway and that everyone is on the same page with the goal of the work you're going to carry out.
This blog is a nice explanation of why putting this work in up front is so useful to everyone involved.
What you do next depends on whether you will be working with an existing or a new repository.
2a. If you are looking to improve an existing repository, fork the repository to your profile.
You can now do whatever you want with this copy of the project. You won't mess up anyone else's work so you're safe.
3a. Make the changes you've discussed. How you do this depends on the nature of the changes.
- Are you simply fixing typing mistakes? Go ahead and make your corrections on your forked repository (the "master branch").
- Are you changing more than typing mistakes, but they are all changes you can make on Github itself? Then please create a separate branch. This isolates your work so it doesn't affect your master branch. If you wanted, you could be working on multiple branches at once, addressing different issues! Thank you for your enthusiasm 👍 You can read more about branches here.
- Do you need to do work on your local machine, for example run and test the code you are improving? Then you'll need to set up Git and create a local clone of your forked repository. Make changes to your local clone, and when you are ready, push your changes to the forked repository. Read more about Git and Github flow.
4a. Submit a pull request.
A member of the main team will review your changes, have a bit of discussion and hopefully merge them in!
Success!! 🎈🎈🎈 Well done! And thank you 😃
2b. If you are looking to add new code or resources, create a new repository, and make sure you initialise it with a README file.
3b. Add your code or other resources, and clearly describe the purpose and use of your project in the README file. As you are developing your project, you will probably need to make changes... There are a few different ways to do this (similar to 3a) above:
- Are you simply fixing typing mistakes? Go ahead and make your corrections on the "master branch" of your repository.
- Are you changing more than typing mistakes, but they are all changes you can make on Github itself? Then please create a separate branch. This isolates your work so it doesn't affect your master branch. You can read more about branches here.
- Do you need to do work on your local machine, for example run and test the code you are contributing? Then you'll need to set up Git and create a local clone of your repository. Make changes to your local clone, and when you are ready, push your changes to the Github repository. Read more about Git and Github flow.
4b. If you created your repository in your own personal account, you have the option to either keep it there and share a link with the CMAS community (to be added to our Code Index), or you can pass ownership to the CMAS organisation. In either case, thank you very much for your contribution!! 😃