Unless contracted out of, "the Crown is the first owner of any copyright subsisting in any work created by a person who is employed or engaged by the Crown, under a contract of service, apprenticeship, or a contract for services" (Crown Copyright, 2014)
The crown agency that is contracting the work is responsible for ensuring the code is licensed under a suitable open source license.
In the cases where the copyright will be owned by a contracted vendor, the vendor on the agency's behalf should provide an appropriate open source license alongside the code in a public repository. If this is not carried out code remains under the vendors copyright and non-intentional breaches of New Zealand copyright laws could occur (Crown Copyright, 2014).
Licensing concerns itself with two things. Who owns the code, and who has the right to use it. The code owner grant a license to allow others to use their code.
The license grants a bundle of rights to the person using the code. All open source code must have an appropriate open source license. All re-used open source modules must be licensed under the same license it was released under.
There are different types of licenses for different purposes, for example, the right to use, modify, or redistribute.
This license is provided in writing along with the code and states the terms under which the code may be used.
There are many different types of licences that can be used
SilverStripe advocate the use of Berkeley Software Distribution (BSD)(external link) license, and is the most common license within the SilverStripe community.
If you later redistribute or improve the code this must also be released under the same license and include a copy of the original license text.
If you encounter modules without a license you should contact the maintainer to add one before you include it in your project.
A module should clearly state the open source license in which the code is distributed under. If it is does not, then you need to contact the owner of the module. Do not use a module which does not have an appropriate open source license.
All re-use of the code is used with the same license. All pull requests, code comments or patches must be licensed under the same terms. This is referred to as "terms of contribution".
Under such terms, either the individual contributor will retain the copyright, and their publicly distributed code is licensed under the same terms as the code they are contributing to. Alternatively, the maintainer will request that copyright be assigned to them at such time they will license the code under the same terms as the repository. This gives a legal authority to accept contributions in the form of pull requests and other community contributed code. Either way, the rights and freedoms of the shared code remain the same, all can reuse, modify and redistribute.