Jump to content

KSP's API is NOT compatible with the GPL. Here's a guide to help if you are in violation.


RandyTheDev

Recommended Posts

10 minutes ago, sarbian said:

No, it is not. It does not talk about mods.

 

Is not a mod considered user created content?

Quote

USER CREATED CONTENT: The Software may allow you to create content, including, but not limited to, a gameplay map, scenario, screenshot, car design, character, item, or video of your game play. In exchange for use of the Software, and to the extent that your contributions through use of the Software give rise to any copyright interest, you hereby grant Licensor an exclusive, perpetual, irrevocable, fully transferable, and sub-licensable worldwide right and license to use your contributions in any way and for any purpose in connection with the Software and related goods and services, including, but not limited to, the rights to reproduce, copy, adapt, modify, perform, display, publish, broadcast, transmit, or otherwise communicate to the public by any means whether now known or unknown and distribute your contributions without any further notice or compensation to you of any kind for the whole duration of protection granted to intellectual property rights by applicable laws and international conventions. You hereby waive and agree never to assert any moral rights of paternity, publication, reputation, or attribution with respect to Licensor's and other players' use and enjoyment of such assets in connection with the Software and related goods and services under applicable law. This license grant to Licensor, and terms above regarding any applicable moral rights, will survive any termination of this Agreement.

 

Link to comment
Share on other sites

7 minutes ago, Electrocutor said:

 

Is not a mod considered user created content?

 

No, I don't create mods with KSP. I create them with Visual Studio. So now can we stop with the EULA hysteria until T2 actually try to do something with it and kill the game for good.

Edited by sarbian
Link to comment
Share on other sites

27 minutes ago, Electrocutor said:

The Software may allow you to create content, including, but not limited to, a gameplay map, scenario, screenshot, car design, character, item, or video of your game play.

In that case, surely then, as KSP only really allows us to create screenshots as part of it's programming, not videos not designs, character or items, or for that matter anything else,  unless they count craft files, as user generated content. (  watch out for craft pack DLC ala EAgames :)

O i've never created a craft really I'd want to share with too many , so I'm good there,  would find it difficult to care about ownership of a screenshot.   As for the rest Unity, 3ds, notepad++ ,  gimp  no touching of ksp in content creation whatsoever using any of KSP's built in software .

IMO thats how it reads

Edited by SpannerMonkey(smce)
Link to comment
Share on other sites

1 minute ago, SpannerMonkey(smce) said:

In that case, surely then, as KSP only really allows us to create screenshots as part of it's programming, not videos not designs, character or items, or for that matter anything else,  unless they count craft files, as user generated content. (  watch out for craft pack DLC ala EAgames :)

O i've never created a craft really I'd want to share with too many , so I'm good there,  would find it difficult to care about ownership of a screenshot.   As for the rest Unity, 3ds, notepad++ ,  gimp  no touching of ksp in part creation whatsoever using any of KSP's built in software .

IMO thats how it reads

Thanks, I got that from sarbian's response; I had thought that since making a mod required you to include Assembly-CSharp from KSP, that it was considered using the software. Whatever... seems there are only two sides to the whole discussion: the people who go crazy about legal terms changes and the people who yell and scream back at them. Getting any kind of actual, calm, and official answer seems to simply be impossible. I'll just take my normal stance of ignoring it unless it becomes an issue. I had also read that the terms for using a github public repo conflicted with some mod licenses that were located there. I'm glad I'm not a lawyer.

Link to comment
Share on other sites

4 hours ago, Electrocutor said:

Thanks, I got that from sarbian's response; I had thought that since making a mod required you to include Assembly-CSharp from KSP, that it was considered using the software. Whatever... seems there are only two sides to the whole discussion: the people who go crazy about legal terms changes and the people who yell and scream back at them. Getting any kind of actual, calm, and official answer seems to simply be impossible. I'll just take my normal stance of ignoring it unless it becomes an issue. I had also read that the terms for using a github public repo conflicted with some mod licenses that were located there. I'm glad I'm not a lawyer.

I'm not weighing back in on that one, but you can look at the main hysteria thread and find where I actually talked to my lawyer about it.   Long story short - mountain out of molehill.

I'm trying to get out of the rest of this discussion, but another couple of things were just SO WRONG that I couldn't ignore it -  

16 hours ago, RandyTheDev said:

 

KSP is not an operating system. The fact that the GPL added the system libraries clause in the first place should be reason enough to believe that any similar situation that arose would need a similar exception issued. Knowingly issuing your work under a void license is dangerous, it waives your limited liability and warranty disclaimers. The GPL (to the chagrin of the EFF) is legally considered to be a contract, and because of this, you are also liable to breach of contract.


LICENSES ARE NOT CONTRACTS. 

