Skip to content

Instantly share code, notes, and snippets.

@kyrptonaught
Forked from FxMorin/ScummyMods.md
Last active May 30, 2022 21:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save kyrptonaught/90b27e9413c298cc9358c61640ba1711 to your computer and use it in GitHub Desktop.
Save kyrptonaught/90b27e9413c298cc9358c61640ba1711 to your computer and use it in GitHub Desktop.
The Scummy Behavior of Debugify

Introduction

Let me start by clarifying that the following doesn't exclusively apply to Debugify, but they serve as an excellent illustration of the heinous behavior outlined in the following. The mods in question shall therefore be collectively referred to as "Scummy Mods".

Scummy Mods are mods that incorporate or outright copy foreign code bases, without permission from the original author. They commonly state to either "replace" or "include" the original work, if any mention is given at all. Developing a mod is not easy. Many mod creators sacrifice significant chunks of their personal time and resources to their creations, essentially for free. Curseforge offers a symbolic compensation for the hours poured, but it's usually insignificant and just a nice bonus.

The Problem

The majority of the original projects are still in development. Since the creators behind Scummy Mods typically do not understand the code they copied to begin with, they lack the knowledge required to eliminate the bugs that will inevitable arise in any development project. The only option left is therefore to wait for the original author to update their work. It is for this reason that a single copy of code is in most cases not the only one.

After multiple cycles of updating on the original authors side followed by "updating" on the Scummy Mod authors side, many authors cease working on their project, leaving the code in an unrefined state and missing out on any potential support. When this happens Scummy Mods carry over the imperfections left in any unfinished project. Since the Scummy Mod cannot fix these themselves, they either stay or get even worse. Both of which could be avoided, by simply not interfering with the original project and allowing the author to finish their work in an orderly manner. Note that the license of the original projects often allow this practice, atleast legally.

The worst part, in my opinion, is that they frequently take code from projects that are currently being maintained, meaning that someone is still working on it to keep it updated. This is extremely frustrating for those still working on it, as it saps their motivation, resulting in a worse implementation within the Scummy Mods than it could have been, due to the development of the original mod haulting.

The Mod Merging Problem

I can understand the appeal of bundling mods. Either way, there is no performance boost to be gained in doing so. In reality all these do is introduce problems non-existant in a singular mod solution, such as compatibility conflicts. The quality of the individual pieces is also degraded, as bundling features also bundles their respective maintenance time. Unfortunately more features does also equal more downloads and by extension more revenue, thus keeping Scummy Mods alive.

They're taking money from smaller developers who put in more effort into that code than the Scummy Mod developers ever will, for personal gain.

The Solution

If bundled mods are desired regardless, modpacks provide all of the upsides, with none of the downsides. To ensure maximum mod quality, both present and future, Scummy Mods should be boycotted in favor of modpacks. We can try to raise the issue with mod distribution platforms such as CurseForge and Modrinth, informing them about these mods and preventing them from destroying the mod ecosystem.

TL;DR

Scummy Mods are essentially "replacing" or "including" other people's hard work for personal gain by copying and pasting their code into their mods. As a result, the original mod developer loses interest in working on these mods, as well as compensation for the time they spent developing them and the motivation to continue improving and working on them, resulting in a worse implementation within the Scummy Mods.

Written by: Fx Morin Reviewed by multiple mod developers

Personal Notes

From: Fx Morin

I will now be writing a message in my mods, specifically stating that I do not allow Debugify to copy any code from them. I'm sick and tired of seeing them take mods that my friends have created and seeing them lose hope. If you decide to take someone else's code, you are the ones responsible to test and see if it even works. I have found multiple implementations in Debugify that simply do NOT work, which I know since I was the one to write the code analysis on Mojira in the first place and already made a fix in Carpet-Fixes, yet somehow Debugify's implementation only fixes half of the problems. Its only good fixes are the ones either taken from me or someone else.

After talking to many of the affected devs. I've noticed its worse then it seems, not only do they take the implementation although they also prevent you from being able to use the original (better) implemention due to mod conflicts...

Even with mods that are as simple as two mixins, only one of them might actually be copied, without the required license header, then creating a mod conflict and locking people out of the rest of the functionality of the copied mod.

Similar to foce-close-world-loading-screen, tooltipfix was marked as being "replaced" by this mod. While I do not have a problem with this, I do not consider this to be a replacement. I believe the images below speak for themselves. Debugify takes a different approach to fixing tooltips, which is fine in it's own way(They say its for bedrock parity). But the users ability to choose to to use tooltipfix was taken away, they simply cannot. Debugify lists tooltipfix as a hard conflict. So you cannot use both mods, even if you disable Debugify's fix. This is the part I do not agree with.

But hey that's fine, ToolTipFix is a dead mod, and features nasty inefficient mixins.

I like to stay out of drama and do not mean for any of this to be an attack, so please do not perceive this as such.

Debugify ToolTipFix
Debugify ToolTipFix
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment