You have this great idea or have found a good fix to a problem which you would like to implement in Gnuastro. You have also become familiar with the general design of Gnuastro in the previous sections of this chapter (see Developing) and want to start working on and sharing your new addition/change with the whole community as part of the official release. This is great and your contribution is most welcome. This section and the next (see Developer’s checklist) are written in the hope of making it as easy as possible for you to share your great idea with the community.
In this section we discuss the final steps you have to take: legal and technical. From the legal perspective, the copyright of any work you do on Gnuastro has to be assigned to the Free Software Foundation (FSF) and the GNU operating system, or you have to sign a disclaimer. We do this to ensure that Gnuastro can remain free in the future, see Copyright assignment. From the technical point of view, in this section we also discuss commit guidelines (Commit guidelines) and the general version control workflow of Gnuastro in Production workflow, along with a tutorial in Forking tutorial.
Recall that before starting the work on your idea, be sure to checkout the bugs and tasks trackers in Gnuastro project webpage and announce your work there so you don’t end up spending time on something others have already worked on, and also to attract similarly interested developers to help you.
|• Copyright assignment||Copyright has to be assigned to the FSF.|
|• Commit guidelines||Guidelines for commit messages.|
|• Production workflow||Submitting your commits (work) for inclusion.|
|• Forking tutorial||Tutorial on workflow steps with Git.|