-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add missing license and copyright #21
Conversation
Some of the files in this project have been straight up copy/pasted from my own project, [inochi2d-rs](https://linkmauve.fr/dev/inochi2d/), without attribution or even mentioning their license. In the future, it would be simpler for you to cherry-pick the commits from upstream, this both carries the author and description of the commit, and avoids claiming ownership of code you didn’t write.
cc @Speykious at some point I'd like to rewrite some of these files as they are only partially implementing what we need for full compatibility with Inochi2D. Until then, I'll be merging this. In fact, we should rewrite all of these files ASAP as the MPL is counter to the requirements needed for Inox2D to be properly useful in a game development setting. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should really not have been merged before I had my say into it. Some of these modifications are wrong.
// Copyright (c) 2022 Emmanuel Gil Peyrot <linkmauve@linkmauve.fr> | ||
// | ||
// This Source Code Form is subject to the terms of the Mozilla Public | ||
// License, v. 2.0. If a copy of the MPL was not distributed with this | ||
// file, You can obtain one at http://mozilla.org/MPL/2.0/. | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The code of this entire file has already been rewritten and is completely different from your implementation.
Your Vbo
struct, which is what was used before, is an enum
that becomes Uploaded
once it is done, while GlBuffer
is just a helper implemented with a builder pattern to construct a NativeBuffer
from glow
. It is not a rename of any of your code by any means.
As such, it is not subject to this license.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, you can change things around any way you want, your code is still a derivative of the one I wrote, so not really no.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is not a modification of your code but a complete rewrite, so it's not a derivative.
It achieves the same result for the same goal, but it is not the same source code nor a modification originating from it.
Checkout #22, I properly read the license and everything else falls under that term, but not this.
- Related to #21. I have no problem putting the additional license where it is needed. But where it is not, it should not be there. Additionally, the Mozilla license is fundamentally incompatible with Inochi2D, so we'd like to avoid as much of it as possible. Parts that are currently still licensed under the Mozilla license will eventually be rewritten.
Uh? What is the issue with using MPL-2.0 code in games? I will most likely use inochi2d-rs for this purpose once it starts being useful, and I see no issue with that. |
Inochi2D and Inox2D is BSD 2-clause to create as little friction for commercial, proprietary game development as possible; which is one of the areas I target. MPL is a copyleft license which makes inclusion in a proprietary game problematic. On top of the large stack of legalese which makes it less appealing for game developers and studios to include. A copyleft license is not practical for these use cases, especially when modifications rely on code which is under an NDA. |
I'd like to apologize for this mess, you clearly have a different goal for inochi2d-rs which is incompatible with ours and I did not spend enough time vetting the code that was going in here before merging it in to being under the main project umbrella. We'll be removing the offending code soon and I'll contribute to rewriting it from scratch. |
This PR removes any code that still remains as a copy or derivative of Link Mauve's inochi2d implementation. Unfortunately, that code is licensed under the Mozilla 2.0 license, which is incompatible with the Inochi2D project. - See #21 (comment) for explanations on why copyleft licenses are incompatible with the project.
You all say I have “different goals” but you never explained which, besides “You use enum and I use enum with one more Custom value”, which I interpret more as an excuse not to contribute to my project than anything else. I’m not dead set on the license, that’s why I asked you to explain why it was an issue for games, and frankly removing the entire code just for that sounds very weird to me. |
Your implementation is a reverse-engineered one rather than something that aims to be inline with the current spec. I already explained everything that could be the reason for why we're not contributing to your project in your XMPP channel.
Overall I'm really surprised that you do not see how our goals don't align after all our interactions so far. |
Some of the files in this project have been straight up copy/pasted from my own project, inochi2d-rs, without attribution or even mentioning their license.
In the future, it would be simpler for you to cherry-pick the commits from upstream, this both carries the author and description of the commit, and avoids claiming ownership of code you didn’t write.