A contract requires certain legal elements - a meeting of the minds, an offer, acceptance, consideration...  NONE of those things happen when a piece of code is released into the wild with a license.    
 

A GPL license is one sided - the author isn't getting paid or receiving any tangible benefit for allowing others to use their code.  It's a grant - they authorize certain kinds of use and prohibit others.    They're not BOUND by anything.  The USERS are...  if they want to continue to use the granted license.  It would be pretty unfair (and illegal) to pretend the modder releasing their code had some obligation to anyone, when he wasn't compensated.   That's basic contract theory.

 

And further, if it WAS A CONTRACT, what you described is NOT how contracts work.   The whole contract isn't suddenly nonexistent because one clause hasn't been fulfilled.  Do you think you just get to keep a car without paying for it if they forgot to include one of the trim screws in the cupholder?  "I paid for a whole car, you delivered 99% of a car!  Breach!   The agreement's off!"  Lolz.   When a suit is brought for breach - the court remedies THAT provision.  The rest of the contract is perfectly valid.  Nobody is losing their protections under a license because a different section was in question.   WHEN a breach suit is brought...  the contract isn't ruled valid or invalid...  remedy is prescribed to correct the breach.   If possible, that remedy should just be fixing the problem.  So the court would ask the modder "Well, can you give that user the KSP source code?"  And the modder would say "No, I don't have it.  Squad doesn't release their code."  So specific performance being out...  that would leave expectation damages - the judge would look at the user and say "Well, how much money did you lose because he didn't give you the KSP source code?"  To which the user would scratch his head and say "Money?" At which point the judge would throw the case right out... because there are no damages.   

To summarize...  Licenses are legally 'releases' not 'contracts.'   You cannot breach your own release, because you have ALL the rights.   A release is spelling out which of your rights you give to someone else and with what requirements.  It comes with no obligations on your part.

Link to comment
Share on other sites

Quote

 I'm currently in the process of reaching out to both Take-Two and the FSF in regards to an acceptable exception, and if anything comes of that, I'll post it here.

Do you want to get us shut down? Cause that's how you get us shut down. If you bring a gigantic corporation's attention to modding as a potential liability they are not going to be helpful. They are just going to eliminate or severely restrict the potential for liability.

Link to comment
Share on other sites

25 minutes ago, SpacecraftX said:

Do you want to get us shut down? Cause that's how you get us shut down. If you bring a gigantic corporation's attention to modding as a potential liability they are not going to be helpful. They are just going to eliminate or severely restrict the potential for liability.

Amen.   Knock it off.  I'm pretty level headed and newb friendly, but I'm really wishing I could get some choice words past the moderators right now.   You're behaving in a way that is toxic and dangerous to the community.   Stop.   You should talk to your lawyers about licensing your mods.   I think we've made it really clear that NOBODY in the modding community is interested in you getting involved in our licensing.  PLEASE STOP.

Link to comment
Share on other sites

1 hour ago, artwhaley said:

To summarize...  Licenses are legally 'releases' not 'contracts.'

Not true, specifically, there is a legal precedent behind this claim: https://www.theregister.co.uk/2017/05/13/gnu_gpl_enforceable_contract/ The gist behind this decision is that the requirement to distribute source code is not covered under copyright law, therefore, it is a contract instead.

Quote

Do you want to get us shut down? Cause that's how you get us shut down.

Nobody is going to get shut down. This literally does not affect Take-Two in any way whatsoever, they are doing nothing wrong. My questions to them related to what they considered the API to be licensed under. The EFF is not going to shut us down either.

58 minutes ago, artwhaley said:

You're behaving in a way that is toxic and dangerous to the community.

What the??? I'm just trying to help. There's no need to be upset. If you don't care about license compliance, then don't let me stop you from using the GPL incorrectly. For everyone who does care, I've provided a list of strategies on how to avoid licensing issues.

1 hour ago, artwhaley said:

NOBODY in the modding community is interested in you getting involved in our licensing

I noticed. Software licensing is a pretty esoteric topic. Many full-time professionals don't like thinking about it/get it wrong every single day. I understand that it's not as sexy as making new parts or innovative functionality, but it's an integral part of the software development process. If you care about your software, you should care about how it is licensed.

Anyway. Here's an exception I drafted with the help of the EFF compliance labs. Replace the bits in bold. Save it as something like LICENSE.EXCEPTION or COPYING.EXCEPTION and put it in the root directory of your project. It's also generally considered to be good practice to put it at the top of your source files.

Quote

Copyright (C) [years] [name of copyright holder]

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses>.

Additional permission under GNU GPL version 3 section 7

If you modify this Program, or any covered work, by linking or combining it with Kerbal Space Program, containing parts covered by the terms of Take-Two Interactive EULA, the licensors of this Program grant you additional permission to convey the resulting work.

