FabricMC / community

Docs, tags and orchestration.
Other
10 stars 42 forks source link

A new perspective: A legal and philosophical analysis of recent discussions. #53

Closed thatvertigo closed 3 years ago

thatvertigo commented 3 years ago

Utility Mods

Recently there has been a large discussion as to whether or not utility mods should be tolerated in the fabric community. As someone who is both a utility mod developer, and deeply involved with the actual Hypixel hacked client community, I thought I could offer some perspective. I understand that this is long, but I ask that you read through it with an open mind. I worked hard on this, and would appreciate the courtesy of a chance to change your mind.

Defining our terms, and understanding context

The generally accepted definition of a hacked client is any game modification which offers an unfair advantage to a player over other players. However this definition has its flaws. A mini-map might offer an unfair advantage to a player on a factions server, a toggle-sneak mod might offer an unfair advantage to a player on a mini-games server. The list goes on. The moral of the story here is that unfair advantages are contextual to the gamemode and to the people who you play with.

Thus, the definition shifts from any mod which offers an unfair advantage to any mod which is created with the intent of offering an unfair advantage. Utility mods transparently don't fit this standard. The purpose and feature-set of a utility mod is geared towards a specific gamemode with its own meta, rules, and social standards. To ignore this would be akin to ignoring the laws of different countries, prizing your own as the standard and shutting down the possibility of others existing. This is confirmed when you look at the feature-set and practical use of these mods side-by-side with actual hacked clients. While obviously they share some surface level overlap with actual hacked clients, the feature-set is pretty much exclusive to anarchy (take CrystalAura, AutoTrap, AntiChunkLoad, etc), and the little which might be practical outside of anarchy almost never works on any server with an anti-cheat.

Plato, Aesthetics, and Hacked Clients

I have a large interest in political-science, so channeling my inner-philosopher, I asked myself, in the context of this discussion, what is a hacked client. The logical definition is a mod which offers an unfair advantage, as previously outlined, but this makes no sense. For a case study look no further then ClientCommands by EarthComputer. No one in this community would ever call this a hacked client, even though its feature-set includes things equivalent to ESP and XRay (namely /cfind). The conclusion I came to comes down to aesthetics, the theory of forms, and a platonic ideal of the "hacked client." The thing that makes a hacked client a hacked client has little to do with its feature set, but rather the aesthetic which the mod inhabits. The GUI of draggable panels with expandable settings, the feature-filled HUD with a length sorted mod list, the smooth custom font used to display a watermark. This is what makes the "hacked client." This is an irrational definition. Hacked clients should be defined consequentially, not by an abstract form. At the end of the day all mods come down to one commonality, adding features to the game that weren't there previously. Thus, I propose a challenge. Come up with a definition for a cheat that cleanly includes utility mods and hacked clients, and excludes all other mods, then justify why that category should be banned.

Legal Concerns

The strongest arguments I have seen as of late against the acceptance of utility mods* are legal in nature, claiming that these mods violate both Mojang and Discord ToS. While I am no lawyer, I do have one in my family and I figured I'd consult them, and we both came to the conclusion that these mods are 100% in compliance with both of these agreements.

Discord

Discord's ToS has one main statement which is relevant to this discussion, and it states the following

you agree not to use the Service in order to: (...) develop, distribute, or publicly inform other members of "auto" software programs, "macro" software programs or other "cheat utility" software program or applications in violation of the applicable license agreements;

This clause is implicitly ambiguous as it does not define any terms which it uses and thus the definitions of everything they refer to are hard to interpret. Thus, we must fall back to precedent, seeing what discord has and has not allowed in the past. The track record is abundantly clear: Utility mods are 100% allowed on discord. Servers such as Kami Blue and Impact have been around for years, collectively accruing well over 10k members. Other servers which have been terminated have been re-instated after manual review with a personalized apology letter, and SalC1 is a discord partner, despite solely discussing servers on which these mods are used. Discord has analyzed this situation personally, and made their decision.

Mojang

The legal concerns around Mojang's attitude have mostly come from the following excerpt.

You may not distribute any Modded Versions of our Game or software, and we’d appreciate it if you didn’t use Mods for griefing. Basically, Mods are okay to distribute; hacked versions or Modded Versions of the Game client or server software are not okay to distribute.

On first glance, this seems fairly unambiguous. Hacked clients aren't allowed. However, after a more thorough analysis of this clause disputes this. The larger context of this quote is referring to modifying the game's source-code and redistributing such, not creating a mod which offers an unfair advantage to a given player. This can be seen in the latter half of the last sentence, which clearly specifies modification to the game code itself.

*For the sake of this section I will assume utility mods to be hacked clients, as this is the presupposition on which legal argument is based

Concerns About Bias and Flippancy

Throughout this whole process, me and my fellow developers have felt consistently frustrated by the lack of engagement with which our arguments are considered. We have collectively spent a very long time contemplating and arguing our point, and this effort has not been reciprocated. People who agree with us are consistently blocked and banned, and the issues we make to handle this are closed with counter-arguments that don't address our actual points. We obviously don't expect that you agree with us, but the bare minimum level of consideration seems like nothing more then common decency and mutual respect. As someone who has had their games ruined by hackers many times, I completely empathize with the staff team's apprehensiveness, but I think if all of you took some time to actually read and understand our points, you would find yourselves agreeing with us.

Conclusion

Anarchy has been one of Minecraft's most popular gamemodes since the beginning of multiplayer, and the community does nothing but grow. As 2b2t and other anarchy servers begin to seriously consider upgrading their version to 1.16 or above, it is an inevitability that a large portion of the fabric community becomes anarchy-oriented. All we ask is for reason ability and acceptance within the fabric development spaces. We obviously are not entitled to your help, and all completely respect if you personally feel uncomfortable helping us, but it seems unreasonable to ban our presence all together. Thank you for reading through this, I know it was long and a complicated, but I hope you can walk away with a new perspective on this issue, and maybe even have your mind changed.

