Next: GNU Astronomy Utilities list, Previous: Table manipulation, Up: Top [Contents][Index]
The basic idea of GNU Astronomy Utilities is for an interested astronomer to be able to easily understand the code of any of the programs, be able to modify the code if she feels there is an improvement and finally, to be able to add new programs to the existing utilities for their own benefit, and the larger community if they are willing to share it. In short, we hope that at least from the software point of view, the “obscurantist faith in the expert’s special skill and in his personal knowledge and authority” can be broken, see Science and its tools. The following software architecture can be one of the most basic and easy to understand for any interested inquirer.
First some general design choices are tackled. It is followed by a short explanation of the version controlled source. The libraries and headers in their respective directories are then explained. Later the the basic conventions for managing the code in each program to facilitate reading the code by an outside inquirer is discussed. Finally some notes on the building process are given.
• Why C: | Why Gnuastro is designed in C. | |
• Design philosophy: | General ideas behind the package structure. | |
• Gnuastro project webpage: | Central hub for Gnuastro activities. | |
• Version controlled source: | How to get and prepare the VCSed code. | |
• Internal libraries: | Internal static (not installed) libraries. | |
• Header files: | Library and common headers. | |
• Program source: | Conventions for the code. | |
• Test scripts: | Understanding the test scripts. | |
• Building: | Explanations on building. | |
• After making changes: | Checklist to finalize your changes. | |
• Contributing to Gnuastro: | Share your changes with all users. |
Next: GNU Astronomy Utilities list, Previous: Table manipulation, Up: Top [Contents][Index]
Read in other formats.
GNU Astronomy Utilities manual, November 2015.