Sodium

Sodium

35M Downloads

Consider changing the project license to Polyform Shield

jellysquid3 opened this issue ยท 75 comments

commented

The license text of Polyform Shield 1.0.0 can be found here.

Preface

Sodium currently accounts for nearly 41 million downloads across all platforms (CurseForge, Modrinth, GitHub, etc), and has become a significant part of the modding ecosystem. The majority of mod packs for Minecraft released in the past 2 years have included Sodium (or a derivative of it) to improve performance. Many mods which add resource pack functionality and enhanced visuals to the game only have compatibility with Sodium.

Since the initial release, we have provided free updates to Sodium under the GNU LGPL v3, which is a strong copyleft license that ensures when others modify or statically link to our code, they must also share their code alike. This has enabled the community to build software more easily on top of Sodium, which has contributed positively to the overall health of Minecraft modding. We are immensely thankful for this support and the continued investment the community has shown in our efforts.

Issues

Unfortunately, despite the immense value we have provided to the community, we have also endured a long history of abuse and significant difficulty with trying to monetize our project, which has made continuing development extremely difficult.

I don't really want to write long-form about this abuse, but the short version of it is that numerous individuals have constantly weaponized our project against us, by repeatedly threatening that we are easily replaceable, and that we can be cut out of the scene at any time should mod pack authors and alike decide they do not like us. We have always been at the mercy of more powerful individuals, since their response is more or less "we'll fork your software" when we do something they do not agree with.

Lately, this has culminated into larger scale efforts by certain groups, which have been trying to push a third-party fork of our software that more or less only repackages the code we have spent tens of thousands of hours working on, with unfair compensation for our time and effort. We've not been able to successfully push back against this effort, due to these same individuals having connections within larger community, which can drive decisions about mod pack author's selection of software, and the narrative about myself.

Furthermore, this continued campaign against us, which has the ultimate goal of cutting us out of our own project, has resulted in a lot of indirect harassment/defamation towards me specifically. When other projects advertise themselves as the "only version of Sodium which provides value to the community", it gives fuel to other people who already feel that we have personally slighted them by not managing perfect compatibility with all other software.

The truth is that we try very hard to ensure compatibility with the wider ecosystem, and that we are doing what's possible of our resources while still developing new features/optimizations for the people who need them. A significant portion of our time goes towards trying to discover ways to implement these things without disrupting the community. Sometimes we aren't perfect, but it does matter to us a lot.

This is why waking up every morning to see people perpetuating the same vitriol towards me is extremely discouraging and, frankly, upsetting. The fact that other people can use our software for free, cut us out of revenue and recognition for it, and then in the same breath spread the harm they do towards me is not fair in any reasonable world.

While revenue has never been much a prickly point for me (having a full-time job allows you to spend more time on hobbies), the reality is that I have not really been of the state of mind to hold a job for the past few months now, which none of this situation has been helping with. The revenue from projects like Sodium has allowed me to just barely cover rent each month... and that has been dwindling with third-party forks eating into our user base, mostly pushed by mod packs that falsely claim there is a technical advantage or a superior user experience to be had.

For the record: Third-party forks of Sodium currently account for more downloads than Sodium itself has ever received. That means, more often than not, players are using our code via a third-party distribution or fork rather than the official upstream version (which we receive a fraction of the revenue from, if any.) And many of these downloads then come from mod packs, which often purposefully disable or circumvent our prompts to ask the user for financial assistance (donations.)

I've tried to be reasonable with people, and unfortunately, without changing the terms of this agreement, there doesn't seem to be any outcome to this other than me being eventually removed from the project which has arguably helped to redefine much of Minecraft modding.

Solutions

Changing the software license of this project will not end the abuse overnight, but it will take away leverage other people hold over me, and ensure that other people cannot unfairly cut me out of revenue for my projects. The less that I have to think about how every small change we make will result in community outrage that ultimately seeks to rip me apart from my projects, the more time I can spend being productive on the things that players actually want.

The license which most strongly protects our interests seems to be the Polyform Shield license, which is written by an experienced group of lawyers who specialize in software.

For most intents and purposes, this license is significantly more free than the GNU LGPLv3, and can be considered similar to the permissiveness of something like the BSD 2-clause:

  • You can use portions of the source code in your own product without enacting the copyleft requirement, so long as you are not using it to push a product which competes with the original. This makes it easier for hobbyists to use the code in their projects without fear of GPL virality, which is a question we get asked a lot.
  • If the original maintainers disappear, there is a provided contingency (section "Discontinued Products") to ensure the software can still be modified and built upon.

But, it differs in a significant way, which makes it no longer a free and open source software license:

  • You cannot use any portion of the source code or binaries to "compete" with the provider of the software. This means that other people would no longer be permitted to fork the mod and distribute it as a substitute for the original.
  • It would no longer be possible for others to port our mod to alternative loaders/platforms. We will be providing an official version of Sodium for NeoForge in the near future to remove the need for these forks.

For all intents and purposes, this would mean the ability for other players to download, share, and distribute the mod as part of their pack, would be completely unchanged. The changes in licensing would only prevent third-party forks from continuing to cut us out of our own project, which includes ports to other mod loaders and replacements for the original on Fabric.

This issue does not put forth a plan to relicense as much as it proposes the idea with serious consideration. The process for re-licensing the project would be more complex, requiring the approval of a handful of contributors (<7 people) who have made non-trivial changes to the project. It would also not retroactively relicense the code, so older revisions of the source code can still be used under the terms of the GNU LGPLv3.

However, even without approval of the current maintainers, it is possible to include non-free software in the repository as optional modules which are compiled into the final binary which we distribute on our project pages. We would just need to provide a manner to configure the build script to produce a "free" version with these modules disabled at compile time.

Alternatives

There does not really seem to be a reasonable alternative here. The reality of the situation is that working on a mod like Sodium is simply too demanding of my time, while subjecting me to abuse that most people would not put up with. My time must be prioritized where it makes sense, and going back to full-time work (with no time left over for Sodium) is the only logical conclusion if we can't move the project into a better place.

Other comments

The point of this is to say that, more or less:

  • Abuse towards open source volunteers should not be the standard. Licenses do not protect authors, they protect users, and that is not creating a healthy relationship here. The Polyform Licenses change this equation.
  • Free and open source licenses exist to build better software. That goal can still be accomplished while ensuring that other people can not "compete" with upstream by repackaging our code.
  • We can't expect people to provide software, for free, to an extremely large community that practically relies on it as infrastructure.
commented

I, embeddedt, give explicit permission for JellySquid to relicense (under PolyForm Shield 1.0.0) the following PRs and the commits they contain, contributed by me:

  1. #2060
  2. #1842
  3. #2012
  4. #2097
  5. #2121
  6. #2131
  7. #2150
  8. #2158
  9. #2161
  10. #2169
  11. #2170
  12. #2177
  13. #2185
  14. #2173
  15. #2115
  16. #2168
  17. #2254
  18. #2241
  19. #2311 (for completeness; that said, I would never have deemed this particular contribution copyrightable, since it was generated by some scripts I wrote and my customized build of Fabric Loom)

