I’ve been working on software to modify a game’s resource files, and I’m planning on releasing it in open source. I’m perfectly fine with releasing my code under gpl v3. However, I’m afraid that that would deter others from writing extensions for my software, as I have had others offer to do so – the community which I’m working with is very much afraid of open source leeches, and as a result, the majority of popular released projects are closed source. As such, I’d be more comfortable with something like BSD or MIT.
The codebase is extremely modular, and one window might consist of the end products of many different plugins. One plugin which I am working with is the work (licensed under gpl v3) of a person who I have communicated with, who was enthusiastic of me using his software. As one other person has contributed to that software, I don’t think he can simply release his source to me under a different license. In the future, I’d like to have more plugins for a variety of things which would be difficult to manually implement (as doing so would require large amounts of reverse engineering).
Tl;dr: As I am in good terms with these people, is there any means for me to use their code as plugins? I would have permission, but licensing would be the issue, since others have contributed to the codebases. If so, would it be okay if i distributed their plugins with my built software (in a plugins folder)? How about placing them in the code repository and visual studio solution?
Any other advice would be appreciated.
Thanks!
You need to ask and see how the copyright assignment (if any) was setup for those other projects. If the lead for the other project had copyright assigned to him or the project, then he would be able to release the code to you for use under a different license.
The copyright owner is allowed to re-release code under a different license. In the case of a GPL’d project, the GPL’d version of the code is allowed (and must!) continue to exist as such. The only real concern there from your point of view is you potentially have a competing codebase. From what you’ve described, that doesn’t sound like all that much of an issue.
If necessary, the owner of the other project can contact the other contributor to gain permission to re-release. Likewise, if the other contributor previously wrote an email to the effect of “Here, have it and do with it as you wish”, then they have effectively assigned copyright to the owner of the project.
Your straits are not as dire as they may appear. 🙂
As the initial software author, you have quite a bit of latitude in determining what the boundaries of your software are. The Linux kernel is GPLv2, and explicitly says that applications are outside its legal copyright boundary.
If you state explicitly that the plugin interface is an external interface and third party plugins are not considered to be a derivative work of your program, then the working of the GPL (and any other license) will stop at that boundary.
Of course, if you also distribute those plugins, you will still have to abide by all their terms. In GPL terms, that’s considered an “aggregate” work, and imposes no additional requirements.