Under La Trobe's IP policy the University owns all "computer software" created by staff, just as it owns all "teaching resources". All repositories should use the AGPL-3.0
license. This is an open "copyleft" license that requires all derivatives be licensed on equivalent terms including free access to and use of the code. This enables us to openly share whilst avoiding the possibility of the code being "commercialised" in any meaningful sense, and getting caught up in the University's commercialisation policies.
Repositories here can be public or private - if in doubt, make new repositories private and seek guidance from the Manager Digital Discovery.
All public repositories must include an appropriate LICENCE file - this will nearly always be the AGPL 3.0 licence.
Check the licences of any external code you are building on top of.
- some academic libraries and individuals share code on GitHub without a licence. We need explicit permission to use this code - ideally by them adding an open license, but otherwise by obtaining and recording written permission;
- open licenses must allow for re-licensing of derivatives, or be equivalent to the AGPL. For example, the MIT license allows us to re-license derivative code, and the GPL is compatible with the AGPL.
- all prior work must be acknowledged
- commits should be signed off using your La Trobe email address - you may need to set up a default git user profile for your work machine
You need to be careful about contributing to external projects in work time, because legally the copyright on your contribution belongs to La Trobe University. You should avoid contributing to anything that has the prospect of being "commercialised". In practice, this means we can safely contribute to projects with "copyleft" licenses but you should seek advice from the Manager Digital Discovery where there is no obvious license, the license permits the code to be sold ("permissive" licenses), or where you are unsure.
Examples:
- GPL
- AGPL
- Mozilla license
- Apache
- BSD
- MIT
See the LTU example repository to see how you should set up new repositories. If forking external code, you can merge in the necessary components rather than try to get the original structure to fit into our template. e.g. adding an "acknowledgements.md" file and updating the license may be all that is required.
Our standards and procedures for coding and sharing on GitHub are at standards.