Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Project License needs to be clear stated and documented #251

Open
dnabre opened this issue Jan 14, 2022 · 2 comments
Open

Project License needs to be clear stated and documented #251

dnabre opened this issue Jan 14, 2022 · 2 comments

Comments

@dnabre
Copy link

dnabre commented Jan 14, 2022

For someone coming to this project with the goal of adding features and contributing code, I can't figure out what the license of this project is. That shouldn't be a problem. The features I want to add are detailed at the end, but specifics aside, I want to be clear I don't have a strong opinion on what the license should be. However, if someone wants to contribute to a project (or even use it) figuring out what license the code is being distributed under should no be hard.

So for whatever license is accurate/legal, $LICENSE, the following todo is suggested:

  • Set the license in the Github Project/Repo settings
  • Include the standard LICENSE file at the top of the source tree, detailing the code is licenced $LICENSE, and the terms of that license
  • README.md updated to list that the project is $LICENSE
  • If any LGPL code is still in the project and $LICENSE is not LGPL, those parts needs to be documented, and above parts should point to it.
  • Not required, but helpful is for all files to have a consistent header detailing that file's license and author(s)

I'm more than happy to my code where my mouth is. However, I can't do the work. It needs to be done by people that know what $LICENSE both is and should be, and can standby the determination of $LICENSE in a court of law.


From reading the code, and documentation, I think the general intention of the authors is roughly a 3-term BSD license.

[Docs/FAQ.txt]](https://github.com/Solaris-Skunk-Werks/solarisskunkwerks/blob/master/Docs/FAQ.txt), A.7:

"However, I do plan to release the program under the BSD Public License when it reaches the "Finished Version" stage. I will still be working on it myself, but at that time you can create a fork or contribute code to it as you see fit."

The BSD license (though not by that name) is listen on the overwhelming major of the files.

Per the SSW website :

"Solaris Skunk Werks License: Solaris Skunk Werks is published under the BSD License, and some parts are covered under the GNU Lesser General Public License. A copy of both these licenses is provided in “SSW/docs”. You may freely download the latest sourcecode."

This BSD with some LGPL parts is also listed on sarna,

"Solaris Skunk Werks is published under the BSD License, and some parts are covered under the GNU Lesser General Public License. A copy of both these licenses is provided in "SSW/docs"."

Though this likely based on the statement on the webpage.


Those references to there being LGPL code somewhere complicates things. Beyond references, the LGPL license itself is included (Docs/license_GNU_LGPL.txt), so as an outsider coming want to contribute, I need to know which parts are LGPL so I can determine what license my contribution can/needs to be in. If there is still some LGPL code in there, it needs to be identified

Asking around in the Discord, the idea that the project is dual licensed under BSD/LGPL was mentioned. For those unfamiliar with dual/multi-licensing. This means that anyone that receives the code can pick which of the licenses to go with. It doesn't have anything to do with some parts of the code being one license and other parts being another. It enables someone who receives the code to use/distribute the code under one of those licenses.

Dual license however, either doesn't work or is needlessly messy. If there is LGPL code in its, the project as a whole cannot be BSD licensed. No one other than the copyright holders for the LGPL code can authorize changing the license on the part of code they own to a BSD license. If there is LGPL code, and all the code is BSD, there is no need to dual license, since anyone can fork BSD license code and start distributing it under the LGPL or GPL.

If the whole code base was BSD, everything would be a lot more simple. The above quoted references however suggests that there either is or was at some point some LGPL code somewhere. Tracking down this LGPL code, even if it has all be removed at this point, is necessary to switch to the code base all being BSD. Unfortunately, there is no solid documentation (as best I can determine) on what code is LGPL and who are the authors of that code are. If that documentation existed, the LGPL code could be removed and/or the authors could be contacted for permission. (Again I'd be willing to put in term and effort to track down authors and/or strip-and-rewrite LGPL code, but I lack the information to do that).


I want to contribute to SSW. The licensing and related legal issues may be something that a lot of people are willing/able to hand wave, but not everyone. Beyond just doing what is legal, proper, and right with respects to the licenses and author's work, a lot of people (myself included) are professional software developers. Employment contracts for professional developers can make contributing to open source projects messy, and not being able to determine what a given project's license makes it even more messy. (Such employment terms suck, yes, but this is not the time/place for such discussions).


All that messing legal stuff aside, while not relevant to this issue, I figure people might want to know why/what I'm looking to contribute. These are planned things btw, I haven't coded any of it yet.

I'm looking at extending the Record Sheet generation/Printing to include as many 'standard' page-setup and printing options as possible. Including margins, paper size, select which if any tables are included (and where on the sheet), and include some spaces for bookkeeping options which are really only useful for my BattleTech group. The last part likely isn't of any use to others, but I figure the rest is. So I want to push all those features upstream. With all the feature parts (the group-specific stuff especially) split into parts, of course, so they can be merge piece-wise if at all.

Sorry for the long issue description, but I wanted to be as detailed as possible with the licensing stuff. It is important, more so to developers who will come later than to existing devs. SSW is a vital project for the BattleTech community, and a clear license will help it live on.

@rjhancock
Copy link

We are looking into the licensing issue to make it more clear.

As for being a professional developer with contracts making it an issue, it is only an issue if you did not read and adjust the contract to not allow those contracting you to own all of your work, requested or otherwise, while under contract with them. If that clause is removed, then there is no issue so long as it's not something requested of those you are contracted for.

@dnabre
Copy link
Author

dnabre commented Jan 14, 2022

We are looking into the licensing issue to make it more clear.

Glad it is being sorted out.

~> pro developer stuff

Not going to clarify (beyond saying my point wasn't clear apparently) because it's not a worthwhile tangent for anyone, but the point was clear license -> can be clearly seen as OSS. That distinct is important for practical stuff like whether I can code for the project while on the clock.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants