I am currently writing a game. Leaving aside all the game development things, I want to create a library implementation for its API, basically so I give some random guy on the internet the ability to modify the game without writing source code for it. Currently, the entire game is licensed under the GPLv3 (or later), however, I want the library to use the MIT or another permissive license, so not everybody has to comply with the GPL license to write a simple plugin for it. There are three questions I have:
- Is that even doable under the same project?
- If not, can I write the library seperately, and then make the game link into it always? If yes, does it need to be on a seperate repository, folder or not associated at all with the game?
- Assuming 2 is a yes, are there any catches?
Keep in mind this library is pretty much mandatory for the game to work.