Hello everyone.
I’m developing an open-source visual novel engine. And I’m struggling to choose between the two licenses: MIT and BSD 3-Clause. I wasn’t much about licenses until this moment, so I have to ask someone else. Which one should I pick and why, if someone knows?
Thank you in advance.


A simple comparison between the two via interoperable-europe.ec.europa.eu says that they’re almost identical save for one clause around trademarks:
https://interoperable-europe.ec.europa.eu/licence/compare/BSD-3-Clause;MIT
But I’d be remiss if I didn’t advocate for a license that better protected your project from corporate theft. The AGPL and GPL are excellent licenses that protect your work and that of the community from companies that would copy it, improve it exclusively for themselves and then ship your work exclusively in binary form:
https://choosealicense.com/licenses/
Wouldn’t the LGPL make more sense for an engine? Otherwise it would be hard to make a proprietary game (read almost every game) even if you publish any changes you made to the engine.
do mind that (and i’m pretty sure this still works with AGPL but this isn’t gospel) you can have the engine be open source while keeping the assets proprietary and requiring they be purchased to actually sensibly play the game.
This is how the original DOOM works, there’s an ocean of modified doom engines but you still have to buy the assets to play the proper actual DOOM game. You can use alternative asset packs but it’ll look and sound like a fairly different game.
And of course it’s vastly easier to create alternative assets for such a simple game, compared to the labour that would be involved in a larger modern game.
Ooh, yes for for this case, the LGPL would be a good middle-ground for OP’s concerns.
See: https://philiplaine.com/posts/getting-forked-by-microsoft/
That was a frustrating read. Dude gets screwed by Microsoft who effectively steals his code and rebrands it as theirs and then he goes on to talk about why he prefers MIT.
I thought of using GPL, but it would mean someone else would be obliged to open their source code if they base their software on my engine. Though open-source is good and must exist (speaking of Ren’Py, which is not GPL, but still an open-source engine considered a golden standard of VN development), I’d like to give others the right to make their derivative works either open or closed, by their choice.
As for AGPL, I know nothing, unfortunately.
That’s understandable, though one of the other commenters suggested the LGPL which might make for a good fit for your case. Here’s a comparison with the other two if you’re interested.
The AGPL is just the GPL with extra rules requiring sharing the code even if you expose it exclusively via a service.
Okay, thanks for the advice. LGPL might be a good option, I’ll look into it.
See my other comment: https://programming.dev/post/53544261/24909721
AGPL is GPL + network services protection (preventing someone taking your code and spinning up a for-profit selling services without contribution back). If you don’t care about people stealing your code, closing it, and selling services based on it, then there is no need to consider strict copyleft licenses.
Okay, thank you very much. As for now, I hope my engine will be known enough for anyone to recognise the hoax.
Do you know that Apple’s macOS is historically a FreeBSD fork? (They have copied big parts.)
I find it notable that FreeBSD is struggling to stay alive, and Apple’s 1000000000000s of dollars in incomes does not help them at all.
Huh, lol. No, I didn’t know that. One of my friends uses FreeBSD, and he likes it. But yeah, that’s a good point.