If you modify this Program, or any covered work, by linking or combining it with the Unity Game Engine, containing parts covered by the terms of Unity Software License Agreement 4.x or later, the licensors of this Program grant you additional permission to convey the resulting work.

Note that people who make modified versions of [name of your mod] are not obligated to grant this special exception for their modified versions; it is their choice whether to do so. The GNU General Public License gives permission to release a modified version without this exception; this exception also makes it possible to release a modified version which carries forward this exception.

 

 

Link to comment
Share on other sites

6 minutes ago, RandyTheDev said:

Not true, specifically, there is a legal precedent behind this claim: https://www.theregister.co.uk/2017/05/13/gnu_gpl_enforceable_contract/ The gist behind this decision is that the requirement to distribute source code is not covered under copyright law, therefore, it is a contract instead.

Nobody is going to get shut down. This literally does not affect Take-Two in any way whatsoever, they are doing nothing wrong. My questions to them related to what they considered the API to be licensed under. The EFF is not going to shut us down either.

What the??? I'm just trying to help. There's no need to be upset. If you don't care about license compliance, then don't let me stop you from using the GPL incorrectly. For everyone who does care, I've provided a list of strategies on how to avoid licensing issues.

I noticed. Software licensing is a pretty esoteric topic. Many full-time professionals don't like thinking about it/get it wrong every single day. I understand that it's not as sexy as making new parts or innovative functionality, but it's an integral part of the software development process. If you care about your software, you should care about how it is licensed.

Anyway. Here's an exception I drafted with the help of the EFF compliance labs. Replace the bits in bold. Save it as something like LICENSE.EXCEPTION or COPYING.EXCEPTION and put it in the root directory of your project. It's also generally considered to be good practice to put it at the top of your source files.

 

That case was proving my point - that the license encumbers the person who downloads and modifies the code, not the author.   I do find it interesting that the provision had to be handled under contract law - but it still does NOT obligate the author to do anything.  They received no consideration, so they are bound by NO contract.   That case ALSO was a case where the software was dual licensed and the contention wasn't that they'd simply violated the GPL - it was that since they weren't correctly using the GPL, what they'd done had risen to the point of pirating the commercial licensed version.  The argument was that by not living by the GPL they'd tacitly accepted the terms of the commercial license, and the damages they sought were those licensing fees.   A case that applies in NO way to what we're doing here.

It's not that it's esoteric.   I'm a professional photographer - my intellectual property is something I give thought to on a daily basis.   Licenses and releases and contracts to protect, assign, and license my copyrights are a huge part of my business activities.   I'm not bored by discussion of IP.   I'm annoyed by the stirring of the pot without grounds.  If you'd like to do this thing, may I recommend /r/legaladvice over on Reddit?  Pedantic argument, particularly from a place of ignorance is the official pass time over there! 

As far as getting shut down... If Take Two's lawyers were to come to the conclusion that they could have some exposure because they haven't sorted the licensing on their API...  what is more likely - they assemble a crack team of copyright, software and constitutional attorneys and hammer out a brilliant license?  Or they say...  "On second thought, lock it down.  We don't know what they'd sue us for exactly... but someone might sue?"   Their API is OBVIOUSLY  released ARR...  as is anything that doesn't have other specific license attached.   It's my beer until I tell you that you can have it, whether I'm holding it at the moment or not. 

There's nothing wrong with including that exception.  But all of the energy we put into this discussion could have sure produced some sexy new parts.

 

Link to comment
Share on other sites

On 22.3.2018 at 10:26 AM, RandyTheDev said:

And all code required to run the licensed source code.

The requirement to convey all corresponding source is triggered by releasing the compiled binary, regardless of whether or not the source  (but not the source of non-free dependencies) was released alongside it. 

On 22.3.2018 at 12:30 PM, Boris-Barboris said:

Not by writing, by distributing dlls that are bound to non-GPL KSP.

Do I understand your logic correctly when I say

"If the creator publishes their work under the GPL, they are bound by the GPL.
That means amongst other things, if they publish compiled binaries/dlls bound to KSP means the creator --- as spelled out in the GPL license --- must also deliver the code required to build and run the work."

Is that materially what your logic is?  Yes?

OK, then let's see what happens ... 

"If the creator publishes their work under GPL ARR, they are bound by the GPL ARR.
That means amongst other things, they may not copy, pass on, modify or publish their own code --- as with ARR --- nobody has the right to do so."

This is the exact same logic, and the result is obviously nonsense, therefore the logic is clearly wrong.  So please stop applying faulty logic, it gives you worthless answers.

Or to quote the GPL FAQ:

Is the developer of a GPL-covered program bound by the GPL? Could the developer's actions ever be a violation of the GPL?

Strictly speaking, the GPL is a license from the developer for others to use, distribute and change the program. The developer itself is not bound by it, so no matter what the developer does, this is not a “violation” of the GPL.