In addition, I give explicit permission for JellySquid to relicense (under PolyForm Shield 1.0.0) the patch from the following commit: embeddedt/embeddium@95235a6, which was upstreamed in a modified form on the 1.20.4/0.6-multiloader branch.

commented

I, embeddedt, give explicit permission for JellySquid to relicense (under PolyForm Shield 1.0.0) the following PRs and the commits they contain, contributed by me:

Why are you authorizing this when you are maintaining an open source fork? You effectively have veto power here and you are using it to sign off on proprietary software. Shame.

commented

Simple answer: we'd rather focus on further Embeddium development than contesting this relicense.

commented

Slay ๐Ÿ’…

commented

(Preliminary) We would need sign-off from the following individuals in order to successfully re-license the project under the terms of Polyform Shield 1.0.0.

The list of contributors has been filtered according to what constitutes as a "non-trivial and copyrightable change."

  • jellysquid3 (~700 commits, ~250k LOC, primary maintainer)
  • IMS212 (~90 commits, ~9k LOC, maintainer)
  • Douira (~5 commits, ~6.5k LOC, contributor)
  • PepperCode1 (14 commits, ~2.5k LOC, contributor)
  • Pajicadvance (4 commits, ~200 LOC, contributor)
  • Technici4n (~3k LOC, contributor)

Further digging will need to be done to ensure that all relevant authors are covered and that we have contact details for each.

commented

Is there any specific reason the Polyform Shield license was preferred over ARR? The Polyform Shield license clearly prohibits the use of code from Sodium in any optimisation mod for Minecraft yet I can't imagine any code from Sodium would have much use outside of that. So it is effectively ARR. If this is the case and I am not mistaken, would it not be clearer to anyone looking to use the code if it was labelled as ARR?

commented

I don't believe that the Polyform Shield license effectively makes it "ARR". Because the source is still visible, can be contributed to, and users have certain rights to use and distribute it. The meaning of "ARR" is "All Rights Reserved", which is obviously incompatible with the idea of giving users certain rights in the first place. So at that point, you're writing a license anyways, and since we're not lawyers, we'd rather defer to an existing license written by professionals in the space.

There may be reasons that a mod author may want to use a rendering system from Sodium, to implement content in their mod, without inherently providing an optimization mod. That use case would likely be fine, since it doesn't compete with Sodium in any way. (Users will not prefer to download your content mod instead of Sodium itself, because it doesn't replace any need for Sodium itself.)

We've also been asked from time to time (i.e. for our rasterized occlusion culling code, which is very general purpose) if other people can use it in other projects under different terms. This would provide a more permissive license for that use case, which may be useful for people implementing their own rendering engines outside of Minecraft.

commented

This would provide a more permissive license for that use case, which may be useful for people implementing their own rendering engines outside of Minecraft.

I'm not sure that I agree with this being fully true in practice. Currently, that rendering engine would have to be licensed under the (L)GPL, though the developer would still have the right to allow usage of code not derived from Sodium under a more permissive license. With the relicense, this would mostly still be the case: distribution of that rendering engine would still carry restrictive terms imposed by Sodium's license. Admittedly, for many usecases, the new terms would be less onerous. However, for many open-source projects, I could see the loss of OSI-compliance as being a bigger deal than the need to provide source code under the terms of the LGPL.

commented

If the original maintainers disappear, there is a provided contingency (section "Discontinued Products") to ensure the software can still be modified and built upon.

The specific phrasing in the license is "a product or service that the licensor or any of its affiliates has stopped providing." While I think this was clearly intended to refer to an SaaS platform shutting down, a literal interpretation would mean that it would only trigger for Sodium if official downloads were taken down.

commented

How would this impact forks of sodium for versions or loaders not officially supported? Examples include older forge/neoforge versions (like 1.16-1.19), pre-sodium forge backports (1.7.10 angelica, 1.16.5 embeddium, I think also a recent 1.12 one in the works?), and similar.

I can understand the issue about direct competitive releases, but I'm concerned regarding the functionality and maintenance of these forks that would otherwise not get direct support.

commented

I know I don't really have much say in what happens with the project but I think it's worth putting my 2 cents into this.
Personally, I am heavily against this change, and I think that a number of people would agree with me that this is a step backwards more than it is a step forwards. If this is a change that actually gets pushed and made, I will be a lot less likely to use sodium and related projects in the future. As you mention, sodium has indeed been a very big factor of the modern day modding ecosystem, and a lot of that has to do with sodium's open license, permitting others to fork it and make code changes. In fact, the modding community as it is today has thrived on the open-source push that has existed on more modern versions. I mean, comparing the modding community to bukkit-based versions of the game, the experience here is a whole lot better because we don't have to pay for random plugins, we can view and audit the source code, and most importantly, fork projects and make changes to them that simply wouldn't be possible in a world without permissive licenses such as MIT and GPL. Overall, I am a firm believer of FOSS software, and I don't really agree with this license change that prohibits users from being able to modify code in ways that they would like.

Aside from this, I have a number of criticisms with things that you mention in your post:

Third-party forks of Sodium currently account for more downloads than Sodium itself has ever received. That means, more often than not, players are using our code via a third-party distribution or fork rather than the official upstream version (which we receive a fraction of the revenue from, if any.)

This is a very misleading thing to say. Yes, it is 100% true, rubidium and embeddium account for ~42 million downloads on Curseforge alone (~43M if you include Modrinth) while sodium has ~31 million downloads on curse (~39M including downloads from modrinth). However, you are leaving out the key piece that sodium does NOT have any forge/neoforge port whatsoever as of right now. Currently, there is no first party support for forge/neoforge whatsoever, and that is the only reason why this is the case at all. I haven't even heard of another sodium fork on fabric, meanwhile, if I want to get decent performance with >50-100 mods downloading rubidium or embeddium is a necessity. And I would much rather download a first party version of sodium than deal with the number of bugs that I have experienced on the current forge ports which I have never really had on sodium apart from early alpha builds way back when sodium was first being developed. With rubidium specifically, there's a bug in 1.20.1 which straight up makes the game unplayable for me, which was never fixed. I can almost guarantee that if a first party forge/neoforge port existed for sodium, this issue would be almost gone.

We have always been at the mercy of more powerful individuals, since their response is more or less "we'll fork your software" when we do something they do not agree with.

This sounds more like empty threats to me. It's unfortunate that this is a thing, and I get where you're coming from. I don't really know the extent of the harassment you've been getting, and I therefore can't really be speaking that much about it, but ultimately every big project is going to get at least some criticisms/harassment, especially one that has over 30 million downloads. Apart from the harassment though, I don't really think that most of what you have been getting is nearly as much as you make it out to be, in the sense that people would make forks and/or rid sodium. People can say that they will fork a project all they want, but with a project like sodium, it takes a lot of technical know-how to be able to actually make good, stable optimizations; people that fork projects like this will always be behind upstream, and features from sodium will likely be much more stable than these forks. In addition to this, users tend to catch on when they find out the truth behind projects like this and over time these forks will likely end up being criticized. Also, if this is really just a repackaged version of sodium that you're talking about here, there's no way more people are going to be using it. I mean, with me personally, when I first heard of using embeddium over rubidium, I just wanted to stick with rubidium because embeddium was a lot smaller and I didn't entirely trust that it was really that different; it was only when things in rubidium stopped working for me and I learned more about the developer's other projects that I decided to switch over. I think that it's safe to say that the majority of sodium's user base is fairly passionate about the work that has been done with sodium, and has sympathy for the developers. There's always going to be people that unreasonably criticize projects and stuff, but most people don't really have a reason to. You've done great work!

