Open wongjoel opened 2 years ago
Good spotting. If we can use MIT, use MIT (for consistence across repos) but depends on how the Webots license limits us, it might require we use GPLv3.
Don't you still use GPL in the main NUbots repo?
Huh I never really looked that closely at NUbots/NUbots, we don't have a repo wide license? Just at the top of the file, and I don't think all files have that. We use MIT for NUbook. I feel like one license file is easier to manage? How come we have it per file @TrentHouliston? I don't know much about licenses and legal stuff. I guess it'd be good to check through our repos and get some consistency and make sure we're using correct/good licensing.
Webots itself looks like Apache 2.0, so we're not particularly limited in licence choice by Webots
NUbots was GPLed before I showed up, Anything new we did MIT licence (NUsight etc) but since NUbots was GPLed, it has to stay GPLed. Unless you can contact everyone who contributed to that repo and ask them if we can swap to MIT.
As for per file licence, it's not really like that. It's one licence for the repo and more like a "reminder" in each file. Licence isn't dependent on you having text in a file.
Technically NUbots licencing is all kinds of messed up since I think nobody actually signed something like Google's CLA, so everyone individually owns the licence to the parts of the code they wrote or something? Otherwise if everyone signed one as "NUbots" the organisation you could just relicense everything.
Also IANAL... so who knows :P
That sounds familiar, I think someone told me this before. Should we have a license file in the root of the repo or is it implied by the 'reminders' in the files? Or maybe that's not how it works :sweat_smile: I feel like we need a legal student on the team
I suppose for this issue, we change the tool to generate files that mention MIT rather than GPL in the header?
Moving forwards, I suppose we can at least have team members from now on sign some kind of CLA, and standardise on MIT? But that's possibly a bigger discussion than fits in this issue.
Going forward, a CLA would be nice, and can be a standard part of onboarding - by joining the team and committing code, you agree to assign copyright ownership to the NUbots organisation. This way if NUbots the org decides to adopt a specific licence, it doesn't need consent from every individual contributor.
As noted already, this wouldn't cover existing contributions though, and we'll also need a process that ensures any external contributors not part of the team sign the CLA before merging their contributions. There are bots like this one that can help automate the process.
If you generate a new controller with
./b controller generate <name of controller>
, the generated header mentions the GPLv3 license. This doesn't match the MIT license on the entire repo.Not sure if we want to change the generated header, or change the repo license.