(emphasis mine).  Can we now all agree that this is straight from the horses' mouth and authoritative on this topic, and the developer (assuming he is not including/using/... other people's GPLed code) can distribute compiled binaries, with or without source code, with or without all necessary libraries and build scripts and there is no GPL violation problem for him?

Also consider how dual licensing could work under your theory.
 

On 23.3.2018 at 3:30 AM, artwhaley said:

A GPL license is one sided - the author isn't getting paid or receiving any tangible benefit for allowing others to use their code.  It's a grant - they authorize certain kinds of use and prohibit others.    They're not BOUND by anything.  The USERS are...  if they want to continue to use the granted license. 

The GPL does not prohibit any kind of use.  Copyright law does.

The GPL allows you to legally perform certain actions --- which otherwise are disallowed by copyright legislation --- if you fulfil certain conditions.  That is all.

You are not forced to accept the GPL license.  In which case you do not get the additional permissions the GPL confers.

22 hours ago, RandyTheDev said:

Nobody is going to get shut down. This literally does not affect Take-Two in any way whatsoever

You asked T2.  You forced them to take notice.  You force them to make a decision.  No, that does not affect T2, not even PR wise, not deciding if and what to answer you ... suuuure.  In other news, if you kill someone, that literally does not affect the police or the courts in any way whatsoever.

Quote

The EFF is not going to shut us down either.

That is the one true statement you made.  The EFF has literally no way to shut down modders or T2.  And I cannot see any reason why they would even want to.

Quote

If you don't care about license compliance, then don't let me stop you from using the GPL incorrectly. For everyone who does care, I've provided a list of strategies on how to avoid licensing issues.

I noticed. Software licensing is a pretty esoteric topic. Many full-time professionals don't like thinking about it/get it wrong every single day. I understand that it's not as sexy as making new parts or innovative functionality, but it's an integral part of the software development process. If you care about your software, you should care about how it is licensed.

I shall just point out that you yourself seem to have a very sketchy understanding of software licenses, at least when it comes to the GPL and how it interacts with copyright.  And just because others get it wrong doesn't mean you get it right.

Anyone concerned over licenses should pay for and ask a competent copyright attorney. (Which I am very certain you are not.)

Link to comment
Share on other sites

55 minutes ago, weissel said:

Do I understand your logic correctly when I say

"If the creator publishes their work under the GPL, they are bound by the GPL.
That means amongst other things, if they publish compiled binaries/dlls bound to KSP means the creator --- as spelled out in the GPL license --- must also deliver the code required to build and run the work."

Is that materially what your logic is?  Yes?

No. My position is that developer violates GPL, not that he is bound to it. But I certanly do expect the developer to honor the license, in the same way I expect the government to respect it's own laws. Because if he does violate some GPL clauses, nobody but him can exercise the rights it gives. This makes licensing meaningless in my opinion.

56 minutes ago, weissel said:

OK, then let's see what happens ... 

"If the creator publishes their work under GPL ARR, they are bound by the GPL ARR.
That means amongst other things, they may not copy, pass on, modify or publish their own code --- as with ARR --- nobody has the right to do so."

This is the exact same logic, and the result is obviously nonsense, therefore the logic is clearly wrong.  So please stop applying faulty logic, it gives you worthless answers.

Nothing so far. ARR contains developer's or other copyright holder's name and "all rights reserved" clause (wich is absent in GPL by the way, although implied by copyright law) wich reserves these rights to him. No contradiction here, bad example.

58 minutes ago, weissel said:

Can we now all agree that this is straight from the horses' mouth and authoritative on this topic, and the developer (assuming he is not including/using/... other people's GPLed code) can distribute compiled binaries, with or without source code, with or without all necessary libraries and build scripts and there is no GPL violation problem for him?

Now this is a good point. I was wrong on that apparently.

 

Link to comment
Share on other sites

2 hours ago, Boris-Barboris said:

No. My position is that developer violates GPL, not that he is bound to it. But I certanly do expect the developer to honor the license, in the same way I expect the government to respect it's own laws. Because if he does violate some GPL clauses, nobody but him can exercise the rights it gives. This makes licensing meaningless in my opinion.

How can you violate a license you are not bound to?  If a judge uses the internet, do they violate the terms of parole they routinely give: "No using of the Internet!"?

How about you simply say that in practical terms, an exception for KSP will not hurt (as the mod is supposed to run with KSP in the first place[1]) and will make it so much easier for others to carry on the torch should you falter, or build upon your work, or fix bugs, ...
That is a sensible argument, easy to understand, non-confrontational and not aggressive, not attacking them and telling them they are stupid, too stupid to see.

