Ideally, the licence should be in place before the software is developed. This should be in compliance with any contracts and agreements, and with the agreement of the relevant supervisory authority and all co-authors. In any case, it should be in place before the software is distributed.
It must also consider the distribution terms of the pre-existing software components included in the code.
There are tools, such as Fossology, that can help you analyse your code to identify open-source components and the associated licenses.
The different stages
Step 1
Identify all the contributions and co-authors, as well as the dependencies that will have an impact on the choice of license.
Step 2
Contact the technology transfer office (if you don’t know who to contact: sos-codes-recherche@univ-grenoble-alpes.fr)
Step 3
Integrate the necessary files:
- at least, README, AUTHORS, CONTRIBUTING and LICENSE files, in plain text format or with markdown (lightweight markup language, for more information on markdown see this guide or this one in French).
- README: project description,
- AUTHORS: list of people to be credited for the software,
- CONTRIBUTING: contribution guide, how to get involved, and identification of the contribution process and associated licences,
- LICENSE: software license.
- Include at least the author and SPDX license identifier of each source file.
- Header example
/*
* Copyright (c) 2017 Alice Commit <alice@example.com>
*
* SPDX-License-Identifier: BSD-2-Clause
* License-Filename: LICENSES/BSD-2-Clause_Alice.txt
*/
It should also be noted that you need to think about the license for distributing the documentation and media that accompagny the software. The associated licences are similar to those used for the data.