goodrobots / migration

0 stars 0 forks source link

Decide on license change, update license in new repo #1

Closed fnoop closed 6 years ago

fnoop commented 6 years ago

License in old project is GPLv3. Discuss moving to permissive license such as MIT.

SamuelDudley commented 6 years ago

My preference is with 3 clause BSD https://opensource.org/licenses/BSD-3-Clause but MIT is also okay (and effectively the same as the 2 clause BSD as I understand it)

fnoop commented 6 years ago

@cglusky @SamPes Any preference for the license?

fnoop commented 6 years ago

I think I would probably nod towards MIT - it's the simplest and least restrictive, and most commonly used these days by the look of it. https://choosealicense.com/ https://tldrlegal.com/

cglusky commented 6 years ago

i am OK with MIT.

fnoop commented 6 years ago

This might be relevent: https://github.com/twitter/vireo#legal-disclaimer Note that vireo is MIT licensed, and worries about directly linking to GPL components. I thought this was allowed, so should be looked into further. Probably doesn't affect Maverick much as it doesn't contain much/any actual code that compiles, but may affect related projects (eg. vision_landing).

cglusky commented 6 years ago

i think it would be prudent to include a similar disclaimer for maverick. these guys claim they will let you use their service for free

https://www.whitesourcesoftware.com/whitesource-pricing/

a permissive license on maverick might mean more commercial adaoption but also might not mean much without potential adopters understanding the rest of the license landscape.

i am also ok with current copyleft but it does not solve the audit issue.

fnoop commented 6 years ago

https://www.blackducksoftware.com/top-open-source-licenses https://github.com/blog/1964-open-source-license-usage-on-github-com These are two examples, but it's pretty clear MIT is the most popular, and GPLv3 has been resoundly unpopular. In addition, it's my opinion that Ardupilot has not taken over the world primarily because of it's license. If it was permissive licensed, it would be automatically included on pretty much every flight controller and commercial drone out there, given it's quality and feature set. But GPLv3 has a lot of restrictions around hardware (eg. so called tivo clause) and of course re-distributing any modifications. These are killers for commercial companies. These restrictions are not so relevant with the core Maverick project, as:

Also, Maverick doesn't directly integrate with any other components. It downloads and installs etc lots of components, which is it's main job, but it doesn't directly consume or link into them, so are not affected by any of their licensing. Any source modifications are done with github forks which Maverick clones, so the source modifications are available through the published forks.

So, for this reason, the licensing is actually not really particularly relevant for Maverick. I'm going to re-license under MIT.

Note some of this reasoning does and doesn't apply to the wider related maverick-api and maverick-web projects, which do not necessarily have to follow this license.

fnoop commented 6 years ago

The biggest reason not to use permissive license that I can see is if you're going to be upset that other people/companies/nefarious governments are going to take your work and/or modify it, and make money from it or turn it into a commercial product that you no longer have any say or control over. Personally, I see this is as a positive. I have no intention of monetising or commercialising any of my work - I do this as a hobby, to contribute a minute amount to science/human knowledge, and as some small attempt to rise up against the DJI juggernaut. Anyone that uses my work - even if they make money from it - validates my contribution and chalks one score up against closed source (DJI). They may or may not contribute back, but some will, and the project as a whole will benefit. Of course I can't speak for anyone else, so this should be more considered by everyone (in particular @SamuelDudley as it looks like we will do the bulk of the initial work) for the maverick-api and maverick-web projects.

fnoop commented 6 years ago

https://github.com/goodrobots/maverick/commit/fa467b72f6a5b46c060b189eb469413ffb1ef5b2