36

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.

top 46 comments
sorted by: hot top controversial new old
[-] sith@lemmy.zip 3 points 1 day ago

I'm a copyleft fan in theory, but...

In practice my experience is that anything GPL actually doesn't benefit the fellow worker/programmer as much. Since the worker probably works for an evil soulless company, he would have to use a different permissive software or buy something proprietary. I.e. if you choose copyleft you provide to a commons that is only accessible to a minority of workers. I also believe that most companies (even big tech) will try to contribute important or significant changes to permissive upstream projects instead of running their own private forks (the latter is much more annoying and expensive).

[-] ArsFireside@lemmy.dbzer0.com 1 points 1 day ago

Okay, thank you for the explanation. Cases can be different here.

[-] somegeek@programming.dev 37 points 2 days ago

Keep your project healthy and alive by using LGPL or some similar FLOSS license instead of MIT. MIT and other permissive licenses are horrible.

[-] ArsFireside@lemmy.dbzer0.com 5 points 2 days ago

Horrible? Okay, then. Can you explain why? I mean, I know that Ren'Py is using MIT, and there are no problems with anything as far as I can tell. So, what's wrong with it?

[-] somegeek@programming.dev 32 points 2 days ago

Permissive license is basically for you and contributors to provide free labour and when mature enough, big corp X can just exploit it and use it for their own benefit off your free labour if needed.

There are actual good and big projects that use permissive licensing that have not been overtaken (postgres for example) but they mostly have very strong, cohesive business and market plan to achieve that, plus the bature of their software.

If your software is actually complicated and useful, don't let corporations exploit it for nothing.

[-] ArsFireside@lemmy.dbzer0.com 12 points 2 days ago

Okay, so it's a threat if I use a permissive license. Thank you very much! I'll think about it.

[-] whatiswrongwithyou@lemmy.ml 20 points 2 days ago

The point of different licenses is the thing you ought to be looking at.

The point of mit is to get the licensed thing used as widely as possible. It breaks down any barriers to use. A good example of something that should be mit licensed is an encryption algorithm. A good example of something that shouldn’t be mit licensed is anything else.

The point of bsd3-clause is to prevent the licensed likeness from being used to imply the creator shares some view or idea. A good example of something that should be bsd3-clause licensed is the royalty free music on youtube. A good example of something that shouldn’t be bsd3-clause licensed is a creative work the author wants to have their name known for.

The point of the various gpl licenses is to create a digital commons that all people can access. A good example of something that ought to be gpl licensed is a game engine you want people to be able to freely use and modify but never make secret changes to sell. A good example of something that shouldn’t be gpl is a game engine you want to eventually sell the code of or make secret changes and sell the code of those.

If my language sounds biased, it is because I have a bias.

[-] SocialistVibes01@lemmy.ml 2 points 1 day ago

I'm bookmarking that comment

[-] ArsFireside@lemmy.dbzer0.com 6 points 2 days ago

That's a good explanation, thank you for teaching me.

[-] victorz@lemmy.world 5 points 2 days ago

Your openness and willingness to learn here is admirable. People are very opinionated about these things sometimes, and you are listening in a constructive and diplomatic way.

Kudos to you for being that type of person. 🤝🫶 You were brought up well. 😉

[-] ArsFireside@lemmy.dbzer0.com 2 points 1 day ago

I'm glad you appreciate it! This made my day!

[-] victorz@lemmy.world 2 points 1 day ago

You having your day made, made my day. 😁

[-] whatiswrongwithyou@lemmy.ml 4 points 2 days ago

Np. It’s easy to just choose the license that is easiest or “fire and forget”, but too many programmers don’t consider what kind of freedoms they want their speech to have and that the license is how you define that.

If you want to know something feel free to ask.

[-] ArsFireside@lemmy.dbzer0.com 2 points 2 days ago

I definitely will.

[-] moonpiedumplings@programming.dev 3 points 2 days ago* (last edited 2 days ago)

The point of mit is to get the licensed thing used as widely as possible. It breaks down any barriers to use

There are no barriers to use, except that you have to share the source code back, and give users the option to modify it. If you use it without modifyiing it, you can just point users to the existing public code.

The only barrier to use is that Apple disallows (A)GPL related libraries in any of their code, published through their main distribution channels to their platforms (mainly talking about apple app store here).

https://www.zdnet.com/article/how-to-avoid-public-gpl-floggings-on-apples-app-store/

But this is ultimately on Apple for not giving users the needed amount of control over their devices to comply with the license. This annoyingly common rhetoric that the GPL itself is a "barrier" or "restrictive" is just blaming the wrong party.

Now, even though I'm more in favor of copyleft, I can understand with the decision to license software or libraries permissively in order to be able to distribute them through the App Store.

gpl licensed is a game engine you want people to be able to freely use and modify but never make secret changes to sell

This is tricky because the GPL is fairly aggressive, and may require the entire game to be open sourced if it's distributed as one bundle. LGPL doesn't fight as hard for users freedoms, but also has some similar issues. Most game developers don't want to open source their games, so I think a permissive license is probably the easiest choice for a game engine.

[-] whatiswrongwithyou@lemmy.ml 4 points 2 days ago

I am a Unix jihad, gpl em all and let god sort em out, rust programmers are compradors type motherfucker but a company not wanting to use your software because of the license is a barrier to use.

