-
Posts
46 -
Joined
-
Last visited
Content Type
Profiles
Forums
Developer Articles
KSP2 Release Notes
Everything posted by RandyTheDev
-
An operating system is defined as "low-level software that supports a computer's basic functions, such as scheduling tasks and controlling peripherals." There is no world where KSP meets any of those definitions. No, they aren't, especially if the user does not have KSP installed. Also, system libraries can only be with respect to the user's hardware, not a video game. As is Linux with regards to proprietary drivers, or Eclipse and GPL'd plugins. That doesn't change anything. Sure, but it still doesn't mean KSP is an operating system. That's... That's not how the law works. "Your honour, I was confident that I was allowed to..." Done. It doesn't change anything and still supports my argument.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
That's from the FSF's FAQ about the other way around. Developing proprietary drivers for Linux. It is clear they see distributing a plugin as being equivalent to distributing a combination of the host software & your plugin, regardless of whether or not you distributed the host software itself.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
But linking to it does affect your compliance with the GPL.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Because distributing their GPL licensed work under a license that is incompatible with the GPL is a violation of their license and IP rights. There are better licenses for ensuring your code’s survival, such as the Mozilla Public License that has a source sharing requirement that does not preclude linking with nonfree software, or the multitude of permissive licenses available to use. In fact I think permissively licensed software is more likely to gain contributors since developers don’t have to fear accidentally violating the GPL. I think the growing use of permissive licenses is proof of this.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Yep, also if you use any third party GPL’d code in your mod the licensors of that code would also have a case against you. Even if it was a victimless crime, wouldn’t it be better not to commit the crime in the first place?
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
KSP is not the system, Windows/Linux/macOS is.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
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.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Sorry, used cut/paste in the editor window Modders very rarely only ship the source code, it’s much more common for them to release a folder that can directly be placed in GameData. This triggers the requirement to release all Corresponding Source upon request from a user.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
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.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Lol don't worry, in the email, I was just asking for personal advice on a mod I've contributed to, I'm not sending them this way! I don't know how many times I need to re-iterate that this statement is a complete fantasy. There are clearly headings in the FAQ and other FSF material that specifically relate to releasing plugins for nonfree software, none of those articles remotely suggest that everything is smooth sailing. The reason I didn't post that licence exception is that I'm not sure if it can be applied to non-library software such as Kerbal Space Program, and it gives your mod a licence that is no longer GPL compatible. If you are going to the trouble of relicensing your software anyway, why not just use a more suitable license like the MPL 2.0? This is really well put! I would like to note that the Take Two EULA specifically bans reverse engineering & decompilation though!
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
The Unity ones are part of the Unity compiler toolchain, which is fine because they are a part of a compiler used to produce the work (this is actually already a pretty murky step into a grey area since Unity is an engine, not a programming language). Unfortunately, there is no way to argue that the KSP API is a component that would normally be distributed with Unity. Furthermore, the end product requires Kerbal Space Program to run. This is not the case, the GPL is only about free software, the only mention of libraries relate to the system libraries exception My intention isn't to criticise mod developers in any way, it's to inform them of a potential legal issue. The GPL provides extremely important protections to developers, including the warranty disclaimer and limitation of liability. Voiding the licence agreement through non-compliance opens up mod developers to potential liability issues if their mod corrupts a computer or something. There's also the problem where developers may be disrespecting the wishes of GPL-licensed library maintainers, who may have chosen the GPL because they didn't want their IP being used to add value to nonfree software. While I agree that the chances of an issue developing are low, the consequences for anyone targeted could be astronomical! I'm currently corresponding with the FSF compliance labs trying to get some acceptable wording for an exception to the GPL. I don't feel comfortable drafting exceptions for use by other people in what is effectively a legal document! But with the help of some experts, I'd be more than happy to do so. I love mods and the modding community, that's why I made this post, I want to make sure the modding community understands the responsibilities that adopting the GPL places on them.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Look, I'm just trying to help out the community. I'm not doing this to be a Grinch or anything, I've just spotted a problem that affects a lot of developers here, and I feel like it's the right thing to do to let them know about it (and speculate on how they can deal with it). [snip]. I agree about Unity DLLs, but the linking with Kerbal Space Program is the real problem. At the end of the day, this is just the GPL working "as intended". Their aim is to encourage people to release software under the GPL, in this case, they are encouraging the development of a libre space simulator.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
I'm pretty sure it was abundantly clear I was referring to IP infringement when I said stealing code, there's no need to be a pedant. Uhhhh, yes, it is. You can dual license, but only if in both instances you are complying with the terms of the chosen license. If id Software released a copy of Quake under the terms of the GPL, without actually providing access to the source code; they would be in violation of the GPL, and could be sued for breach of contract. Instead, they should release it under the terms of a different license; which, as you stated, they are perfectly allowed to do. I'm not sure if I've communicated this clearly... Essentially: you are entirely free to release your product with whatever license you please, but in doing so, you need to comply with your end of the bargain when you distribute it.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
The rights of contributors are protected by copyright law anyway, there's no risk of anyone legally stealing your code here. The problem with violating a license (even as the licensor) is that it opens you up to litigation via breach of contract, and also copyright infringement if you depend on others' GPL-licensed code. Take-Two is obviously allowed to use your mod if they release KSP under the GPL, but I have a funny feeling that's not going to happen.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Your first paragraph a pretty accurate summary of the situation, the chances of anyone taking legal action against a mod developer for misusing the GPL is so miniscule it probably doesn't matter. As for your second one, MechJeb has 45 contributors on GitHub; their rights are protected too, so make sure you work with them on an acceptable solution. I don't know why you've decided to take the toxic route, but whatever. I only came to this realisation after researching the implications of a mod I recently contributed to being released under the GPL. There's no commentary from either the FSF or legal experts that supports the ability for GPL plugins to link with their non-free parent program. I don't know why you had to get upset at me because the GPL isn't the license you wanted it to be. I've spotted a potential problem and want to bring it to the attention of the modding community before it becomes an actual problem. Your claim that I have a complete lack of knowledge of programming is laughable. I have over five years of experience as a full-time software engineer and spent many, many years through my university education, teens, and childhood before that coding as a hobby. I am aware of my deficit in legal knowledge, which is why I have extensively cited all of the claims I am making. What have you done to back up your claims other than personally insulting me? Anyway, here's a bit from the EFF's FAQ explaining that they do not differentiate between static or dynamic linking.
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
This statement is simply not supported by the facts. The plugin is just as affected as T2 or Squad (if not more so) because our plugins simply will not work without Kerbal Space Program. The GPL is extremely clear on the source which needs to be provided: "all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work". Here's a blog post by Richard Stallman on the license incompatibility of GPL plugins to Eclipse: https://www.fsf.org/blogs/licensing/using-the-gpl-for-eclipse-plug-ins
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Kerbal Space Program absolutely cannot be considered to be a system library, since it is not included in the normal form of packaging of an operating system component, compiler, or object code interpreter. KSP is a non-free, proprietary game; the GPL would be a joke is you could simply consider any proprietary dependencies to be a system library. While I believe it is possible to write an exception to the GPL that would allow for KSP to be considered to be a system library, this has all of the same pitfalls as writing your own license, and it wouldn't really be free software anymore, for example it could no longer be used in GPL code anymore. At that point are you even really able to call it the GPL? The more I think on this, the more I think the modding community needs licenses that more accurately cater to our individual needs (i.e. commercial distribution rights vs performance rights, copyleft, dead-mans switches, etc.)
- 126 replies
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
Disclaimer: I am not a lawyer, this post is not legal advice. I am, however, a professional software engineer, and the statements I will present are consistent with the opinions of the Free Software Foundation (FSF), as well as my personal experience dealing with licensing issues as a developer of proprietary software. The problem? The GNU General Public License (GPL) is a free, copyleft license for software and other kinds of works. It is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. Previous research performed on Reddit by /u/Pyalot has shown that the GPL is one of the most common licenses used for distributing Kerbal Space Program mods. The adoption of free software by the KSP modding community has undoubtedly been a resounding success. It is no coincidence that nine of the ten most popular mods on Curseforge are licensed under terms that allow for derivative works to be created. However, unfortunately, (it is my opinion that) any mod licensed under the GPL that links with Kerbal Space Program is in contravention of the GPL. Specifically, the GPL requires that you distribute the source code to all components of the software that is necessary for the program to run, which, in the case of a plugin to a closed-source proprietary video game, is fundamentally not possible. The offending terms in the GNU General Public License, Version 3, which are causing the issues are as follows (emphasis mine): Now I know this seems a bit 50:50, but the FSF clarified in an FAQ as to their intention regarding free plugins for nonfree software, as well as one detailing their opinion on what constitutes a single combined program: As you can see, it is (in my opinion) abundantly clear that the intention of the GPL considers that any KSP plugin that links with the main program (which is all of them) violates the terms of the GPL. The GNU Lesser General Public License is a commonly used variant that allows for a software product to be linked to by non-GPL software. Unfortunately, the exception does not apply in the reverse direction. Not being able to meet the terms of the license does not excuse you from the terms of the license. What does this mean for me (a mod developer)? If you have released a mod for KSP licensed under the GPL or Lesser General Public License (LGPL) you could be found to be in violation of the GPL. Violating the GPL could open you up to the following risks: You risk litigation from developers of any GPL-licensed software/libraries that you are using in your mod. You risk litigation from the Free Software Foundation, who have sued developers in violation of the GPL in the past. You risk litigation from end-users for a breach-of-contract. Your code is not actually under license of the GPL, meaning anyone wishing to contribute to, or build on the work of your mod opens up the risk of litigation from yourself or other upstream developers. What can I do to fix this? Relicensing your project under a non-FSF license Relicensing your project under a non-FSF license is possible if, and only if, your source code does not contain any work by other authors licensed under the GPL. I like the Mozilla Public License 2.0 (MPL 2.0). Like the GPL, it is a copyleft license. However, the copyleft is not as strong, allowing for a "greater work" to be made using software not covered under the license, such as Kerbal Space Program. The main feature of the MPL is that it is licensed on a per-file basis, meaning that while any changes to your source code must remain MPL licensed, new functionality created in new files is only assigned the MPL if the author decides to do so. You may also choose to relicense your work under a more permissive license, such as the Apache License, Version 2.0 (APL 2.0). As a bonus, both MPL 2.0 and APL2.0 are compatible with the GPLv3, meaning that if the developer of a GPL licensed software program comes across your code, they are free to include it in their program. I strongly discourage using a Creative Commons license for any open source software project, because they are not open source licenses in the first place. The Creative Commons licenses were not designed for software distribution, and even if you use a CC-BY-SA license, there is no requirement to release the source code of a derivative work. Additionally, the more restrictive versions of the Creative Commons licenses such as NonCommercial and NoDerivatives may have unintended consequences, such as banning YouTubers and Twitch streamers from using your mod in their playthroughs. If you relicense your project, you are still able to incorporate third-party libraries licensed under the GNU LGPL, assuming you do not modify them. Unfortunately, you will no longer be able to use GPL licensed code snippets/libraries in your mod, due to the strong copyleft protections. Relicensing your project by adding an exception to the GPL/LGPL Once again, this option is only available if your source code does not contain any GPL licensed work from any other authors including any fellow co-contributors. It is possible to add an exception to the GPL under section 7 of the GPL. However, I do not recommend it, just as I do not recommend making up a bespoke license since the lack of legal scrutiny makes the software unusable by other developers. If you were to do this, you could probably add an exception claiming that KSP is considered to be a system library for the license, or one allowing linkage to Kerbal Space Program. I will not go into the details of how to do this because I am not a lawyer. 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. Oh no, my project has co-contributors, or uses a library licensed under the GPL! There are a few options for you here: Contact all contributors to the project and any GPL licensed libraries, and ask their permission to relicense your project or to add an exception to the GPL. If they ALL agree, you may proceed with one of the above relicensing options. If you are using a GPL licensed library, consider replacing it with a permissively licensed alternative. If you cannot get in touch with a co-contributor/library maintainer, or they refuse to relicense their software, you may rewrite their code with your new license. Be extremely careful when doing this, the changes must be significant enough as not to create a derivative work. I recommend deleting all of their code, and even the surrounding and calling code, to ensure you may apply the updated license. If using the MPL, you should delete the file containing the code and re-write it from scratch. This is an excellent opportunity to refactor the source code of your mod! If you cannot do any of the above, you are legally required to cease distributing your mod. Thank you for taking your time to read this. Once again I am not a lawyer, and the contents of this post are merely my opinions and should not be considered to be/interpreted as legal advice. If you have concerns about your specific situation, I'd recommend you talk to your lawyer. I will respond to replies in this thread with my personal, unqualified opinions.
- 126 replies
-
- 2
-
- licensing
- not legal advice
-
(and 3 more)
Tagged with:
-
[1.4.*] KSP Logitech RGB Control [v1.1.1] [2018-06-02]
RandyTheDev replied to battlemoose's topic in KSP1 Mod Releases
Woo! It was a pleasure. If anyone's having issues with keyboard layout support @mention me, and I'll try to work with you to diagnose the problem. Unfortunately, KSP, Unity, and Logitech's combined support for multiple layouts is a bit of a nightmare to get perfect! -
[1.4.*] KSP Logitech RGB Control [v1.1.1] [2018-06-02]
RandyTheDev replied to battlemoose's topic in KSP1 Mod Releases
I've submitted a pull request! https://github.com/battlemoose/ksp-logirgb/pull/1 Ended up being a pretty major overhaul. I'll need to talk to the KSP-Chroma guys about merging some changes upstream. I actually found a bug in the Logitech APIs during development hahaha. -
[1.4.*] KSP Logitech RGB Control [v1.1.1] [2018-06-02]
RandyTheDev replied to battlemoose's topic in KSP1 Mod Releases
I compiled it with 1.4's DLLs and it worked fine without code changes, so I assume that also means that the one compiled for 1.3.1 will also work with 1.4. I also made a fork to use the Colemak keyboard layout. It would be great if there was some way to autodetect a different layout, I know many games are able to do it now. I'm looking into it.