OneLoneCoder / Javidx9

The official distribution of Javidx9's YouTube videos and projects
http://www.youtube.com/javidx9
Other
2.1k stars 1.29k forks source link

Reevaluate the license used or be more explicit about it? #19

Open eXpl0it3r opened 6 years ago

eXpl0it3r commented 6 years ago

I noticed a recent discussion about code used without crediting you. Following the story, I checked the source code and the license and noticed that it's either unknowingly or unintentionally sending conflicting messages.

For example in the file olcConsoleGameEngine.h you mention:

Ultimately I don't care what you use this for. It's intended to be educational, and perhaps to the oddly minded - a little bit of fun. Please hack this, change it and use it in any way you see fit. You acknowledge that I am not responsible for anything bad that happens as a result of your actions. However this code is protected by GNU GPLv3, see the license in the github repo. This means you must attribute me if you use it. You can view this license here: https://github.com/OneLoneCoder/videos/blob/master/LICENSE

But GPLv3 and "do what ever you want as long as you credit me" just don't go together.

Anyone who uses GPLv3 code (e.g. any code from this repository) is required to publish their own code, that uses the GPLv3 licensed code, under GPLv3 as well.

But by telling people that you don't care (as long as they credit you), you're promising them a different license. Given that your English text is easier to understand than the pages long GPLv3 lawyer text, people will generally of course follow what you said and not what GPLv3 requires.

Like I said, I assume you probably didn't realize the full extend of GPLv3 either, as such, my suggestion would be to pick a license that actually represents what you're telling people.

Personally, I like to release my work into the public domain, but I understand that's not what everyone wants. Widely used license, but maybe a bit too open for your taste, are MIT or BSD 3. One that might fit your setup even better is the Apache 2.0 license, which requires people to also disclose changes.

Alternatively, if you know the implications of GPLv3, I think it's only fair to everyone, that you don't tell them, that they can do whatever, but instead tell them exactly what the license requires.

Just to be clear, I think everyone should be allowed to require being credited. I just find it unfair, to make videos, showing off code, telling people that it's educational and they can use it for whatever the want and then putting it under GPLv3, which has massive restrictions bound to it. 😉

OneLoneCoder commented 6 years ago

Fair enough, I expect people who use this software to keep their software open, and make it visible where they got it from. Users can do whatever they want - I can't police that, but if they use or publish derivative code in a public way, without the source material being accessible, visible and acknowledged, then right now that is unacceptable.

Whereas I understand your point about the accessibility of the text, ignorance of the facts as they stand is not an excuse, and the software is clearly labelled GPLv3.

The recent event was not a mistake or misunderstanding on behalf of that individual, it was outright plain and simple plagiarism, even down to the typos and indentation, after which the individual proceeded to proclaim the source as their own on several public platforms.

But I am grateful for your insight - I will now tighten up the description to make sure there is no ambiguity that the olcConsoleGameEngine is, at this moment, GPLv3.