Closed lnjX closed 6 years ago
Phaser is under the MIT license as it seems.
@FSMaxB This is seperate project, so we can also have another license.
I personally would take the GPL (v3) for this project, but it's up to Tom to decide.
I like the GPL, because it makes it impossible to fork the project, without offering the source code (making it closed-source) -> so everything is and will be Open-Source (GPL or alternatively also AGPL).
I know, I know. If phaser were GPL, you could not choose a license. As it's MIT, you can.
I personally don't like the GPL that much (I did in the past, I started relicensing some of my projects recently), espcecially bad is that the GPL is not even compatible with itself, (GPLv2 and GPLv3).
Also the GPL is problematic for Apps in the Apple Appstore and potentially other scenarios, see the story of VLC as a reference. Open Whisper Systems even had to put an exception for the App store in their license. But this kind of exception only applies to Apple's particular appstore and still doesn't help in other appstore scenarios where you cannot manually install your own software.
If you are chosing the GPL, there is no way back, you should put a lot of thought into that before you make such a decision. In the past I was a big advocate of copyleft and the GPL, but wanting my code to be actually useful to others made me change my opinion.
So the decision comes down to this:
Choose this license if you want Spielsklave to not olny be free software (in terms of freedom, not price) and always remain free, even if somebody else takes that code and changes it.
This decision should come with a very good understanding of what usage of the GPL implies.
You don't care, you just want that people can use your code and do with it what they want (while mentioning, that they have the code from you). Not posing any restrictions on the license they choose for derivative works. These licenses are still free according to the definitions of the Free Software Foundation. And you can even change the license to GPL later if you really want to.
Just my humble opinion 😛
I know, I know. If phaser were GPL, you could not choose a license. As it's MIT, you can.
Nope, also if phaser would be GPL, spielsklave could even be Microsoft EULA, because this project is something completely new (written from scratch by letsgamedev / Tom), it's not part of phaser and phaser is not included in this project (then we still could add third-party licenses for it), so Tom is able to do everything he wants to.
In the past, I only had licensing problems with LGPL <-> GPL ... There was a game that was LGPL v2.1+ and someone forked it and essentially improved it, but under GPL v3+. I contributed to that project and everything was fine, but then the maintainer got inactive. -> I forked his fork. Still no problem... But now I'm also inactive and don't maintain the game and I would like to rejoin the projects ... the problem is the code of the old maintainer is GPL and so it's incompatible with the original project (LGPL), because it's a one-way (LGPL -> GPL -> AGPL), so now I can only port my own code back ... :( AGPL would solve that problem, because there is no other compatible license for it.
I already had an experience with a commercial, closed-source fork of a game -> I don't want that something as this happens with spielsklave / any other open-source project.
But I'm also ok with MIT (much better than no license!). As it's not my own game I can't decide anyways.
Isn't using phaser the same as linking to a library? (from a license point of view)
@FSMaxB If you mean static linking then no, if you mean dynamic linking then yes.
If you statically link your compiled code with a library, the licenses have to be compatible, because the executable contains the library and your software, but they don't have to be compatible if you have two different parts of software in the end (dynamic linking).
Which means, this comment is wrong:
Nope, also if phaser would be GPL, spielsklave could even be Microsoft EULA, because this project is something completely new (written from scratch by letsgamedev / Tom), it's not part of phaser and phaser is not included in this project (then we still could add third-party licenses for it), so Tom is able to do everything he wants to.
https://www.gnu.org/licenses/gpl-faq.html#GPLStaticVsDynamic
Does the GPL have different requirements for statically vs dynamically linked modules with a covered work? (#GPLStaticVsDynamic)
No. Linking a GPL covered work statically or dynamically with other modules is making a combined work based on the GPL covered work. Thus, the terms and conditions of the GNU General Public License cover the whole combination. See also What legal issues come up if I use GPL-incompatible libraries with GPL software?
Ups .. sorry for the wrong info and good to know ...
But in this case we don't have compiled code anywhere / we don't link it to a library ... it will be interpreted. Do you think this makes a difference?
I couldn't find good definitive information on that matter, but as far as I understand, it doesn't make a difference if it is compiled or not. See also here
@FSMaxB Ok, but as phaser is MIT, GPL would be legal for this project, too.
Das ganze sieht so aus: Ich entwickele den Code. Ich erstelle die Grafiken. Die Musik und Sounds werden gekauft werden so dass ich sie kommerziell für das Projekt verwenden kann. Jeder soll sich den Code ansehen können, davon lernen können. Niemand soll mit diesem Projekt ohne mein Einverständnis Profit machen dürfen. Wenn das Projekt fertig ist, soll es wie ein normales Spiel über Steam verkauft werden. Ob das nun soweit geht, ist eine ganz andere Frage. Jeder, der sich sinnvoll an dem Projekt beteiligt wir bei einer Veröffentlichung von mir in einem sinnvollen Verhältnis bezahlt insofern er oder sie in der Lage ist eine Rechnung auszustellen, damit ich das von der Steuer absetzen kann.
Welche Lizenz da nun angebracht ist, weiß ich nicht. Ich gehe immer vom Deutschen Copyright aus das mich als Author schützt.
In dem Fall sind weder MIT noch GPL die richtige Lizenz. Generell freie Software. Weil damit kann man nicht verhindern, dass andere das Verkaufen.
Ich weiß aber auch nicht, ob du es verkaufen kannst, wenn andere auf GitHub etwas mit ihrem eigenen Urheberrecht beigesteuert haben, aber nicht die Erlaubnis gegeben haben. Vielleicht brauchst du da eine CLA (Contributors License Agreement) sodass Beitragende ihr Urheberrecht an dich abtreten.
Das sollte aber auf jeden Fall in einer README file erläutert werden.
Selbstverständlich sollte es das. Vielleicht haben wir einen Menschen bei den Zuschauern der da richtig Ahnung von hat. Allgemein sollte ich das alles mal in einer Folge erläutern.
Leider alles nicht so einfach :(
In meiner naiven Rechtswelt würde ich meinen Text da oben unterschreiben und fertig ist die Lizenz
Nach erster Recherche scheint es so zu sein, dass GitHub keine Standartlizenz vergibt. Das heißt, bis ich als Author keine bestimmte Lizenz nutze gilt "Alle Rechte vorbehalten" Das heißt, ich bin der einzige der rechtlich gesehen mit und an dem Code arbeiten dürfte. Dieses Recht haben wir zusammen natürlich bereits gebrochen. Bzw. ist da ja erst dann böse, wenn ich das sage. Das heißt ich kann theoretisch hier alle bisherigen Contributoren entlasten. Bzw. bin ich der Meinung, dass wenn ich ein Pull Request akzeptiere, akzeptiere ich eben diese Codeänderung.
Hier der Text den man mir vor Gericht vorhalten kann falls ich ein Arschloch werde: Wenn ich, Tom Bleek, ein Pull Request akzeptiere, so akzeptiere ich die Veränderung an meinem Werk (Spielsklave, Github Repository) und nehme Abstand von der dadurch entstandenen Copyrightverletzung.
Und nun recherchiere ich weiter^^
@letsgamedev Eine Alternative wäre in dem Fall wäre auf Creative Commons zurückzugreifen. Passend erscheint mir hier zum Beispiel BY-NC. Die Lizenz verbietet einfach die kommerzielle Verwendung, den Rest lässt sie offen.
Da es dein Code ist, solltest du selbst immer noch alle Rechte haben (die Frage ist allerdings, wie sich das mit PRs verhält). Auf der anderen Seite musst du dir vielleicht auch gar nicht so die Gedanken darüber machen, dass dir das jemand klaut.
@zhedar Damit auch er selbst die Änderungen der PRs im fertigen Spiel verkaufen kann, muesste man in der Lizenz noch eine Ausnahme im Non-Commercial-Teil fuer ihn selbst [letsgamedev/Tom] hinzufuegen. :arrow_right: Eine eigene Lizenz machen ...
Eigene Lizenz ist in Arbeit. Der erste Entwurf steht, muss aber noch überarbeitet werden. Schwammige Zusammenfassung: Jeder darf runterladen und privat drin rumwuseln. Niemand darf den Code weiterverbreiten, eben nur über das github repository Wer einen Pullrequest absetzt, tritt seine Rechte an seinen Änderungen ab. Wer signifikant beim Projekt hilft, wird einen verhandelten Bonus bekommen wenn das Spiel in die Veröffentlichung geht. Pull Request dürfen nicht den game/ Ordner betreffen ausser es handelt sich um Rechtschreibfehler. Alles im Ordner tools/ ist MIT
Niemand darf den Code weiterverbreiten, eben nur über das github repository
Bedenke dabei allerdings, dass Pull Requests nur durch einen Fork des Repos erstellt werden können. Also "weiterverbreiten" ist da eventuell in der Formulierung noch etwas vage.
Pull Request dürfen nicht den game/ Ordner betreffen
Du willst also, dass das nicht in ein Projekt ausartet, wo jeder seinen Teil besteuern kann, sondern der Code ausschließlich von dir stammt und Rechtschreibkorrekturen quasi die einzige gewünschten Änderungen von Außen sind? Der Style rundrum ist ja quasi ausgereift. Kann ich verstehen, aber willst du es denn wirklich so restriktiv machen? Ich meine, Änderungen in bestimmten Ordnern muss man übrigens auch nicht in der Lizenz verbieten. Dafür gibt es die Contributing Guidelines. Falls es doch mal einfache technische Sachen gibt, die zu erledigen sind, verbaut man sich die Möglichkeit quasi unnötig. Schließlich entscheidest am Ende immer du, ob du die Pull Requests annimmst, oder eben nicht.
Alles in Allem ist das Selbstschreiben von Lizenzen aber auch keine allzu leichte Sache ;).
Bist du dir sicher, dass du keine Pull-Requests für den game
-Ordner zulassen willst? Es kann sehr hilfreich sein, wenn sich bugs so zu sagen "von selbst" fixen, weil der- oder diejenige, der/die den Bug findet, auch gleich einen fix schreiben und einreichen kann.
Oder wenn Nutzer des Spiels helfen können neue features umzusetzen.
Mir gehts beim Code darum, dass ich am Ende auch noch durchsehe. Wir können es auch so regeln, dass jeder grundsätzlich in jeder Datei pull requests machen kann. Aber eben trotzdem seine Rechte an mich abtritt (Das klingt total böse). Ist in dem Sinne ja immernoch jedem seine Entscheidung beizutragen oder eben nicht. In meinen Augen klingt das in Ordnung. Was sagt ihr?
Ich denke, wenn du erwähnst, dass keine riesigen Veränderungen gewünscht sind, wird dir niemand auf die Füße treten. Außerdem sollte jeder PR eine Beschreibung enthalten, was da eigentlich gemacht wurde. Das bringt schon erheblich Ordnung in die Sache.
Ich denke auch nicht, dass irgendjemand bei dem Projekt ein kommerzielles Interesse hat, für die Leute ist das ja eher hobbymäßiger Zeitvertreib. Aber sicher dich ruhig ab. Wem das zu restriktiv ist, der kann's ja auch lassen.
Hi Tom, habe das gerade entdeckt, das könnte dir helfen wegen den Rechten bei Beisteuerung des Codes https://cla-assistant.io/
Without a license, nobody knows for what (and how) you can usw this code.
Just add a simple License file with a copyright line and the license declaration under it. MIT (very open / just do what you want to) and GPL (often used in larger projects (also the Linux kernel), more closed, but still Open-Source) are my favourite licenses.
-- EDIT: Here is an GPL example in one of my projects: https://github.com/KaidanIM/Kaidan/blob/master/LICENSE.txt