Edit (Clarification): This is about presence in fabric communities, not use of fabric itself

B2H990 commented 3 years ago

swag

ghost commented 3 years ago

Great perspective, I hope the fabric community becomes more inclusive of hacked client developers.

srgantmoomoo commented 3 years ago

modmuss how about u hop in a vc with us and we talk, we are not the cheaters that ruin ur experience in game. please stop ignoring us, that's what forge did. we don't support cheaters just like you don't. we don't support them using our software, just like you don't.

thatvertigo commented 3 years ago

Great perspective, I hope the fabric community becomes more inclusive of hacked client developers.

I don't. Hacked client developers have no place in this community. Utility mods are not hacked clients

Gav06 commented 3 years ago

Utility mods are mods for utility

not hacking :P

Col-E commented 3 years ago

I never understood why a developer platform has to have acceptance of niche groups/use cases of their tools. You can use the platform regardless of whether or not you're liked or not. MCP (Minecraft Coder Pack) disallowed it in their terms, but it was used for that purpose anyways ¯\(ツ)\

thatvertigo commented 3 years ago

I never understood why a platform has to have acceptance of niche groups. You can use the platform regardless of whether or not you're liked or not. MCP (Minecraft Coder Pack) disallowed it in their terms, but it was used for that purpose anyways ¯_(ツ)_/¯

Because those in the fabric community are incredibly helpful and knowledgeable, and thus it would be very nice to be able to ask for help and use related resources in the same way as other mod developers.

srgantmoomoo commented 3 years ago

I never understood why a developer platform has to have acceptance of niche groups/use cases of their tools. You can use the platform regardless of whether or not you're liked or not. MCP (Minecraft Coder Pack) disallowed it in their terms, but it was used for that purpose anyways ¯_(ツ)_/¯

how would u like to invest time into a project and support a community just to have them call u a cheater back and ban u and ur peers left and right. how about instead of ignoring the issue straight up and saying "You can use the platform regardless", u actually face the issue and look for a real solution that isn't outright banning users of ur project, because they resemble that of another group and u don't like them.

what happened to the community driven side of fabric?

SilverAndro commented 3 years ago

There's nothing stopping you from making your own fabric community

win32kbase commented 3 years ago

Okay so boo hoo I use your open source project for what I want. What are you gonna do? Come take it off my computer?

SilverAndro commented 3 years ago

No? I'm not sure what point your trying to make

The existing community doesn't support it, so you make your own community

This doesn't have anything to do with you using fabric, no one is trying to stop you from using it

ChiquitaV2 commented 3 years ago

THESE ARE NO THE GOOD OPTICS

win32kbase commented 3 years ago

I just think the whole idea is stupid. Use what you want for what you want. Less whining, and no one should get mad at each other.

srgantmoomoo commented 3 years ago

There's nothing stopping you from making your own fabric community

can u listen to urself please? so ur saying... stay in ur own communities, u can benefit from us but if u come near us we will ban u, even though u did absolutely nothing wrong. that's segregation, that's what America did to the blacks, ignore the issue and throw the ppl who look like the bad ppl out in their own communities, even though they did nothing wrong. ur argument is outrageous.

win32kbase commented 3 years ago

image Looks like you guys already figured this out on another repo

Platymemo commented 3 years ago

Because those in the fabric community are incredibly helpful and knowledgeable, and thus it would be very nice to be able to ask for help and use related resources in the same way as other mod developers.

And you can, for questions that don't relate to hacked clients, cheats, or modifications that are intended to give you the upper hand in a server, competitive or otherwise. If it gives you an advantage over vanilla clients on a specifically vanilla-compatible server, then it's not supported in the community server. It's that simple. If you don't advertise yourself as making a cheat client mod or ask for specific code help that makes it obvious you're developing something that can give a user an unfair advantage, generally, there's no reason someone won't help you. If you want people to stop hating 'utility mods' then that's up to individuals, not the server itself. Bans were done based on insults being used it seems, not due to being cheat client devs.

Platymemo commented 3 years ago

Looks like you guys already figured this out on another repo

As everyone but you seems to be aware, this is about the fabric community not the fabric toolchain.

win32kbase commented 3 years ago

Looks like you guys already figured this out on another repo

As everyone but you seems to be aware, this is about the fabric community not the fabric toolchain.

ok but you gatekeep so????? free for EVERYONE??

srgantmoomoo commented 3 years ago

Because those in the fabric community are incredibly helpful and knowledgeable, and thus it would be very nice to be able to ask for help and use related resources in the same way as other mod developers.

And you can, for questions that don't relate to hacked clients, cheats, or modifications that are intended to give you the upper hand in a server, competitive or otherwise. If it gives you an advantage over vanilla clients on a specifically vanilla-compatible server, then it's not supported in the community server. It's that simple. If you don't advertise yourself as making a cheat client mod or ask for specific code help that makes it obvious you're developing something that can give a user an unfair advantage, generally, there's no reason someone won't help you. If you want people to stop hating 'utility mods' then that's up to individuals, not the server itself. Bans were done based on insults being used it seems, not due to being cheat client devs.

thats not true, i was banned for "repeatedly insulting" after i through a single insult at a group of people who were repeatedly insulting me....

i509VCB commented 3 years ago

The current policy is a no from fabric itself. If you are not developing hacked client mods, nothing says you can't just make a small mod just for it.

The discussion shall stop here, any further issues or pull requests or comments will result in github ban from the organization.