User Tools

Site Tools


Software maintenance policy

For those of us who develop and maintain their own software, we have set up a number of guidelines to streamline cooperation:

  1. Use preferably C++ as programming language and Python as script language.
  2. Use existing proven software (libraries) whenever possible1).
  3. Ask your colleagues what they have implemented and what you might re-use or expand.
  4. Use a versioning system: Git or SVN.
  5. Share your software at Github: 2).
  6. Document your software at the minimum level: function, input, output, external resources needed, inline documentation. If the inline documentation adheres tp specific formats, automatic tools can convert it to a Library Reference in HTML or PDF.  For Python, Sphinx can automatically generate documentation from the script code 3).
  7. Have a look at our Ponyland wiki (this wiki) to find out which software has been installed, and use the required name spaces to make your software accessible.
  8. When your software can be used by others, make it Open Source. To this end we use GNU Public Licensing (GPLv3) . GPLv3 states that software may be used, modified, and integrated into other software as long as the developers are mentioned, and the new software is issued under GPL as well.
  9. Check with our local system administrator (Wessel Stoop) if the above conditions have been met; s/he must know about the software and where it can be found.
  10. Transfer the maintenance of the software to your supervisor when you leave.
1) Recommended Python libraries are numpy, scipy, matplotlib and scikit-learn.
2) Note, everything in the Github is public.  Github is good towards to the outside World and offers additional functionalities such as an issue tracker.
wiki/software_maintenance.txt · Last modified: 2014/03/14 15:21 by Wessel Stoop