Speaking of honouring a license: with GPL you seem to argue to take upon oneself the same limitations the license passes on to others.  Now, what happens if we apply that not to the GPL, but some other license, say ARR?  Do you want to plead special circumstances for each single license?  Or would it be better to find a legal theory that is self-consistent, say, like "Magic: The Gathering", and not randomised like lottery numbers, without rhythm or rhyme, like, say, the Windows-APIs?

 

If the developer releases the code under the GPL but bundles a binary file, too, what stops you from using and distributing the code (with or without alteration) but *without* bundling a binary?  It's not even necessary that your work compiles or runs --- or be even meant to do that --- it still can be under the GPL!  That is exercising rights the GPL gives to you, even if it's not all you want --- in fact that an exception is required shows you want more rights than the GPL can give you!

Assume you had a "integrate into your work, copy and sell in binary form only" license for some library you use.  You may have paid lots and lots for the license.  And now, because you added some GPL code, you cannot exercise the rights the GPL would give you if there wasn't that library, nor the dearly bought rights the library license gives you.  Does that make licensing meaningless?

 

[1] And even if T2 would pick up the mod and bundle it, they could, but would have to pass on the source and build tools as required by the GPL, except they do not need to GPL KSP.

Link to comment
Share on other sites

4 minutes ago, weissel said:

How can you violate a license you are not bound to?

Just like you can violate some law when you are not subject to it. You are not breaking the law, but you violate it. It's just semantics, I take the word "violate" quite differently than you apparently.

20 minutes ago, weissel said:

If a judge uses the internet, do they violate the terms of parole they routinely give: "No using of the Internet!"?

He violates the term of the parole "Not using the internet", yes. It doesn't mean he's breaking some law by it. There is a clause "no internet", there is his action "uses internet". He violates the clause. It does not mean he can't, or the clause was for him. But his actions violate it.

28 minutes ago, weissel said:

How about you simply say that in practical terms, an exception for KSP will not hurt (as the mod is supposed to run with KSP in the first place[1]) and will make it so much easier for others to carry on the torch should you falter, or build upon your work, or fix bugs, ...

I would rather prefer a better-suited license.

29 minutes ago, weissel said:

That is a sensible argument, easy to understand, non-confrontational and not aggressive, not attacking them and telling them they are stupid, too stupid to see.

Are you ready to quote something? Or is that just a figure of speech?

8 minutes ago, weissel said:

Speaking of honouring a license: with GPL you seem to argue to take upon oneself the same limitations the license passes on to others.  Now, what happens if we apply that not to the GPL, but some other license, say ARR?  Do you want to plead special circumstances for each single license?  Or would it be better to find a legal theory that is self-consistent, say, like "Magic: The Gathering", and not randomised like lottery numbers, without rhythm or rhyme, like, say, the Windows-APIs?

I just described it in the post you quote, how the author being subject to his ARR license bears no logical contradiction whatsoever. ARR license explicitly names the author\developer\etc and reserves all the rights to him, making him perfectly capable of distributing binaries without violating the license.

If the license needs special remarks for your specific case, you should probably use some other license.

I don't understand the last question.

13 minutes ago, weissel said:

what stops you from using and distributing the code (with or without alteration) but *without* bundling a binary?  It's not even necessary that your work compiles or runs --- or be even meant to do that --- it still can be under the GPL!

Nothing. But there is no point in distributing source, players need a binary to use the plugin, so someone has to distribute the binary under the GPL terms.

15 minutes ago, weissel said:

And now, because you added some GPL code, you cannot exercise the rights the GPL would give you if there wasn't that library, nor the dearly bought rights the library license gives you.  Does that make licensing meaningless?

Under GPL - yes. Such case need another license. Want to stay half-closed-sourced? Don't use GPL.

Link to comment
Share on other sites

4 hours ago, weissel said:

How can you violate a license you are not bound to?  If a judge uses the internet, do they violate the terms of parole they routinely give: "No using of the Internet!"?

It's nothing like that at all. It's more like a judge telling someone they can rob a bank, only for the person to be arrested & charged with armed robbery when they rob the bank.

Your statement is correct that rightsholders can't technically violate the GPL for their own code (assuming they haven't used someone else's GPL'd code), but that's irrelevant.

Licensing is essentially a list of things you are letting your users do with your software. What's the point of giving them a license that they cannot comply with? Just give them a different license that is not a contradiction.

Edited by RandyTheDev
Link to comment
Share on other sites

On 23-3-2018 at 5:24 AM, artwhaley said:

Amen.   Knock it off.  I'm pretty level headed and newb friendly, but I'm really wishing I could get some choice words past the moderators right now.   You're behaving in a way that is toxic and dangerous to the community.   Stop.   You should talk to your lawyers about licensing your mods.   I think we've made it really clear that NOBODY in the modding community is interested in you getting involved in our licensing.  PLEASE STOP.