Changing the software license of this project will not end the abuse overnight, but it will take away leverage other people hold over me, and ensure that other people cannot unfairly cut me out of revenue for my projects.

As an individual, this is a change that would make me much more hesitant to include sodium in any project that I use, or to use sodium at all. I personally am highly against mod developers that insist on making their mods closed-source or taking away people's ability to make forks of software, and to me when a mod developer does this it is a sign that they care more about themselves and their own pride than about the community and the actual people that are using their mod. To be clear, I am in no way trying to harass or otherwise say bad things about sodium and its related projects, without them I would be stuck with optifine (ugh) and a severely worse experience, and I am very grateful for projects such as this. However, a change such as this that takes away the rights of users to make forks and stuff is just a big red flag for me, and probably much of the open-source community as a whole.

Additionally, I don't see how this would do anything to counteract the negativity and harassment towards the project. There are still going to be people that criticize things, and this does absolutely nothing to counteract this. If anything, this is a change that could result in MORE backlash, due to the nature of the change being made.

You cannot use any portion of the source code or binaries to "compete" with the provider of the software. This means that other people would no longer be permitted to fork the mod and distribute it as a substitute for the original.

Competition is not a bad thing? Competition is a healthy thing that ultimately results in an improvement to the ecosystem as a whole. And again, with these "forks" that are just repackaged versions of sodium, if they don't provide any immediate benefit, then I am not switching to them, and at the end of the day, they are completely dependent on sodium. If sodium dies, they will die along with it. However, by doing this, you're also stopping forks of sodium that actually do have a net benefit to the community, either by adding new features, improving performance, enhancing mod compatibility, etc. (and don't forget because the GPL is a copyleft license, these could all be merged into sodium!).

Free and open source licenses exist to build better software. That goal can still be accomplished while ensuring that other people can not "compete" with upstream by repackaging our code.

Free and open source licenses exist to build better software. Therefore, we are removing the ability for others to be able to release forks of, and improve the software for others. That's what this speaks of to me.

Anyway, that's most of what I have to say about this change, anything else I would have to add would be repeating myself more than I already am. It's unfortunate that there are people out there that like to harass developers like this, but ultimately I think that this license change harms the community more than it does good. I am personally very much against it and if this really is the direction this project is headed in, I don't think I'll be supporting or using this project in the future.

commented

How would this impact forks of sodium for versions or loaders not officially supported? Examples include older forge/neoforge versions (like 1.16-1.19), pre-sodium forge backports (1.7.10 angelica, 1.16.5 embeddium, I think also a recent 1.12 one in the works?), and similar.

The license explicitly states that "Goods and services compete even when they provide functionality through different kinds of interfaces or for different technical platforms."

commented

How would this impact forks of sodium for versions or loaders not officially supported? Examples include older forge/neoforge versions (like 1.16-1.19), pre-sodium forge backports (1.7.10 angelica, 1.16.5 embeddium, I think also a recent 1.12 one in the works?), and similar.

The license explicitly states that "Goods and services compete even when they provide functionality through different kinds of interfaces or for different technical platforms."

So then these forks would have to be shut down or require to pay some form of license to continue operating?

commented

No. Any existing forks will forever be legal. The only thing that is changed is the ability to bring in new changes from Sodium, which may or may not be allowed.

commented

No. Any existing forks will forever be legal. The only thing that is changed is the ability to bring in new changes from Sodium, which may or may not be allowed.

So basically versions of sodium before the license change would stay in the old license, but versions going forward would not?

commented

Correct.

commented

Personally, i disagree with this change, as part of the whole idea with FOSS is that others can fork the project, if there are forks that are genuinely bad for the project, it would be better to have it taken down via external means, such as requesting the devs to remove it

commented

Correct.

I see. That's a significantly better outcome then, because if it was retroactive, it would likely cause significantly more backlash and negativity within the modding community at large. A lot of modpacks in older versions are reliant on sodium forks for performance reasons, especially if they want to expand their performance intensive features of the pack and keep it generally accessible to people.

commented

So then these forks would have to be shut down or require to pay some form of license to continue operating?

Quick second reply to this: There is no "paid license"; the single requirement is that the fork does not compete with Sodium. If someone can search for Sodium and use your mod instead on the same version, it's probably competition.

commented

So then these forks would have to be shut down or require to pay some form of license to continue operating?

Quick second reply to this: There is no "paid license"; the single requirement is that the fork does not compete with Sodium. If someone can search for Sodium and use your mod instead on the same version, it's probably competition.

So then this here that someone else responded with:

The license explicitly states that "Goods and services compete even when they provide functionality through different kinds of interfaces or for different technical platforms."

is not accurate in this case? Like could angelica backport something from sodium in the new license code, since angelica is for 1.7.10 and Sodium is (i'm assuming) not planning to support that version in the future?

commented

Practically speaking, there is no risk that someone wanting to download Sodium would prefer to use Angelica on a very old version of Minecraft. That serves a completely different category of users and the platform is so different that no competition could ever possibly exist.

Of course, the present revision of Sodium's source code would remain licensed under the LGPL, so they could continue to use that without issue. And where there is confusion, we can always talk with other people directly to clear this up and give special grants of license where needed (which no doubt the authors of Angelica are already used to, given how old these mods are.)

But when it comes to porting the mod to other mod loaders (especially on the same version of Minecraft), the argument that it's "not competing" becomes unlikely.

The presence of a third-party fork which runs on alternative mod-loader, especially for a current version of Minecraft, will almost certainly de-incentivize using the upstream version, because the alternative platform has greater momentum and existing market share. This is largely the same issue with companies like Amazon pushing SaaS offerings for other open source software.

commented

However, for many open-source projects, I could see the loss of OSI-compliance as being a bigger deal than the need to provide source code under the terms of the LGPL.

This is possible. Personally, I don't see it being any worse than GPL virality other than for the fact that it isn't OSI-compliant. Because in the general case, most mods are not GPL licensed, and the current copyleft clause is engaged if you directly link the source/binary code into your project.

That said, not being OSI-compliant may (and probably will) introduce hesitation when it comes to using our code, as most people are not lawyers or willing to deal with licensing. But in terms of actual obstacles for real-world use, one does not seem worse than the other.

And really, I think this is an acceptable trade-off to make either way. We've only seen the occasional usage of our code in other projects, and in almost all cases, those people have asked for license grants other than LGPL, anyways.

commented

Practically speaking, there is no risk that someone wanting to download Sodium would prefer to use Angelica on a very old version of Minecraft. That serves a completely different category of users and the platform is so different that no competition could ever possibly exist.

Of course, the present revision of Sodium's source code would remain licensed under the LGPL, so they could continue to use that without issue. And where there is confusion, we can always talk with other people directly to clear this up and give special grants of license where needed (which no doubt the authors of Angelica are already used to, given how old these mods are.)

But when it comes to porting the mod to other mod loaders (especially on the same version of Minecraft), the argument that it's "not competing" becomes unlikely.

The presence of a third-party fork which runs on alternative mod-loader, especially for a current version of Minecraft, will almost certainly de-incentivize using the upstream version, because the alternative platform has greater momentum and existing market share. This is largely the same issue with companies like Amazon pushing SaaS offerings for other open source software.

That's good clarification regarding older versions, which is good to know. I do want to ask about your specification about modern versions. Are you meaning versions in which sodium exists in any medium, even if it's an outdated version?

Example, would forking and backporting the code under the new license be considered an issue for forge 1.16-1.18, assuming there aren't plans to have official multiloader sodium support for those older-but-still-modern versions? And if that is an issue, are you planning to include that support in the future, or will those versions be forced on forks with only the older license's code?

commented

So then these forks would have to be shut down or require to pay some form of license to continue operating?

Quick second reply to this: There is no "paid license"; the single requirement is that the fork does not compete with Sodium. If someone can search for Sodium and use your mod instead on the same version, it's probably competition.

That's not what the license says. Directly quoting the license,

Competition

Goods and services compete even when they provide functionality
through different kinds of interfaces or for different technical
platforms. Applications can compete with services, libraries
with plugins, frameworks with development tools, and so on,
even if they're written in different programming languages
or for different computer architectures. Goods and services
compete even when provided free of charge. If you market a
product as a practical substitute for the software or another
product, it definitely competes.

commented

However, for many open-source projects, I could see the loss of OSI-compliance as being a bigger deal than the need to provide source code under the terms of the LGPL.

This is a real issue. It appears that Rubidium does in fact ask for donations, which is not cool, but Embeddium does not. I would find it very unlikely that Embeddium and the Embeddium dev has the intent to actually cut anyone from Sodium out of their own project. They seem to be active in contributing to issues on Sodium itself. It also seems like Embeddium has even made an effort to keep Sodium's donation button in game.

Can you actually provide examples or details of how Embeddium has "this continued campaign against us, which has the ultimate goal of cutting us out of our own project"? I am fairly certain if that NeoForge version came out for 1.20+, Embeddium would likely either quickly disappear or work to merge any changes back into upstream.

However, I want to make it clear that this is not designed to be a kind of "attack" or "campaign" against Sodium. Just pointing out the dangers if choosing to migrate to a non-OSI approved license. It could very well backfire and blow up as it is for Redis right now.

You cannot really blame the community for wanting and making a Forge port that gains more downloads than Sodium does when Forge is significantly more popular than Fabric is. I absolutely understand why Sodium does not want to support Forge and it is very clear the rest of the Forge community understands that as well, hence why NeoForge exists today. I just have not seen any reason to believe Embeddium is doing anything to take control away from Sodium. In fact, it seems like Embeddium exists to take control from Rubidium and restore control back to Sodium instead.

Anyways, long winded reply aside, I think it would be a great idea to first release a 1.20+ NeoForge port of Sodium before making any choices about moving away from OSI licensing. I may be wrong about Embeddium, but I think you may find the community supports you a lot more then you might think. Sodium has contributed an astronomical amount to the Minecraft community to actually bring us away from Optifine.

commented

As much as I understand the reasoning, I don't think this license is right. If someone wishes to improve upon the existing sodium codebase, especially for an unsupported version, how will that be addressed? Is it "competing" with sodium if it's patching bugs in a version of sodium that's no longer maintained? Why can't we backport content to versions you don't work on anymore? I feel like there's a lot of issues with this license due to the nature of Minecraft and how it's a live-service game you are modding. Unless you can patch up these holes I'm not sure if I agree with the change.

commented

Furthermore, I'd like to add that making a change like this will simply give the people antagonizing you more fuel for fire. I don't think it would end well from a harassment standpoint either.

commented

As much as I understand the reasoning, I don't think this license is right. If someone wishes to improve upon the existing sodium codebase, especially for an unsupported version, how will that be addressed? Is it "competing" with sodium if it's patching bugs in a version of sodium that's no longer maintained? Why can't we backport content to versions you don't work on anymore? I feel like there's a lot of issues with this license due to the nature of Minecraft and how it's a live-service game you are modding. Unless you can patch up these holes I'm not sure if I agree with the change.

As jelly has said earlier

And where there is confusion, we can always talk with other people directly to clear this up and give special grants of license where needed (which no doubt the authors of Angelica are already used to, given how old these mods are.)

You can always ask for permission or even contribute towards sodium instead of making your own fork

commented

If someone wishes to improve upon the existing sodium codebase, especially for an unsupported version, how will that be addressed?

Most patches do not require Sodium to be distributed wholesale again. It remains possible for "addon mods" to apply mixins to an existing version of Sodium, which is in fact how mods like Iris and Nvidium work.

Is it "competing" with sodium if it's patching bugs in a version of sodium that's no longer maintained?

The license explains regarding discontinued works...

## Discontinued Products

You may begin using the software to compete with a product
or service that the licensor or any of its affiliates has
stopped providing, unless the licensor includes a plain-text
line beginning with `Licensor Line of Business:` with the
software that mentions that line of business.  For example:

> Licensor Line of Business: YoyodyneCMS Content Management
System (http://example.com/cms)

We do not intend to block the ability of people to patch and update versions of Sodium which we no longer maintain, but in every case I can imagine, simply providing an addon mod (the status quo) which mixins to Sodium would be enough, and would not interfere with the non-compete part of the license.

commented

Furthermore, I'd like to add that making a change like this will simply give the people antagonizing you more fuel for fire. I don't think it would end well from a harassment standpoint either.

Honestly,โ€”and this hasn't been said enoughโ€”people need to learn to stop harassing FOSS devs for not meeting their demands.

commented

I also want to add: It's not the fault of JellySquid or any of the developers in CaffeineMC the harassment that has occurred, and spreading FUD about every single one of JellySquid's decisions is not the best course of action and will only worsen the harassment. More specifically, it is the actions of the community that results in the harassment, and it seems that open source communities favor cancel culture and intimidation when their privileges to fork and receive consistent updates are threatened.

commented

Quick question: if you're not okay with forks that "compete" or whatever it is you've been going on about, why did you make Sodium open source in the first place? You had to know that forks would exist if you made Sodium open source. Deal with it.

commented

Also, license changes can't be retroactive so those forks will not die like you want them to. The whole endeavor is a complete waste of time.

commented

The entire point is for future work to be licensed under something else. It does not matter about past versions and realistically if the forks did not make commercial use out of sodium this would not be an issue. Also, this license is still "open source" depending on how you define that especially if you consider the GPL open source.

commented

... and to me when a mod developer does this it is a sign that they care more about themselves and their own pride than about the community and the actual people that are using their mod.

My pride and ego is not a relevant factor of it. Which anyone who is close to me would tell you. And because I don't really care what people think about me anymore, there's no point in hiding facts to save myself from continued ridicule from people who accuse me of being [negative adjective].

Shortly after it was announced that Sodium would no longer be "maintained by the original authors", I would attempt to take my life. The only thing people were given is a GPG signed message saying that development had ended.

My absence for two weeks after was, as you could imagine, the resulting aftermath of injury and other people very suddenly being forced to intervene. My employer would spend the next week trying to contact my parents, looking for an explanation as to why I just stopped showing up for work. (Which, by the way, is related to that whole "suddenly not having a job anymore" issue.)

And to this day, there are still weekly wellness checks on me from family, because the people close to me legitimately cannot understand what it is I am internalizing.

People, no matter what, are always going to accuse me of being a manipulative liar who seeks out personal gain above all else. There will always be comments on Reddit threads which desperately try everything in their power to punish me for asking anything in return for my software.

But singling out these random forum commenters makes no difference. The point is that, there are many others hiding in plain sight, interacting with this very thread, pretending they've had no involvement in what led to any of the emotional turmoil that surrounds me.

And there is a community around them which refuses to push them out, and which shows no remorse for the way modders are burned in the name of Free And Open Source software.

Because you should be doing this for the community.

How dare you not prioritize the community.

In general, it is impossible for me to speak out about abuse, because the second that I so much as take a stand against it, many people will jump at the chance to turn it around on me.

No matter what you do, it's your fault. You should not have cared so much. You should not have replied the way you did, because even though their behavior is obviously unacceptable under any reasonable system, it's "unprofessional" and "should have been handled privately." Posting anything at all about the events as they happened is "witch hunting" and "targeted harassment."

And obviously, this is entirely your fault, because seven months ago you had a bad day, and was mildly abrasive to someone unrelated, and that allowed other people to form their entire opinion on you based on a retelling of the events that had passed through six different people already.

As of this exact moment, these same kind of people are participating in drama servers (a disgusting term if there ever was one), where they are actively searching for ways to falsely send DMCA takedowns to our project, to do anything in their power to make this as painful as possible.

These problems are not in my head. I'm not having a lapse of judgement or turning ant hills into mountains because it's convenient or benefits me. These afflictions are not because my ability to handle criticism and third-party forks is poor, it's because other people see no issue with the regular abuse that I face every day from every angle. Just because you might see "isolated incidents" and "the regular noise of the internet" doesn't mean, together, in context, that this abuse does not have serious consequences for the people who maintain software.

You do not perceive the world the same way as me, and that is the fault of nobody. I'm not asking you to see it my way, either. I'm just saying that these terms suck, and I want people out of the system who freely benefit from my work while taking every effort to make my life more insufferable.

Changing the license to my project doesn't need a justification. I didn't need to write to the other primary contributors of this project and beg for them to bend reality, because they see the exact same things that I go through every day, and are just as sick of it as me.

The arrangement was never that people would receive free code from me for the end of all time. It was always my software, and the license would not be permission for others to later try to take away from me the thing they had no real involvement on.

I'm sorry if people feel betrayed because they were under the impression this arrangement was indefinite. I hope that, whether or not you are aware that you are using my software, that you benefit from the time and energy that we have put into it.

commented

this license change prohibits users from being able to modify code in ways that they would like.

No, it doesn't, it prevents competition. You may modify the code however you want, the issue is only with the distribution. The license itself is more free than the GPL other than that clause. You can still modify the code for personal use within the GitHub platform and even use the code in other projects as long as they don't compete commercially.

The wording in this license is so vague that you could easily stretch this to say that providing any way at all for somebody to use your fork instead of Sodium is competing commercially. As the license says

Goods and services compete even when provided free of charge. If you market a product as a practical substitute for the software or another product, it definitely competes.

The author also says:

If someone can search for Sodium and use your mod instead on the same version, it's probably competition.

So yeah, if you modify Sodium for your own use and put it on github you're competing. I don't see how you could viably use the code in another project without competing either.

commented

So yeah, if you modify Sodium for your use and put it on GitHub you're competing. I don't see how you could viably use the code in another project without competing either.

GitHub provides you with a license to distribute the software on their platform. Both parties (Sodium and you) agree to that when you use the website to upload software.

commented

this license change prohibits users from being able to modify code in ways that they would like.

No, it doesn't, it prevents competition. You may modify the code however you want, the issue is only with the distribution. The license itself is more free than the GPL other than that clause. You can still modify the code for personal use within the GitHub platform and even use the code in other projects as long as they don't compete commercially.

don't have to pay for random plugins, we can view and audit the source code

This is not relevant but most Bukkit plugins that do that are violating the GPL since the Bukkit API is GPL.

sodium does NOT have any forge/neoforge port

This exists on another branch and is coming soon.

you're also stopping forks of sodium that actually do have a net benefit to the community

The amount of people who contribute back to the project or fork the project and provide a benefit other than repackaging and perhaps a few patches for another mod loader and publishing on a site and using it commercially is pretty low... Most forks of Sodium if they do provide extra mod compatibility it is usually at the cost of performance and/or disabling features entirely in Sodium when the actual solution would be to fix the mod itself. If you can find any examples of a sodium fork that is "improving performance" without just removing features, I am unaware of it.

"free" and open-source licenses such as the GPL are not exactly free. The GPL is not free as in price or freedom, it is a copyleft license that gives everyone permission for distribution.

commented

No, it doesn't, it prevents competition. You may modify the code however you want, the issue is only with the distribution. The license itself is more free than the GPL other than that clause. You can still modify the code for personal use within the GitHub platform and even use the code in other projects as long as they don't compete commercially.

Distribution is the main problem here. This license change discourages people from being able to modify sodium's code in a way that could benefit the modding community as a whole. Let's say that I have a modpack and there is some part of sodium that is crashing my game, or I want to modify how the screen looks to make it coherent with the rest of my pack. Before, I am allowed to make a custom fork of sodium, make these changes, and then include them in my modpack. Now, if I want to publish my modpack with this version of sodium that I have modified, I have to either: a) make a pull request and hope that it gets approved (and with the second scenario they definitely wouldn't), or b) somehow get permission to make a fork, which the license doesn't allow. Yes, I know this isn't the best example because of mixins and all that but you get my point. People can't do things like this anymore, and it discourages innovation and improvements to the mod and the scene as a whole unless you're a contributor who knows the code base well enough and works closely with the other developers of the mod to make code changes that would get approved/merged.

This exists on another branch and is coming soon.

Doesn't change the fact that saying that third party forks of the mod have more downloads than sodium itself is a misleading thing to say. Yes, these forks are in development right now (which is a good thing!), but I can't download them and put them into my game right now, nor was I able to any other time in the past except for early versions of phosphor/lithium I believe. If a fork of sodium had been released 3 years prior, sodium would have double the amount of downloads it has now. My point isn't that it's bad there isn't a first party forge version of the mod; I am saying that you can't say that a platform that isn't supported has more downloads than one that is, especially considering that forge has at least a similar if not bigger userbase compared to fabric.

The amount of people who contribute back to the project or fork the project and provide a benefit other than repackaging and perhaps a few patches for another mod loader and publishing on a site and using it commercially is pretty low... Most forks of Sodium if they do provide extra mod compatibility it is usually at the cost of performance and/or disabling features entirely in Sodium when the actual solution would be to fix the mod itself. If you can find any examples of a sodium fork that is "improving performance" without just removing features, I am unaware of it.

Just because there are forks that do these things right now doesn't mean there can't be any in the future. And improving performance isn't the only way that sodium can be improved. Although a neoforge port is being planned, that doesn't stop the fact that ports like rubidium and embeddium have been a really important part of the modding community; if this license was something that was put into place 2 or 3 years ago, when a forge port was absolutely not going to happen, what would have been the alternative? Or, what if development slows down on sodium and some breaking change happens in minecraft that results in the mod taking a lot longer than expected to update? The mod would still be in development, and as such, this new license would prevent someone from making a quick port that, although might not be perfect, would at least result in a better experience than would be the case otherwise. And if you want examples other than just people porting to different versions/modloaders, take sodium's compatibility with iris. For a while, there was a custom separate port being maintained and distributed that was required during development for the 2 to be able to work together. Once again, if the licensing was changed earlier, something like that would be a lot harder to pull off as you can't distribute a different version of the mod, even if its just for testing and debugging and such. If a developer needed to do something similar for a mod that wasn't as big of a deal as iris, there is a good chance it wouldn't have ended up working at all.

commented

For a while, there was a custom separate port being maintained and distributed that was required during development for the 2 to be able to work together.

I know about this, because I was in charge of making it. The Mixin approach is much easier and cleaner.

Using Mixins (instead of forks) to make changes benefits everyone; no one loses downloads, and changes are more stable.

commented

I do want to also support that the reasoning behind alternative forks having more downloads than sodium is extremely misleading, and honestly seems to be a huge reason behind the license change. That's a major red flag to me personally, because the main reason that those forks existed in the first place was a lack of a 1st party sodium version for forge. Sodium making a (neo)forge version now does not counter to the fact that a sodium has not made one since 1.16, when sodium was first released, and that the demand for one led to the popularity of these sodium forge forks.

I honestly think that if the main concern here is regarding whether sodium gets proper support and success, the answer isn't to monopolize future development through a restrictive license. Rather it's to expand the current mod to other platforms (as is being talked about), and letting players decide on what mod to use and support by their own free will.

If Sodium gains better mod compatibility innately and joins forge to great acclaim? Then good! Forks won't have the demand to make one, and the issue about forks taking over sodium's download count / monetization becomes mute. If forks are still popular for earlier versions like 1.19 or 1.16? Backport them with those improved features regarding mod compatibility or being multiloader!

Not only would there be significantly less controversy or backlash, but you'd likely gain more praise and a strengthened support based on the product you provide. But at the same time if there's some niche issue that leads to a fork which gains popularity, that's then a demand that should be rectified within sodium itself, so that fork's need becomes obsolete. Not hardline removing it through legal means, because that only makes the entire ecosystem more cutthroat and less collaborative. And you'll be way more prone to community backlash, personal attacks by random people on the internet due to the internet's innate volatility, and generally it'll worsen probably the sodium team's mental wellbeing and their financial status, too.

commented

Using Mixins (instead of forks) to make changes benefits everyone; no one loses downloads, and changes are more stable.

There are still likely times when a port might be better than just a mixin. I am not really that knowledgeable in minecraft development, and am probably not qualified enough to be talking about this, but I can at least say that modifying code directly is a lot easier in many situations (with limited experience at least), and especially if you're doing something like modifying code just for your modpack I don't see why this is a thing that should be blocked by the license. Even if it's not a common thing, it should still be something users should be allowed to do.

commented

I support this change, and think it can go a long way towards addressing the issues plaguing the project and open source more generally. The reality is that the free software analysis has been rendered dull and the stewards of the movement seem to have little interest or ability to sharpen it. They can't even figure out what open source actually means in the first place, the software freedom conservancy's lawyers argue in court that the GNU project and their own FAQs on the GPLs "are inaccurate and irrelevant legal conclusions by non-attorneys" and thus inadmissible, it's a mess. Non-corporate maintainers are increasingly failed by the model as well as the platforms its practiced on, and burn out is becoming the rule rather than the exception. Polyform Shield addresses these problems, the LGPL doesn't even engage with them.

Also I'm consistently disappointed with the standards of behavior in many peripheral communities. It's upsetting but not surprising to see a friend treated this way. I don't respect it.

commented

I support this change but wonder how it'll affect vulkanmod. It's cool the work they're doing and I'd rather it not get shutdown, it's exciting seeing all that could be.

commented

seems like a good license ๐Ÿ‘

commented

But singling out these random forum commenters makes no difference. The point is that, there are many others hiding in plain sight, interacting with this very thread, pretending they've had no involvement in what led to any of the emotional turmoil that surrounds me.

And there is a community around them which refuses to push them out, and which shows no remorse for the way modders are burned in the name of Free And Open Source software.

Because you should be doing this for the community.

How dare you not prioritize the community.

In general, it is impossible for me to speak out about abuse, because the second that anyone does, it's immediately turned around on the victim as being "witch hunting" and "targeted harassment." Even though as of this exact moment, these same kind of people are participating in drama servers (a disgusting term if there ever was one), where they are actively searching for ways to falsely send DMCA takedowns to our project, to do anything in their power to make this as painful as possible.

These problems are not in my head. I'm not having a lapse of judgement or turning ant hills into mountains because it's convenient or benefits me. These afflictions are not because my ability to handle criticism and third-party forks is poor, it's because other people see no issue with the regular abuse that I face every day from every angle. Just because you might see "isolated incidents" and "the regular noise of the internet" doesn't mean, together, in context, that this abuse does not have serious consequences for the people who maintain software.

this abuse is real. I have witnessed it. This is not an isolated incident.

I support this decision. I'm actually starting to consider this license for my own work.

when nothing matters but the community you will be left with nothing but the community.

people will twist this decision, people will harass you over this.

I see what they do for what it is. and I am angry.

it is not deserved. It never was, it never will be. Fuck them.

You have inspired us. You are someone we respect. I hope this change brings you peace. And if it doesn't? Run, run and don't look back.

I am so tired of watching people we respect, our friends, and our loved ones be burnt by this community, abused by this community, suffer because of this community, and have their flame die out because of this community. They just tried to give.

- violet.

commented

I don't personally agree with this relicense, or with the constant claim that Embeddium is a mere repackaging of Sodium. Believe it or not, there's a reason some modpacks have switched over to Embeddium.

Nonetheless, I hereby do grant permission to relicense my contributions.

commented

As someone who's tinkered with Sodium code in ungodly ways via mixins in the past, I greatly respect the work that has been put into the mod as a whole. I'm in full support of this change, and hope that it can help Sodium mitigate the broader issue of 'authors as assets' that the MC modding community seems to be so fond of.

commented

I support this change but wonder how it'll affect vulkanmod. It's cool the work they're doing and I'd rather it not get shutdown, it's exciting seeing all that could be.

VulkanMod is an entirely different codebase, thus not affected.

And to clarify further as this is relevant to other things, even if it were using Sodium code, it would be then-LGPL-licensed code. Thus, existing code that build off current LGPL copies of the mod could continue to exist and apply their own changes and features + redistribute according to the terms of the LGPL as things are now.

They just couldn't use new Sodium code without complying with the new license, which is more restrictive.

Similarly, new code/mods could still build from older LGPL-licensed Sodium code. But they couldn't pull in new code without complying with the license. This is mostly relevant to forks or other redistributions.

Also gotta love people making absurd readings of the license, an evergreen reminder that being a software developer doesn't make you understand law or copyright.

commented

semi-minor nitpick: won't Perimeter be more appropriate here? from a cursory glance the only major difference seems to be:

Any purpose is a permitted purpose, except for providing any product that competes with the software or any product the licensor or any of its affiliates provides using the software.

(the italicized portion is absent in Perimeter)

that seems like a pointless restriction for Sodium, and I'd take the simpler-worded Competition clause and the above clause from Perimeter if just for the clarity of reading.

commented

The relevance of shield vs perimeter depends on what form the newly licensed code takes, at one point having it in a separate addon was discussed in which case it would be quite relevant, if the whole repo is re-licensed then less so, and if it's isolated to optional modules within the repo also probably less so, but regardless shield is what's been proposed and it seems unlikely to make much difference.

Also there is a draft of a simpler v2 of shield https://writing.kemitchell.com/2023/11/19/PolyForm-Shield-v2-Draft.

commented

I don't like that no ports would be allowed. IMO if they don't take donations and keep the regular donation button in, upstream all applicable contributions, and provide proper credit, then there is zero harm done to Sodium. But it is very good for users. I think it was mentioned that the upcoming NeoForge port will be for new versions only. Forge is a famously slow to update platform (or at least was, idk how much it's changed), so many users will still be using older versions of Forge. Technically they could use older versions of Sodium with the old license, but that's not ideal.

And the license mentions what happens if Sodium stops being maintained, but what if only a specific version stops being maintained? For example, the 1.16.1 version is no longer maintaned by CaffeineMC, yet the speedrun.com community still updates a fork of it since they still use that version of Minecraft. Something like this would no longer be possible with newer versions of Sodium, at least not without an explicit exception given by CaffeineMC.
I see this was mentioned now

Edit: Would a port to a different mod loader or different version be possible using a mixin mod?

Edit 2: I forgot about the payment that comes from Curseforge and Modrinth. If a fork donated all revenue from Curseforge and Modrinth to CaffeineMC, would it be allowed?

commented

@rbits0

We do not intend to block the ability of people to patch and update versions of Sodium which we no longer maintain, but in every case I can imagine, simply providing an addon mod (the status quo) which mixins to Sodium would be enough, and would not interfere with the non-compete part of the license.

commented

So yeah, if you modify Sodium for your use and put it on GitHub you're competing. I don't see how you could viably use the code in another project without competing either.

GitHub provides you with a license to distribute the software on their platform. Both parties (Sodium and you) agree to that when you use the website to upload software.

That is true, but can be misundestood (and I have seen a lot of people misunderstanding it): Yes, you can distribute the source code of your fork in github. But no, you can not distribute the binaries of your fork on github (or maven, or jenkins or whatever other site that hosts jars).

Github EULA allows you to fork any public project, people can contribute to your fork and anybody can download the sources of your fork and compile the mod on their own. But there is a provision in Gitlab EULA that you must have the permissions/rights of any content you upload that you don't own, and with the new license you would NOT have the permission to distribute the binaries as it would be a product in direct competition to Sodium.

Anyway, I'm a firm believer that each project must/should have the autonomy to license their code whoever they choose, and the community will decide how to react.

commented

You can use portions of the source code in your own product without enacting the copyleft requirement, so long as you are not using it to push a product which competes with the original.

I think it would be important to clarify, in any later public announcement, that this means that portions of the source code cannot be used under any OSI/FSF-approved terms, as these tend to be pretty strict about prohibiting restrictions on the type of product such code can be used in - see OSD's 6. No Discrimination Against Fields of Endeavor, or FSF's "freedom zero". This effectively limits usage of Sodium's source code to other non-FOSS projects.

Remember, also, that "licenses only stop the honest people". Non-mainstream modding communities (imageboards, Russian forums, etc.) have maintained unauthorized forks of even wholly proprietary mods in the past. No amount of license changes can prevent unscrupulous people from doing so - at best, they can guarantee such people will be relegated outside of the mainstream modding community. Even corporations with limitless legal funds and professional legal departments have trouble shutting down unauthorized forks, let alone relatively powerless individuals. To avoid disappointment, I feel that it's vital to understand the limitations of license-based enforcement - even in our community, it happened to RedLogic, it happened to Thaumcraft 4, it happened to Immersive Engineering, and many others.

(Also, I wonder if this license may require you to use a CLA for future contributions. Who offers the terms for contributed functionality?)

Nevertheless, as the person holding significant personal responsibility for this aspect of Minecraft modding culture, I believe you have the inherent and inalienable right to do with your labor whatever you feel is appropriate. No mod or port is worth someone's life.

commented

Non-mainstream modding communities (imageboards, Russian forums, etc.) have maintained unauthorized forks of even wholly proprietary mods in the past.

It's mostly about distribution platforms, which do care about licenses. Unauthorized modding communities are largely relegated to irrelevance, especially financially. An existing example of this is the distribution of mods in China where the DMCA doesn't work and there isn't anything to be gained from fighting them anyway.

commented

Github EULA allows you to fork any public project, people can contribute to your fork and anybody can download the sources of your fork and compile the mod on their own. But there is a provision in Gitlab EULA that you must have the permissions/rights of any content you upload that you don't own, and with the new license you would NOT have the permission to distribute the binaries as it would be a product in direct competition to Sodium.

Anyway, I'm a firm believer that each project must/should have the autonomy to license their code whoever they choose, and the community will decide how to react.

GitHub EULA states:

To the extent there is conflict between the license terms covering the Open-Source Components and this EULA, the terms of such licenses will apply in lieu of the terms of this EULA.

commented

To be clear; This license change does not impact the rights given to you by GitHub to fork and edit your fork; only redistribution of said fork and binaries.

commented

To me this shows that OSS licenses are sometimes chosen without realizing their impact and what this actually allows others to do. Having a really permissive license allows for a lot of freedom and customization, but it also allows to remove donation buttons and redistribute it however anyone wants.

If you are not okay with these terms anymore, changing them for further updates is a valid option if the main contributors agree.

The reported harassment of (open source) developers is not okay at all.

Any complaints (mostly not here) telling anyone they would need to continue providing things for free or keeping the status quo are delusional.

commented

I, IMS212, hereby agree and consent to having my contributions to the Sodium project be relicensed under the new terms of the Polyform Shield 1.0.0 license, irrevocably and without exception.

commented

I, pajicadvance, hereby agree and consent to having my contributions to the Sodium project be relicensed under the new terms of the Polyform Shield 1.0.0 license, irrevocably and without exception.

commented

We are temporarily limiting interactions with the repository to people who have previously contributed to the project, in order to prevent unnecessary engagement as this circles around the internet. The vote bombing on issues is recent (within the past few hours) and comes from very specific communities.

Most questions about the terms of the licensing agreement have been answered, and I have been collapsing them as "resolved" to help focus discussion (read: not banning users who ask questions.)

commented

As of the time of posting this, my plan going forward is to relicense the project under the Polyform Shield 1.0.0 terms, with approval of the aforementioned contributors (which we continue to look through to make sure all parties are contacted.)

commented

I, douira, hereby agree and consent to having my contributions to the Sodium project be relicensed under the new terms of the Polyform Shield 1.0.0 license, irrevocably and without exception.

commented

I want to clarify some points of confusion that have been shared online regarding this decision.

"Sodium will no longer be free, and it's going behind a paywall!"

No. We are not putting the mod behind a paywall. Users can still download and use Sodium with as they were before, and mod pack authors can continue to include Sodium without concern. When we say the new license is no longer "free and open source", we are saying that our license does not comply with the trademark that is "free and open source".

The source code to Sodium will still be publicly available. You will be able to use this source code for pretty much all intents and purposes unless that purpose is competing with us. We will not take down existing versions of our mod, or otherwise charge people to use the mod. The current revision of the source code prior to this change, of course, will still remain licensed under the GNU LGPLv3.

"They are threatening to end development unless they're paid more."

No. Although, this one could probably be attributed to me not being clear enough in the original post. What I'm saying is that either the abuse we're receiving needs to stop (which we hope to achieve by the changing of the license) or the economics of the situation need to make sense in order to justify putting myself through it.

"This license is a crayon license, or is no different than 'All Rights Reserved'. Also, the terms are obviously unenforceable."

The Polyform project consists of a group of lawyers with over a hundred years of combined experience with licensing software. There is no reason to believe that the license is unenforceable, when many other software projects have similar non-compete clauses.

Yes, the license has favorable terms for the author of the software. That's by design.

"The license prevents any competition in the Minecraft space!"

No. The license only governs how our source code can be used. If you create another optimization mod, with your own original work, the license has no bearing on what you do.

commented

I, 0-x-2-2, hereby agree and consent to having my contributions to the Sodium project be relicensed under the new terms of the Polyform Shield 1.0.0 license, irrevocably and without exception.

I am aware that my current changes in upstream Sodium can most definitely be used under fair use but this also includes my open pull request which the answer is more vague but probably the same thing.

commented

I find it utterly disappointing how the modding community tries its hardest to push good developers away.
I find the somewhat negative response to this change stupid as it doesn't affect anyone beside a small group of people who are actually causing this change in the first place. I wish everyone who has made this mod possible the best

commented

I MeeniMc hereby agree and consent to having my contributions to the Sodium project be relicensed under the new terms of the Polyform Shield 1.0.0 license, irrevocably and without exception.

As 0-x-2-2 stated for himself, my changes are still pending prs and mostly would qualify as small/fair-use, but there is no harm in clarifying preemptively.

commented

I, Grayray75, hereby agree and consent to having my contributions to the Sodium project be relicensed under the new terms of the Polyform Shield 1.0.0 license, irrevocably and without exception.

commented

... and to me when a mod developer does this it is a sign that they care more about themselves and their own pride than about the community and the actual people that are using their mod.

My pride and ego is not a relevant factor of it. Which anyone who is close to me would tell you. And because I don't really care what people think about me anymore, there's no point in hiding facts to save myself from continued ridicule from people who accuse me of being [negative adjective].

Shortly after it was announced that Sodium would no longer be "maintained by the original authors", I would attempt to take my life. The only thing people were given is a GPG signed message saying that development had ended.

My absence for two weeks after was, as you could imagine, the resulting aftermath of injury and other people very suddenly being forced to intervene. My employer would spend the next week trying to contact my parents, looking for an explanation as to why I just stopped showing up for work. (Which, by the way, is related to that whole "suddenly not having a job anymore" issue.)

And to this day, there are still weekly wellness checks on me from family, because the people close to me legitimately cannot understand what it is I am internalizing.

People, no matter what, are always going to accuse me of being a manipulative liar who seeks out personal gain above all else. There will always be comments on Reddit threads which desperately try everything in their power to punish me for asking anything in return for my software.

But singling out these random forum commenters makes no difference. The point is that, there are many others hiding in plain sight, interacting with this very thread, pretending they've had no involvement in what led to any of the emotional turmoil that surrounds me.

And there is a community around them which refuses to push them out, and which shows no remorse for the way modders are burned in the name of Free And Open Source software.

Because you should be doing this for the community.

How dare you not prioritize the community.

In general, it is impossible for me to speak out about abuse, because the second that I so much as take a stand against it, many people will jump at the chance to turn it around on me.

No matter what you do, it's your fault. You should not have cared so much. You should not have replied the way you did, because even though their behavior is obviously unacceptable under any reasonable system, it's "unprofessional" and "should have been handled privately." Posting anything at all about the events as they happened is "witch hunting" and "targeted harassment."

And obviously, this is entirely your fault, because seven months ago you had a bad day, and was mildly abrasive to someone unrelated, and that allowed other people to form their entire opinion on you based on a retelling of the events that had passed through six different people already.

As of this exact moment, these same kind of people are participating in drama servers (a disgusting term if there ever was one), where they are actively searching for ways to falsely send DMCA takedowns to our project, to do anything in their power to make this as painful as possible.

These problems are not in my head. I'm not having a lapse of judgement or turning ant hills into mountains because it's convenient or benefits me. These afflictions are not because my ability to handle criticism and third-party forks is poor, it's because other people see no issue with the regular abuse that I face every day from every angle. Just because you might see "isolated incidents" and "the regular noise of the internet" doesn't mean, together, in context, that this abuse does not have serious consequences for the people who maintain software.

You do not perceive the world the same way as me, and that is the fault of nobody. I'm not asking you to see it my way, either. I'm just saying that these terms suck, and I want people out of the system who freely benefit from my work while taking every effort to make my life more insufferable.

Changing the license to my project doesn't need a justification. I didn't need to write to the other primary contributors of this project and beg for them to bend reality, because they see the exact same things that I go through every day, and are just as sick of it as me.

The arrangement was never that people would receive free code from me for the end of all time. It was always my software, and the license would not be permission for others to later try to take away from me the thing they had no real involvement on.

I'm sorry if people feel betrayed because they were under the impression this arrangement was indefinite. I hope that, whether or not you are aware that you are using my software, that you benefit from the time and energy that we have put into it.

that is wild. not tryna be mean but that is wild

commented

I, PepperCode1, hereby agree and consent to having my contributions to the Sodium project be relicensed under the new terms of the Polyform Shield 1.0.0 license, irrevocably and without exception.

commented

This is now completed as we have relicensed the project to the Polyform Shield 1.0.0 terms.

While we have made our best effort to contact all authors with significant changes and ensure there are no objections to the license change, the possibility for error is non-zero. If you are a contributor to the project who was not been contacted, and you wish to object to this change in license, please send me an email so that an agreement can be reached. Thanks.

commented

This isnt off topic

commented

I belive that this is a bad change. If someone just rebrands your work, they dont get to be on modrinth. As per this change i will not use sodium again if a good compeetitor comes out. I hope someone forks the gpl codebase and maintains it. This will also mess up the SRC mods fork of sodium as it can be said to apply there.

commented

Simple answer: we'd rather focus on further Embeddium development than contesting this relicense.

but this change messes up embedium as it says forks to a new modloader are not allowed.