Foohy / jazztronauts

Jazztronauts is a cooperative theft-em-up for Garry's Mod, also known as prop hunt 2.
124 stars 34 forks source link

Add a LICENSE #143

Closed wertercatt closed 5 months ago

wertercatt commented 1 year ago

Please add a LICENSE such as the AGPLv3 to the repository, so it's clear what contributors can do with the code.

Commenter25 commented 1 year ago

I would like to advocate for this as well. Having no license can actually have serious legal consequences, restricting use and causing headaches: https://choosealicense.com/no-permission/

Since the AGPL was mentioned, I'd like to point out the implications of that license.

The GPL is a big legal doc, allowing any use, modification, and distribution by anyone; with the exception that all code, and any changes to it, must remain GPL. This means that if someone takes code from a GPL project and put it in theirs, their project must be GPL too. It's a "viral" license. And if anyone distributes GPL code as not-GPL, it can be legally enforced. https://choosealicense.com/licenses/gpl-3.0/

The AGPL is an extension of the GPL with an added restriction: interaction over a network is distribution, and if the code is changed, the network must distribute their source code directly. If I understand correctly, this'd include a game server running modified Jazztronauts. https://choosealicense.com/licenses/agpl-3.0/

If you wanna avoid anything related to the law, never intend on enforcing it (aka threatening to/bringing someone to court), and simply want the code usable for anything under any license; you may want to use the MIT license, which grants full permissions, only requiring a copyright notice. Notably, it's extremely short compared to most licenses, so most can easily read and understand it. https://choosealicense.com/licenses/mit/

If you do not want your code to ever be proprietary, and ensure the source code is always available to everyone, the AGPL may be a good choice for this, since Jazztronauts is meant to run on a game server. It will ensure everyone has an inherent freedom to use, modify, and distribute your code no matter what.

Either way to go about it is valid! I've hopped back and forth that fence. It depends on your philosophy, whether or not you believe it should be an inherent unwavering right to have this code, or whether you'd rather forego the legalities and just want the code out there. I just want to point it out the intricacies while the discussion is still open, it's a careful decision to be made.

also i am not a lawyer and i am not your lawyer and this is not legal advice and i am not responsible for your decision, please do your own research and perhaps even seek professional advice and make your own decision which by the way is a decision which i am not legally responsible for :D

wertercatt commented 1 year ago

I'll write a pull request to add a variable for servers to link their Jazztronauts repo. Obviously, it would default to this one. I'll also add a console command for clients to request the link from the server in the same PR.

This would allow for servers running Jazztronauts to easily comply with the AGPL, especially once the refactor I'm currently working on for custom content support is finished.

Only concern for a relicense is that every contributor to this repo probably needs to sign off on it, since there hasn't been one in the past.

Foohy commented 1 year ago

Hey everyone, I know there's been a lot of discussion (especially on #157) and I think it's time that we step in with our thought process and where we'd like to land for the license for Jazztronauts.

One of the core principles of Jazztronauts is ripping things apart (maps, props, logic) to see how they work, and importantly, learn from it. We want creative people to be able to use the assets in creative ways beyond just what Jazztronauts provides, while still honoring the effort of those that contributed to the original project to make it what it is. For that reason, we're going to be pursuing open sourcing everything we can with an BSD-4 license. Essentially our intention is that you're free to do with it whatever you'd like, just give an acknowledgement back to this repository so others can learn from it too. Seems fitting for a source mod anyway, "do whatever, just give credit".

We still need to get signoffs from everyone that has contributed obviously, but after some brief chatting with Zak and Ry, that seems like where we'd like for this project to go. Also there's some cool ass tech that'd be a shame if was limited to only this gamemode.

Thank you all for your feedback and contributions so far, and let me know what you think about it. If consensus is generally positive (I still need to reach out to some more of the OG team), I'll make a PR this weekend so we can individually sign off on it. (I really liked how @wertercatt's PR was formatted, hope you don't mind if I reuse that!)

Commenter25 commented 1 year ago

I've made my stance clear of course, this seems like the right course to me! I hadn't even particularly thought about it, but a gamemode so focused on ripping things apart and the nitty gritty of Source just kinda makes sense to be permissive. Hopefully the relicensing can go smooth, though I don't see why it wouldn't. And apologies for how many words I threw out about this, probably wasn't fun to read through 😅

wertercatt commented 1 year ago

You're free to reuse the wording from that PR @Foohy I mainly closed it because I decided that I didn't want to get into a licensing argument.

Commenter25 commented 1 year ago

Now that I've woken up, I remembered something. BSD-4 is kinda controversial, specifically the 3rd clause: All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by [project].

At a glance that's fine, but it's been an inconvenience that's turned some away, and caused a huge snowball effect of putting every name like "developed by project1, project2, project3, project4..."; and it's also incompatible with the GPL, which (even if I personally dislike it) is one of the most popular licenses.

The other BSD variants are fine! And afaik, attribution is required by most licenses already. For BSD-3, if I understand the 2nd clause, it requires including the license (which has a copyright notice) somewhere like a readme or credits page. That's what "third party licenses" menus are! You can see one now: Chrome has its menu at chrome://credits, and Firefox at about:license

Traditionally, you'd put "Scott Kauker" in the copyright notice, and people mention the project the license is from. But if you wanna be extra sure the project is mentioned, I believe it would be perfectly fine to put something to the effect of "Jazztronauts Contributors"!

Either way, if you choose to use BSD-4 still, that's reasonable and I won't object!

also remember that part earlier where i said i am not a lawyer and this is not legal advice and i am not responsible for your decision so please do your own research and perhaps even seek professional advice? yea that's still true

ZakBlystone commented 1 year ago

The main things we want to get out of a license are:

  1. Ensure that people are able to take Jazztronauts and modify / remix it
  2. Protect ourselves from liability for / affiliation with other people's projects
  3. Try to ensure that derived projects link back to the original project

The last bit doesn't really concern exposure or credit... We just want to prevent derivative projects from 'hiding the ball', obfuscating the path back to this project where people can play with it. That's where we figured the 3rd clause of BSD-4 would be helpful to us.

But after some further research we did find the lack of compatibility with other licenses to be a bit worrisome. We're also trying to walk a line between "This license does exactly what we want" and "This license is going inconvenience / intimidate / confuse developers" and we believe BSD-4 does work against us in this case.

I talked it over with Foohy and we agreed that a BSD-3 license would be sufficient. While it doesn't offer the 3rd clause protection we originally wanted, it does make things easier for developers, which we think is far more important.

And we figure in lieu of that 3rd clause, we could add some notes to the README detailing our desires for how the project gets credited and rely on the honor-system for that kind of thing.

SageJFox commented 5 months ago

Issue was resolved, closing