OK, I've been talking a lot about this on Discord but I want to write it down here in a more persistent form. I think that FSO's licensing situation is widely misunderstood and could use a few easy changes. DISCLAIMER:
I am not an IP lawyer.. But then again, neither are you, the reader. If you need reliable legal advice then hire one.
0. Hollywood Upstairs IP Law CollegeThe first thing to know is that software copyright law is that all software is copyrighted by its owner by default and that means
the rest of the world can't do anything with it. No copying, no modification, nothing whatsoever. A software licence is an
explicit list of permissions of things you can do with the software, something that should be clear from the text and nature of
actual free/open-source licences. The copyright notices you see saying "© Hoover Heavy Industries 2020, all rights reserved" are assertions of existing rights — the restrictions of copyright law are automatic and apply whether they're there or not until explicitly relaxed by licence.
Modifications of copyrighted software are copyrighted works in themselves, and the modifications belong to whoever made them. The resulting modified work can only be used in ways that are permitted by the licences of
both the original work and the modifications, and any subsequent modifications just add on to this situation. The vast majority of the complexities surrounding open software licences are down to how they handle modified works.
1. The (Absolute) State of FreeSpace 2 and SCP LicensingFSO's licensing situation is, frankly, a goddamn mess. The cornerstone of this mess is the "licence" Volition originally released the code under:
Copyright (C) Volition, Inc. 1999. All rights reserved.
All source code herein is the property of Volition, Inc. You may not
sell or otherwise commercially exploit the source or things you
created based on the source.
If you were paying attention in the previous section you should notice something. This statement gives
no permission to do anything at all. It tells you not to commercially exploit modifications but that was already forbidden, by default. It even explicitly says "all rights reserved" — including the right to redistribute and modify the code. It's obvious from historical context that this wasn't Volition's intent, but I doubt that has legal weight, and if you disagree I suggest you get an actual legal opinion.
I don't think that's a serious cause for concern, because nobody has cared for 18 years now, it's clear that the SCP is in the spirit of what Volition wanted to allow, and there's no commercial incentive to press the rights for that code. But I think we should all be on the same page here: reliance on the original licence should be limited as much as possible to the original Volition code that explicitly used it.
That brings me around to the topic of SCP licensing, which is even messier. Over the nearly 2 decades of open modification of the engine, few coders have bothered to explicitly licence their changes, and as far as I can tell the general idea has been that it's all under the Volition licence. Even if that was true it'd be a problem, given what I've just said, but in point of fact the SCP has, since 2003,
explicitly left it to authors to set their own licence terms. Arguably this means that the vast majority of the SCP is also unlicensed. This does have one major, obvious practical concern: if a contributor, for whatever reason, wants to rescind permission to use their work, there's no clear licensing to point to to resolve this potentially very costly problem. It is reasonable to expect that when you contribute code to the SCP you do so without strings attached, but there is currently no real agreement to this.
2. What To Do About ItI propose the following measure to clean this situation up to the best extent practical this late in the game.
1. The SCP should pick a suitable permissive open source licence.
2. Going forward, the SCP should require that all contributions to the project use this licence.
3. Existing contributors should be encouraged to licence their historical contributions under these terms.
This will put as much of the project as is feasible under clear licensing terms that allow the SCP's operations to proceed. It won't fix the Volition licence or historical contributions by people who don't opt in but it reduces the size of the problem.
The major question is, of course, "which licence?" My current feeling is that some form of the
Unlicence would be best, allowing essentially unrestricted usage of your code. My main reason for doing this is that even the most permissive conventional licences like the MIT one have explicit stipulations about where to put a licence statement, and I don't know how that would work when you're dealing with random historical changes in git.
There seemed to be general support for these measures when I discussed them on Discord, so I hope this is something that can be widely agreed on and put into action soon.