Regarding Sodium/Embeddium

Upon @jellysquid3 joining my Discord server, they informed me of some dubious code that prevents modification of Embeddium's code at runtime unless you are "blessed". Mixins can suck in a quickly updating mod, but if your APIs suck people are going to mixin-in to your mod. This to me seems like an intentional walled garden approach, and that's the opposite of the GPL.

My official stance is:
- I will not tolerate Embeddium's blatant disregard for GPL freedoms DESPITE being under a GPL license. Embeddium's behavior is a GPL violation IMO. Mixins into your mod aren't the best thing, but GPL freedoms (which Embeddium has to provide) are not being respected here.

-I will tolerate Sodium's Polyform Shield License 1.0.0 since it at least allows mod authors to actually be able to take advantage of its license. Sodium being "monopolistic" is not as relevant as I originally phrased it since most won't need to fork it. It sucks you can't (without being sued), but Sodium doesn't need to respect GPL freedoms, since its license is not a GPL family. It mostly does, more than Embeddium at least.

- Embeddium will not make a return to the mod pack, unless:
- Embededdt removes the code and publicly apologizes.
- Sodium stays on Polyform Shield.

- None of these options are perfect, but I find Sodium's license less damaging to the modding community than Embeddium's.

I hope you understand. Thanks for reading this far. This section was updated 2024-7-27 to consolidate the information in a more clean way.

Update: 2024-11-10

It has come to my attention that embededdt has removed the restriction on mixins (Discord link). The game will not crash, but instead the logfile will just note the mixin-ing mods, saying you should bug them before the Embeddium devs, and the Embeddium version will just turn red in F3. I count that as an apology. It's also completely fair, similar to how the Linux kernel handles kernel modules doing unconventional things or options that do so.

However, embededdt has stepped down as maintainer of Embeddium due to harassment from the CaffeineMC community under the grounds of stealing code from Sodium. He states he has not done this, and I will take his word since I'm just trying to take a stance for a garage-project modpack.

Fortunately, @FiniteReality has opted to continue Embeddium, and hopefully will release a Fabric port. Then, Embeddium will return and Sodium will be removed from the modpack.

Updated official stance:

  • Since Embeddium now fully respects GPL freedoms, with the anti-mixin code being gone, I will add it into the modpack when it reaches Fabric, being compatible with the goals of my modpack, Epinephrine.
  • Sodium does not respect GPL freedoms and goes against the goals of my modpack. I only have it in because it is crucial to performance. PolyForm even admits that the PolyForm Shield License is not "open-source", much less "libre". This goes against my personal values and of course, the modpack's goals.
  • Sodium will remain until Embeddium returns to Fabric. Then, once a consistency of Fabric releases is achieved, I will no longer tolerate Sodium's licensing scheme and violation of GPL freedoms, even if it is not obligated to under the GPL.

TL;DR: Sodium will stay until Embeddium gets to Fabric, then it will be replaced with Embeddium.

Edit

Pub: 10 Nov 2024 11:06 UTC

Edit: 15 Jul 2025 09:53 UTC

Views: 77