Skip to content
This repository has been archived by the owner on Apr 9, 2024. It is now read-only.

License change #31

Merged
merged 5 commits into from
Jul 5, 2022
Merged

License change #31

merged 5 commits into from
Jul 5, 2022

Conversation

setzer22
Copy link
Owner

@setzer22 setzer22 commented Jul 5, 2022

I never quite felt the MIT license correctly represents what I want for this project. Recently, I have learned about weak copyleft licenses and, in particular, the MPL 2.0 and I've decided to make the switch for a variety of reasons.

Blackjack is made as an open source tool for the community, and I want it to remain open source for everyone to use. With permissive licenses like MIT, anyone could fork, add improvements and keep them proprietary, benefiting of the hard work that has been put into it so far. I am not happy with this possibility: I believe Blackjack itself should remain open, and all contributions to it must be made open so they can benefit the majority of its users.

Nevertheless, Blackjack is a tool aimed at indie game developers, and it would not be viable to ship it with your game if I were to choose a strong copyleft license like the GPL 3. This is why I've chosen a weak copyleft license, and one where the copyright applies on a source-file level. What does this mean? This means you can include Blackjack into your game by static linking, dynamic linking, copying all the source files in your app, or whatever other means come up with. And in doing so, all of your game code remains yours: This is not a viral license, using or shipping blackjack with your game will not require you to open source any of your code, and you can still sell copies of your game which include part (or all) of Blackjack's source code in it. There's only one catch: If, while developing your game, you edit one of Blackjack's source files in any way, you are required to disclose and share those modifications with the community.

I believe this is a fair compromise of a license which gives enough freedom Blackjack's target audience to use it in any way they want without major restrictions, but prevents exploitation from bad faith actors to some degree.

Last, but not least, and perhaps more excitingly: The change to MPL enables including other MPL (and other compatible) licensed software! In the very short term, this means I'll be taking a look at libigl to bring boolean operations and UV unwrapping algorithms into Blackjack, at least until someone takes the time to rewrite them in Rust 🦀

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant