NUbots / NUWebots

Environment, models, and communication for using the Webots simulation with NUbots
MIT License
7 stars 4 forks source link

Generated license header is GPL, repo is licensed MIT #91

Open wongjoel opened 2 years ago

wongjoel commented 2 years ago

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.

ysims commented 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.

TrentHouliston commented 2 years ago

Don't you still use GPL in the main NUbots repo?

ysims commented 2 years ago

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.

wongjoel commented 2 years ago

Webots itself looks like Apache 2.0, so we're not particularly limited in licence choice by Webots

TrentHouliston commented 2 years ago

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

ysims commented 2 years ago

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

wongjoel commented 2 years ago

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.

JosephusPaye commented 2 years ago

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.