DarkMultiPlayer Client

DarkMultiPlayer Client

38.8k Downloads

DMP needs to change licence in order to allow plugins to use DMP's plugin system.

godarklight opened this issue ยท 15 comments

commented

Non-GPL compatible mods would be breaking the GPL if they interfaced with DMP's plugin system, which is less than ideal, so we need a licence change.

At first I thought of switching to LGPL as it allows this, but it is a very complex licence. MIT/BSD also not exactly what I'm after.

I propose a release to the public domain via the unlicence, which is also a very simple licence to understand.

The only possible side effect of this is that the licence can be freely changed upon forking, but this isn't a major concern for me - I don't think forks of DMP are very likely while DMP continues to be developed :).

I'll need the following people to agree to the change to public domain.
@RockyTV
@JoshBlake

commented

I don't think we should release to public domain via the unlicence, but indeed we should move to something that does not allow people to copy/distribute/modify DMP without giving credits.

And I think that allowing DMP for commercial-use goes against Squad's addons rules... I don't know, never read their EULA. But this is my oppinion.

commented

The reason for public domain / unlicence is I don't care too much about attribution or keeping forks open - The licence just basically says "Do whatever you like with it", which is mainly what I'm after now - It lets other potential developers of forks do anything they really like.

The GPL already allows you to sell software, but that software must be provided with the source code in order to comply.

And about the personal profit thing, there is a rule preventing you from adding anything in-game to make money, but it's still perfectly fine to keep those things on the forums. (Rule 4b http://forum.kerbalspaceprogram.com/threads/87841-Add-on-Posting-Rules-Aug-21st-2014).

I just prefer to not make money from DMP that's all :).

commented

Public domain is iffy since it lets others take credit for your work. I would go with MIT license, zlib license, or Apache License (I haven't read it, though).

EDIT: Oh sorry, you don't want MIT. What kind of license are you looking for? If you're looking for public domain-like licenses, I'd recommend you a few:

  • WTFPL ๐Ÿ˜›
  • CC0

The only thing is that you can't really "give up" your copyright because some countries don't allow that. You have to sublicense or grant people rights to use/modify/do whatever with your work.

commented

@oldmud0 I'm fully aware the public domain lets others take credit for DMP, and even allows forks to relicence as they please, but I'm ok with that :).

It technically also allows squad to integrate DMP, but that's not the reason for the licence change - Plus, DMP is relatively buggy and they are already doing their own thing :P

I did look at the WTFPL but it seems a little... strange. It does state my position pretty accurately though.

CC0 is a creative commons licence, and they aren't really recommended for software.

The reason I like the unlicence is because it's simple and does exactly what I want it to do :). In countries that recognise the public domain, software is released to that, otherwise it gives explict permission to do essentially what the public domain does. Also includes the standard disclaimer from GPL/BSD/MIT - which is something we might need with all those krakens around ;).

The only thing is @RockyTV and @JoshBlake both have to agree to release the source code they have written under the unlicence, otherwise we'll need to find something that everyone can agree on.

commented

Alexandre Oliveira is @RockyTV, Joshua is @JoshBlake, and @dsonbill (who exposed the server console for admins on the client) has already agreed in IRC :).

@Xandaros did write the command handler (which is definitely a significant part) but it's been mostly rewritten.

EDIT: My branches (the ones that aren't stale and I have to delete) will go under the unlicence when I rebase them. It's up to everyone else what they do with theirs, but they should still be considered GPL.

commented

Not just RockyTV and JoshBlake, but anyone who has contributed a significant part of code (and still has lines of code in the current commit):

$ git ls-tree -r HEAD|cut -f 2|grep -E '\.(cs)$' | xargs -n1 git blame --line-porcelain|grep "author "|sort|uniq -c|sort -nr
  16777 author Christopher Andrews
    791 author dsonbill
    669 author RockyTV
    500 author Alexandre Oliveira
    218 author Joshua
     _____________
     43 author Xandaros
     22 author MrFreake
     21 author John Turner
      9 author Joshua Blake
      1 author Neouni

Also, what about branches? Will the new license automatically get applied to both stale and active branches, or will we have to cherry-pick the new license over to all of the branches?

commented

I believe we keep track of contributors this way: https://github.com/godarklight/DarkMultiPlayer/graphs/contributors

commented

@RockyTV Yes, but that doesn't say whether or not the contributed code has been superseded by newer code from another contributor and how much of that contributor's code is present in the current commit.

commented

How did I not see this before? I was even @mention'd...
Oh well, the parts I contributed have been changed in such a way, that I probably don't even want anyone to know they originated from me.
I really don't care what you do with my code, but I'd prefer if it stays GPL-compatible.

I hereby release all my contributions to https://github.com/godarklight/DarkMultiPlayer/ under the CC0 1.0 Universal license, in addition to the GPLv3 it is already licensed under.

Have fun.

commented

I'm sorry, I'm not comfortable with the Unlicense, for these reasons:

  • It is not an approved OSI open source license
  • The license was not drafted by lawyers, but by a developer
  • The warranty disclaimer is likely not legally enforceable if the license actually does legally put the work in the public domain. Hence, we would not be protected from liability.
  • Putting the software in the public domain means someone else can take exactly what you have done and claim they created it. In the open source world, reputation is currency, and just about the only thing that all open source licenses have in common is that they require credit given to the author. Without this, open source communities break down.

I would be comfortable with the OSI-approved MIT, BSD, or Apache 2.0 licenses. Apache has stronger protections for the authors, but is longer to read. MIT and BSD are both simple and achieve what I believe your intentions are, plus they have the benefit of being reviewed and vetted by actual legal professionals.

Reading about open source and public domain licenses, specifically about unlicense:
http://opensource.org/faq#public-domain
https://groups.google.com/forum/#!msg/unlicense/G6pzAFtgrx0/9TCxE-je2qMJ
http://projects.opensource.org/pipermail/license-review/2012-January/000052.html

commented

@JoshBlake brought up some pretty good points, so I think I'll have to accept defeat and accept MIT :P

Just have to wait for @RockyTV to accept - He was pushing for MIT over the unlicence too so this shouldn't be a problem. Hopefully we can sort this out today :)

commented

I approve the change.
Closed.

commented

Changed via 7b84b33

commented

Depending on who you talk to, if you already waived your existing code under the Unlicense, you cannot revoke it unless you replace it with a new, MIT-licensed set of code. However, the Unlicense did not state that it was irrevocable or even a waiver (only a "dedication"), so you may get away with re-relicensing.

commented

@oldmud0 If someone did place their code in public domain via Unlicense (assuming legal effect) then in theory, godarklight could freely include that code into DMP, even under his own name and with any license. The original author could also do the same thing. (Concrete example -- Shakespeare is in public domain, so anyone is free to create derivative works and copyright the changes they made and publish the derivative work with any license.)

On the other hand, if unlicense didn't have legal effect, then the original author would need to at minimum agree to the MIT license. Either way, it would all work fine if everyone is on the same page.