As a junior law professor, I can only support Artwhaley's and Spacecraftx's call to stop with what you are doing RIGHT NOW.

There is so much nonsense and bull spewed back and forth the isle here, that I don't feel obligated to waste my time making a more substantial post about mod licensing.

HOWEVER, I do feel obligated pointing out that publishing a mod under GPL 3.0 is perfectly acceptable and in consensus with the KSP EULA. The status quo is perfectly valid and the reasoning in the opening post is so warped that I don't know where to begin. (Well, I would start by reading a license, beginning at the first paragraph and work my way down from there, instead of starting literally half-way, but hey...)

Randy, although you meant well with starting this topic,  you're needlessly poking a bee hive that should not be poked.

The role that KSP fullfills isn't even mentioned in the GPL 3.0 and starting reading a legal document without reading the definitions that that legal document gives to words is just a surefire way to get the mess that this topic currently is.

Link to comment
Share on other sites

2 hours ago, Dutchbook said:

As a junior law professor, I can only support Artwhaley's and Spacecraftx's call to stop with what you are doing RIGHT NOW.

There is so much nonsense and bull spewed back and forth the isle here, that I don't feel obligated to waste my time making a more substantial post about mod licensing.

HOWEVER, I do feel obligated pointing out that publishing a mod under GPL 3.0 is perfectly acceptable and in consensus with the KSP EULA. The status quo is perfectly valid and the reasoning in the opening post is so warped that I don't know where to begin. (Well, I would start by reading a license, beginning at the first paragraph and work my way down from there, instead of starting literally half-way, but hey...)

Randy, although you meant well with starting this topic,  you're needlessly poking a bee hive that should not be poked.

The role that KSP fullfills isn't even mentioned in the GPL 3.0 and starting reading a legal document without reading the definitions that that legal document gives to words is just a surefire way to get the mess that this topic currently is.

Would you mind explaining your reasoning? Besides the as-yet unproven "as a junior law professor" claim, you've done nothing to support your contention or anything to refute my arguments. If you think they are nonsense I'm sure, that as a junior law professor, you will have no problems setting me straight. I'm more than willing to listen.

I'll condense my arguments:

  • GPLv3 and KSP's licenses are fundamentally incompatible.
  • Mods link to KSP through the Assembly-CSharp.dll file distributed with KSP under the Take-Two EULA. You cannot compile the vast majority of mods without a copy of KSP.
  • This linking alone results in a combined work that cannot be distributed (by an end-user) as a binary under the terms of the GPL.
  • There are multiple reasons to assume that the intent of the GPL is to prevent GPL licensed code from adding value to non-GPL licensed software, which is the natural result of writing mods for KSP.
  • This creates issues for modders using other developers GPL-licensed source code.
  • It also creates a contradictory license that prevents users from exercising the permissions they were "granted".

I'm not asking anyone to stop making mods or only license under All Rights Reserved, I'm simply asking them to use a license that actually grants users the permissions it claims to, something that a GPL licensed mod which is intended to link with KSP does not do.

2 hours ago, Dutchbook said:

Well, I would start by reading a license

I'm confused, have you not read the license? If so, don't you think it's a bit early to say I need to "stop what I am doing RIGHT NOW"? For the record, I have read the license, both specifically in the context of KSP mods, as well as in a professional context.

2 hours ago, Dutchbook said:

There is so much nonsense and bull spewed back and forth the isle here

Please elaborate.

2 hours ago, Dutchbook said:

you're needlessly poking a bee hive that should not be poked

If you were so confident, you wouldn't consider the behaviour you applied that metaphor to as poking anything in the first place.

2 hours ago, Dutchbook said:

The role that KSP fullfills isn't even mentioned in the GPL 3.0

The role that KSP fulfils is "linked software", which the GPL requires the corresponding source be released alongside a binary distribution of the mod. Here's the excerpt saying so.

Quote

For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

Here's another excerpt from the license that indicates that the GPL does not permit incorporating a GPL licensed work into a proprietary piece of software:

Quote

The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read <https://www.gnu.org/licenses/why-not-lgpl.html>.

 

If GPL mods/plugins for proprietary applications were allowed by the GPL, the license would be an absolute joke. Whenever they needed to use GPL-licensed code, developers would simply develop GPL-licensed plugins for their non-free software, distributing them separately. This clearly isn't something that is allowed by the GPL, and there's no reason to believe it would be any different when there is a volunteer entity creating the GPL plugin.

Edited by RandyTheDev
Link to comment
Share on other sites

*sigh*

Your post is evidence that you have not only bothered reading the GPL, but also don't bother reading the posts of your fellow posters.

My interpretation of your reading: Scrolling through the GPL to find stuff that you find relevant/interesting/scary, and then scrolling through the rest of the document to find more info.

