Contributing to STIR
This page attempts to motivate you to contribute to the STIR Open Source project and to list a few options to help, including of course contributing code.
This could be rather obvious, but here are a few reasons:
It doesn't really matter. STIR is Open Source and comes with an appropriate license (see
our registration page and the LICENSE.txt in your distribution). That license tells you
what you can do with the STIR source code and documentation.
Currently, copyright to parts of STIR is currently mostly owned by the original PARAPET partners, Hammersmith Imanet Ltd and/or General Electric.
Kris Thielemans set-up Algorithms and Consulting Ltd (ASC) as an independent company. It does not (cannot) own STIR, but it can provide support (for a fee), accept donations, apply for grants etc. Hopefully, this will allow ASC to contribute to STIR in other ways (e.g. training, hosting of web-services...). Does that mean that ASC would benefit from your contributions? Yes, but so does everyone else!
Here are a few ways how everyone can help:
Code and documentation contributions need further information but remember that doing the simple things above is just as important, so please help anyway you can!
Great! Now we have to discuss how to get your code accepted, and issues such as copyright and licensing.
Some more info follows now.
STIR is currently run by volunteers who you will have to convince by sending email to the stir-devel list. However, currently releases are prepared by ASC, so the final arbiter is Kris Thielemans. Of course, your chances of getting your contribution included will depend on how useful it is, how much this was discussed on the mailing list, what documentation/testing you make available, if you made changes to other files in STIR etc. If it happens that nobody volunteers to merge your changes with STIR, you can always make your changes available elsewhere of course.
As soon as you write software (or documentation), it is protected by copyright law, which essentially means that the copyright owner can (in principle) prevent anyone to copy the work, or allow to do this under some licensing conditions. In some countries, the author of the software is the copyright owner, but in other countries (e.g. UK) it is your employer (this will clearly also depend on your contract). This means that you (probably) need to ask your employer/university permission to be able to add your work to STIR. You will need to confirm the copyright ownership in the document.
STIR has grown over the years by contributions from different parties. Nearly all these contributions were released under the Lesser GNU Public License (LGPL) version 2.1 or the GNU Public License (GPL) version 2. A very brief discussion of these licenses is given on our registration page, but these licenses require any distributed modifications (and, in the case of GPL, additions) to use the same license. Therefore, you will have to license your contributions under one of these two licenses.
However, it is possible that the license used for STIR changes in the future. This will depend on agreement of all copyright holders. To make this easier, we ask you to allow us to relicense the code to another Open Source license.
STIR currently has excellent information on ownership and licensing and we want to keep it that way. Therefore, you will need to provide an officially signed document to confirm copyright ownership and licensing agreement. One of the hardest parts can be to decide who owns the copyright to the software that you wrote. In many cases, that would be your employer or university (but not always). The situation depends on which country you live in and of course your contract terms. Once you have that sorted out, please prepare the following letter:
Please discuss details by sending email to email@example.com.
Any comments on this web-page or on the procedure? Please discuss by sending email to the stir-devel list.