afritz1 / OpenTESArena

Open-source re-implementation of The Elder Scrolls: Arena.
MIT License
988 stars 68 forks source link

Add COPYING.txt. #95

Closed afritz1 closed 6 years ago

afritz1 commented 6 years ago

It was recommended on /r/linux_gaming here that I add a COPYING.txt file to the project to account for the GPL2 code in components/misc/fnmatch.{h,c} and MIT code in components/vfs/dirent.h.

@psi29a, could you offer some advice on this? I didn't know I needed to provide extra copyright information for people wanting to distribute binaries (I thought my releases page would be the only place for binaries).

psi29a commented 6 years ago

You mean a COPYRIGHT file? (or whatever you want to call it).

Just look at how OpenMW does it. We have several licenses and have a copy of each license.

psi29a commented 6 years ago

GPL is clear, you only need give a copy of the license and the code if it's asked for. Having it there already is just a convenience for everyone involved.

afritz1 commented 6 years ago

Okay, that makes sense. I see OpenMW has the GPL3 and the DejaVu Font licenses. I'm still a little unsure, though, but I think maybe keeping LICENSE.txt unchanged and adding a COPYING.txt file would be acceptable, where COPYING.txt would say something like:

This project contains code licensed by the GPL2.
--------------------------------------------
<... GPL2 license ...>

The one suggesting that I add COPYING.txt said that the existing GPL copyright info in the source code is fine, but the project should also include a notice that it uses GPL2 code (since otherwise it's hard to tell). At the moment, users would assume that it's 100% MIT-licensed.

Also, doesn't the boilerplate GPL notice in source code require the actual license to be stored somewhere in the project?

psi29a commented 6 years ago

Yes, a full copy of the licenses should be included in your repository. It should also be mentioned in your README file so that people landing on the project homepage know exactly what license the project falls under. Having LICENSE.txt is also explicit enough as well and pretty much standard practice. You can even set the license in your project settings, just make sure it consistent.

There is NO need for boilerplate GPL header in your source files. That is your choice to do so however.

Please note, if there is NOT license information available, the project then defaults to "All Rights Reserved" Copyright. That is the law in most countries, certainly those that have signed the Berne convention.

Beware people telling you that if code doesn't have a license that it is MIT or Free or Public Domain, that is bullshit. If the wishes of the author not available, default is "All Rights Reserved".