This is NOT how you read legal documents

Case Example: Okay, I've made a new part mod. It contains a folder called "Part" and contains Part.cfg, Part.mu and Part.dds

Let's open the GPL 3.0: https://www.gnu.org/licenses/gpl-3.0.en.html

You always start out at the beginning (In this case Title 0) and not Title 6 (like you did)

Title 0 is called "Definitions", and please don't continue reading my post further until you have read that word for word.

.....

.....

.....

Okay, so now we know the most critical part of the agreement. GPL defines the following terms as the following meaning:

“This License”: GPL 3.0
"Copyright": The most encompassing form of intellectual property protection law
“The Program”: The mod I made
"You/licensees/recipients": Users of my mod
"modify": Modifying my mod without explicit permission from me
“modified version” , "based on": The result of the "modify"
“covered work”: The mod or modified mod
“propagate”: Distribution outside of your private use
“convey”:  Uploading it to Spacedock/CKAN
“Appropriate Legal Notices”:  A text file in my mod containing 1) : an appropiate copyright notice, like which license I used, my name, contact info and date 2) To tell them if I have a warranty on my work, 3) other people may upload my work to Dropbox as long as they keep the same license 4) A link or text copy of GPL 3.0.

Okay, so now we have the ground floor stuff covered.
But what exactly is my work?

The next title, Source Code, deals with that.

"Source code": The license calls it "the preferred form of the work for making modifications to it". Okay, since I made it and published it as a .cfg, .mu and .dds. It is the .cfg, .mu, .dds.
“Object code”: What my work is called when someone has saved it as another file type, like converted the .cfg to .txt, or my .dds to .jpeg
“Standard Interface”: Irrelevant for my work, it is just a folder with a cfg, mu and dds
“System Libraries”: Irrelevant as well, my work isn't executable
"Major Component": Open for interpretation, since what is the most financially valuable component of my mod?
“Corresponding Source in object code form” : Now it becomes more lingually complicated. For this, we always advise our students to repeat after each definition, the meaning of the definition itself. So:

Spoiler

The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.

Becomes:

Spoiler

The “Corresponding Source” for anything other than in .cfg, .mu and .dds form means the .cfg, .mu and .dds that is needed to create, install and modify the mod. [snip irrelevant text for my mod]

"The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source": Irrelevant for my mod, but immensely reduces ambiguity when 'real' software is the topic.
"The Corresponding Source for a work in source code form": My mod in its current form

So, now we know what we are talking about when we are talking about my mod in a legal way.

Now on to Title 2, Basic Permissions, which is where the creative side of the licensing stuff starts happening.

