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.
In the past, copyright to
parts of STIR was mostly owned by the original PARAPET partners, Hammersmith
Imanet Ltd and/or General Electric. This is still a large (but decreasing) fraction of the code.
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.
You will need to discuss your contribution on the mailing lists and provide a document specifying the license that the copyright owner (usually you or your employer) wants to use for distribution. This license has to be the Apache 2.0 license.
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, the final arbiter is currently Kris Thielemans. You should then create a pull request. 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. However, we have since received agreement from nearly all contributors to switch to the Apache 2.0 license, which we will use in the future. Therefore, you will have to license your contributions under this license.
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 stir@asc.uk.com.
Any comments on this web-page or on the procedure? Please discuss by sending email to the stir-devel list.