Is it possible to add a LICENSE file? #463
Replies: 5 comments
-
I've been going over the license topic a few times now, and my conclusion is the same every time: I don't know enough about the legalities to know what we can and cannot safely do from a "blanket" license perspective. I also have no copyright lawyers in the family who could change that. The issue is that we require that all contributed code is licensed compatible with BSD-3, with the contributing guidelines explaining that "compatible" means "BSD-3 or more permissive". That does not mean that all source code is licensed under BSD-3. Adding a LICENSE file that states that it is unless noted differently, with 57 languages already in the codebase, is something I feel we would really need some qualified legal advice on, first. |
Beta Was this translation helpful? Give feedback.
-
You do make a lot of good points. Legal matters can be messy. I brought this up since I saw one implementation include the license text of the MIT License in the source code, and it interested me as to how the contribution guidelines on licensing actually work. One thing I want to note is that BSD-3 explicitly states that, among other things:
Would this mean that we are technically violating the license terms since we do not state said copyright notice anywhere within the code? Moreover, even with some more "permissive" licenses like MIT or BSD-2, most of these licenses also require that the copyright notice be preserved when redistributing. If the code was released under a public-domain license like BSD-0, then we would not need to preserve the copyright notice when redistributing the code, but we would still need to state somewhere in the original source code that the code is licensed under the terms of said public domain license. I think a good starting point would be to explicitly state that new implementations, if entirely original, should include a LICENSE file so that it's clear as to under what terms it is licensed. One could also simply write down the entire terms of the license in the source code itself. By default, the code should be BSD-3 licensed, but contributors are of course free to choose a more permissive license. For existing implementations, I'm not exactly sure how to deal with those. You could say that a good majority of our code is somehow derived from Dave's original implementation, so it would be best if you could get Dave, as well as others who have contributed to that code in a significant way, to release that code under BSD-3 or a more permissive license for safety. Then, for entirely "original" implementations, it would be up to the authors and each one's significant contributors as to what terms they would agree to license the code under, since it might be a hassle trying to contact all of them. You could put up some info in the README calling on authors to add a LICENSE file to their code, or something else. I'm not sure. For implementations that are a port of or base some of their code on another implementation, like mine, I think the best thing to do would be to contact the original author of the implementation that it is based on and ask them to release the code under BSD-3, or a more permissive license. I think we could consolidate all that into either one issue or Discussion where people could contact authors of code to ask them to add clear license terms. |
Beta Was this translation helpful? Give feedback.
-
This is exactly one of those reasons why I don't want to move to actually apply any license, at least until we've had qualified legal advice on what we're getting ourselves into. For various reasons, we would also need sign-off from Dave. Concerning your other points: I understand them, and although I'm not (yet) at the point where I agree that would be the way to go, your reasoning seems sensible. But again, copyright law is complicated, counter-intuitive, largely untested in the courtroom (and about that, which one should you pick for a project like this?), and all in all an area I don't feel qualified to navigate through. |
Beta Was this translation helpful? Give feedback.
-
The trouble is, of course, that the current phrase, "All code herein is licensed compatible with BSD-3.", may be pretty worthless. All it says may in fact be, essentially "There exists an unspecified copyright notice such that, if you included it, you would be allowed to use the code with no restrictions that go beyond those specified in the 3 clause BSD license" Without all the authors actually agreeing to a specific copyright notice/license file, explicitly or implicitly, all that's left may be a license for Dave to use and distribute the code in its current form (github and the occasional youtube video) granted implicitly by contributing. So... no stage adaption? (I assume most if not all authors would interpret the phrase in the pull request template as agreeing to a BSD-3 license starting with the phrase "Copyright © The Authors" or similar. Speaking for myself, I certainly do. How else would we get a stage adaption, or an orchestral remix) |
Beta Was this translation helpful? Give feedback.
-
In CONTRIBUTING.md, it is mentioned in the rules that:
Does this currently apply to all code in the repository, or only for new code submitted after a certain commit was added?
If this does apply to all code currently in the repository, it might be best to add a
LICENSE
file in the root of the repository so it's clear that all solutions are licensed under BSD-3.If this does not currently apply to all code, it might still be worth placing a
LICENSE
file with the text of the BSD-3 license, but simply add a footnote that some solutions might not be licensed under that license. Then, for any solutions that need it, place a LICENSE file in the solution directory to note that that specific solution is under a different license.Beta Was this translation helpful? Give feedback.
All reactions