[-] ArsFireside@lemmy.dbzer0.com 2 points 2 days ago

Most game developers don’t want to open source their games, so I think a permissive license is probably the easiest choice for a game engine.

That's why I was considering a permissive license in the first place, yes.

[-] vas@lemmy.ml 3 points 1 day ago

Or from the other side, GPL would guarantee that you yourself (and your project's contributors) would still have access even if a good fork emerges.

Things happen over years or decades.

[-] ArsFireside@lemmy.dbzer0.com 1 points 1 day ago

Do you mean that without GPL my access to my own project can vanish?

[-] vas@lemmy.ml 2 points 1 day ago

Your access to a popular and commercial fork might be non-existent. You would maybe not even mind that they're selling your code - possibly just wanting to tune it a bit, since you know how it used to work. But the fork can decide they're proprietary and they won't give you any source code.

[-] ArsFireside@lemmy.dbzer0.com 1 points 5 hours ago

Aah, okay then. Well, it does make sense indeed.

[-] GnuLinuxDude@lemmy.ml 14 points 2 days ago

MIT and BSD are the corporate friendly licenses that say you can take my code and use it and even make it proprietary, as well. So long as you provide attribution, do whatever you want.

If that’s fine by you then choose that license. You can read little summaries here but be advised this page is owned by GitHub and they have an interest in seeing MIT and BSD adoption, so the language they use subtly reflects that IMO https://choosealicense.com/licenses/

[-] ArsFireside@lemmy.dbzer0.com 5 points 2 days ago

Yeah, I've already read it. And yeah, the language is a bit biased, aside of the short explanations not covering too much as for me. So I should look somwehere else.

Nevertheless, thank you for the explanation!

[-] danielquinn@lemmy.ca 26 points 2 days ago

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/

[-] RmDebArc_5@feddit.org 14 points 2 days ago

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.

[-] danielquinn@lemmy.ca 9 points 2 days ago

Ooh, yes for for this case, the LGPL would be a good middle-ground for OP's concerns.

[-] uuj8za@piefed.social 5 points 2 days ago

a license that better protected your project from corporate theft

See: https://philiplaine.com/posts/getting-forked-by-microsoft/

[-] danielquinn@lemmy.ca 5 points 2 days ago

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.

[-] ArsFireside@lemmy.dbzer0.com 4 points 2 days ago* (last edited 2 days ago)

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.

[-] danielquinn@lemmy.ca 15 points 2 days ago

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.

[-] ArsFireside@lemmy.dbzer0.com 8 points 2 days ago

Okay, thanks for the advice. LGPL might be a good option, I'll look into it.

[-] moonpiedumplings@programming.dev 2 points 2 days ago* (last edited 2 days ago)
[-] okwhateverdude@lemmy.world 5 points 2 days ago

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.

[-] ArsFireside@lemmy.dbzer0.com 2 points 2 days ago* (last edited 1 day ago)

Okay, thank you very much. As for now, I hope my engine will be known enough for anyone to recognise the hoax.

[-] vas@lemmy.ml 2 points 1 day ago

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.

[-] ArsFireside@lemmy.dbzer0.com 2 points 1 day ago* (last edited 1 day ago)

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.

[-] Voroxpete@sh.itjust.works 5 points 2 days ago

Out of curiosity, why develop your own instead of contributing to RenPy? Not saying there can't be good reasons, just curious what they are in this case.

[-] ArsFireside@lemmy.dbzer0.com 12 points 2 days ago* (last edited 2 days ago)

Long story short, it all started with an argument between me and a guy who thought only Japanese VN-related anything is usable normally, and that all Western VN-related software (Ren'Py included) are either clunky or laggy garbage. He also gave a Japanese novel engine called Light.vn (don't mind the link, it's the engine name) as an example (there is a killer feature in it: WYSIWYG editor). So I started my engine to prove him wrong.

After some time, I really saw that Ren'Py is not as fast as it was when I started to use it long ago. But that's because it uses modern Python, which is by itself not too fast and lightweight anymore.

That's why I write my engine in C and aim to make it much faster than Ren'Py and with better UX. Not speaking of a desire to create something meaningful myself.

[-] frongt@lemmy.zip 3 points 2 days ago

Might as well use MIT in that case then.

[-] ArsFireside@lemmy.dbzer0.com 1 points 2 days ago

Aha, okay. The same Ren'Py does. Thank you, I'll think about it.

[-] ms_lane@lemmy.world 2 points 2 days ago
[-] ArsFireside@lemmy.dbzer0.com 2 points 2 days ago
[-] slacktoid@lemmy.ml 3 points 2 days ago

Amongst those 2 toss a coin honestly ¯_(ツ)_/¯

[-] ArsFireside@lemmy.dbzer0.com 1 points 2 days ago

What about the non-endorsement clause, then?

[-] slacktoid@lemmy.ml 2 points 2 days ago
[-] ArsFireside@lemmy.dbzer0.com 1 points 2 days ago

BSD 3-Clause.

this post was submitted on 15 Jul 2026
36 points (100.0% liked)

Open Source

47914 readers
220 users here now

All about open source! Feel free to ask questions, and share news, and interesting stuff!

Useful Links

Rules

Related Communities

Community icon from opensource.org, but we are not affiliated with them.

founded 7 years ago
MODERATORS