First paragraph: It says that as long as my country-specific law (so the law of the creators' country of origin) gives me, as a legal entity, the rights over my mod; the rights and obligations of BOTH parties granted under the GPL 3.0 shall be irrevocable. So the license of version Mod 1.0 shall be valid for the rest of my life + 50 to 70 years after that. It also acknowledges the right to fair use, again just to reduce ambiguity.

Okay, sounds reasonable enough.

Second paragraph: A lot of definition usage, let's translate it again into normal English

Spoiler

You may make, run and distribute outside of your private usage, this mod or a modified version of it, without you being Spacedock/CKAN, without conditions as long as you keep it under GPL 3.0.

You may upload the mod to let others modify the mod for you exclusively, as long as you upload the entire mod. They cannot modify the mod for anyone else though.

Now, on to Title 3:  Protecting Users' Legal Rights From Anti-Circumvention Law.

This clause states that by using GPL 3.0 for your mod, the users of your mod are allowed to rip out DRM, decrypt encrypted files, etc...

Title 4. Conveying Verbatim Copies.

The users of the mod are allowed to upload the mod themselves. They can put it in a .zip, a .rar or anything else, as long as they copy the mod 1:1 and incude the license. They may also ask money for the mod, and provide their own warranty against payment if they please.

Title 5. Conveying Modified Source Versions.

If you mod the mod, or if you create an app that takes the .cfg, .mu and/or .dds, and changes it into another format, you are allowed to do so.
However, if you do so, you must include the licenses and statements given in this Title 5.

This Title also introduces a new definition, called the "aggregate"
"Aggregate":
A mod compilation.
A mod compilation is only allowed if it doesn't limit the users of the compilation any further than the limits from the original licenses themselves. So if you want to make a compliation of my mod (or any file in it), and a mod that limits usage more than GPL 3.0 does, you're not allowed to use my mod in that compilation.

Title 6. Conveying Non-Source Forms.

Again, it's time to take our definitions from the first two titles and translate the article into normal English!

Spoiler

You may upload my mod in any other format but .cfg, .dds and .mu, as long as you follow the Titles 4 and 5, and as long as you offer to translate the files back into .cfg, .dds and .mu, or as long as you include the original mod with your product.

(list of ways that are allowed under GPL 3.0 to do so)

If you ask money for the mod or modified mod, stricter rules apply

(list of rules for money products).

The original mod must come in an easily readable format, with installation instructions, and with no special hoops to go through to get to it.

And now you see that your entire reasoning is false. In the opening post, you've given your own definitions to stuff that isn't interpretable!

And this is as far as I go, since I just spent the entire early evening of my time typing this, and I hope you can appreciate the amount of work I put into you, and learning you some new things. For further knowledge, either follow a good basic law course or refrain from giving legal advice and interpretation in the future.

Link to comment
Share on other sites

I appreciate the work you did in creating your post, but in that particular case study (part mod model/texture/config), your interpretation is completely consistent with my own. That doesn’t change my view that writing a mod including executable code that links with KSP via Assembly-Csharp.dll creates a combined work under two licenses that are fundamentally incompatible.

Minor nitpicks:

  • The GPL does specifically allow publishing a GPL licensed work in an aggregate including nonfree/non-GPL works. As long as your mod is distributed in a way that provides access to the corresponding source, and the less free mod is distributed under the terms of its own license, then the GPL sees this to be fine.
  • The GPL makes no restriction on commercial exploitation of a GPL’d product, as long as it is distributed under the terms of the GPL, the same for non-commercial distribution.
  • The GPL only allows for verbatim copies of a mod’s source code, binary distributions require the corresponding source to be conveyed.
  • Please stop insulting my reading comprehension, I can read fine, and I’m sure you know it :/

Can we please limit the discussion to mods that contain executable source code that links to Kerbal Space Program via the Assembly-Csharp.dll file bundled with Kerbal Space Program. This represents a very large category of KSP mods, and is the type that I believe has license compatibility issues, hence the title of this post. If you rebut my arguments using different types of mods as a case study, we'll just end up going around in circles, since I was never talking about them in the first place.

Edited by RandyTheDev
Link to comment
Share on other sites

As long as you don't put dll's or other stuff from the Squad folder into your own mod and upload it, you're fine since it isn't part of the mod itself.
As long as the link is made after the player has moved your mod to their /GameData folder, the combined sum becomes:
KSP (TakeTwo EULA) + Mod (GPL 3.0) = Home Use Modification (no right to share)

what you're implying with the topic title and your opening post is:
KSP (TakeTwo EULA)  + Own created stuff (GPL 3.0) = Uploaded to Spacedock/CKAN (GPL 3.0)

And that last one, or even the implication/chance of that last one, will make the legal department of a large game company fire shots and close modding communities. (kicking the proverbial bee hive)

I'm no programmer, but isn't Assembly-Csharp.dll part of the KSP folder, and only called upon/linked by (and not an actual part) of the mod? If that is the case, there is of course no IP/licensing issue, since you're not distributing original work.

Link to comment
Share on other sites

Thank you for engaging constructively :)

49 minutes ago, Dutchbook said:

As long as you don't put dll's or other stuff from the Squad folder into your own mod and upload it, you're fine since it isn't part of the mod itself.

The problem is that the GPL, for software, requires distribution of "all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work".

Even if you make the dubious assumption that distributing a mod that links to KSP does not form a combined work (I can go into this more if you want), there remains the fact that if the user does not have a copy of KSP installed, they will be unable to generate the object code (Compilation will fail without a copy of Assembly-Csharp.dll to link to), or run the object code (It is impossible to run the mod without a copy of Kerbal Space Program).

The only way to allow users to distribute your mod under the terms of the GPL would be to also distribute the source code of Assembly-Csharp.dll and Kerbal Space Program, both of which is exceedingly unlikely.

Link to comment
Share on other sites

1 hour ago, RandyTheDev said:

The problem is that the GPL, for software, requires distribution of "all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work".

I don't have any source code to KSP or Assembly-CSharp. I'm able to generate, install, run, and modify mods. Am I a magician?

Link to comment
Share on other sites

8 minutes ago, xEvilReeperx said:

I don't have any source code to KSP or Assembly-CSharp. I'm able to generate, install, run, and modify mods. Am I a magician?

If you are doing it without a copy of KSP then I'd be inclined to say yes! The GPL says nothing about end users being able to generate, install, run and modify mods with the help of proprietary software, it specifically says that you must provide the source code to do so.

2 hours ago, Dutchbook said:

It's like myself and other posters are writing in a different language for you...

If you think I am wrong please explain why. Enough with the irrelevant insults. Either explain how a user could possibly generate and run a KSP mod (which links to Assembly-Csharp) without a copy of KSP, explain why KSP should not count as corresponding source, or explain why mod distributors do not need to comply with the corresponding source clause of the GPL. If you cannot do that then there is no point in this argument, because you're doing nothing to disprove my contention.

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...