Search the Community
Showing results for tags 'lgpl'.
Found 1 result
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.