Closed voltrevo closed 2 years ago
Thanks for bringing this up! @StephenFluin wondering if you have any insight here?
The MIT license is often chosen purposefully so that derivative works remain open source. https://www.gnu.org/licenses/copyleft.en.html
The MIT license is often chosen purposefully so that derivative works remain open source. https://www.gnu.org/licenses/copyleft.en.html
If that's the intention then wouldn't the GPL better serve that goal?
I'm not sure that MIT is intended to be copy-left in this way. My understanding is that MIT is permissive, promoting wide adoption, and the terms are there merely to disclaim liability and preserve some credit for the author, deliberately avoiding any additional restrictions on derivative works, since that would inhibit derivative works.
Of course, if you consider this copy-left aspect of the MIT licence to be a feature and not a bug, then I respect that. Personally though, it means I'd rather put together a hardhat project manually than use this template.
We're choosing the MIT license intentionally because it strikes the right balance of permissiveness and copy-left, which we think enables most developers and companies to adopt it.
This decision is in line with most of the software in our space (eg https://github.com/ethereum/solc-js/blob/master/LICENSE, https://github.com/smartcontractkit/chainlink/blob/develop/LICENSE).
Thanks for sharing the feedback and we'll continue looking at this over time to see if this is helping or hurting developers.
Hi there. I was wondering if you would consider switching to a public domain licence like CC0 or the unlicense?
Complying with the MIT licence is often not too hard - if you're using a library then you have an exact copy and you simply preserve the licence declaration. Easy. Not so when creating a derivative work, and this is a template project so all usage is derivative in nature. How do you refer to the code that remains copied from here to attribute the MIT licence?
If a part of that project itself is used to create another derivative work, how is that author to know if they have used any of this project's code, and whether they are subject to its MIT licence? That downstream author, if paying attention to compliance, may be forced to write something like:
IANAL, but to the best of my knowledge, project authors are required to do this kind of thing. I think it's a bit silly, and it would be better if we all stopped worrying about attribution in open source licences, and just committed the work to the public domain (assuming having other projects benefit from your work is the goal, of course).
Wdyt?