QuiltMC / rfcs

Repository for requests for comments for proposing changes to the Quilt Project.
Other
61 stars 33 forks source link

Quilt Mappings and the Cleanroom #33

Closed OroArmor closed 3 years ago

OroArmor commented 3 years ago

This pull request is about the future of Yarn for Quilt and the issues the development team has noticed with the cleanroom philosophy. Please read the whole RFC before commenting, as we believe that most concerns have been addressed.

Rendered view

TwilightFlower commented 3 years ago

I'm left wondering what the license for the quilt mappings will be, since it doesn't seem to be stated. It says it's likely the CC0 isn't quite valid but doesn't state an alternative.

TheGlitch76 commented 3 years ago

CC0 is valid for what we are doing. (IANAL, this is not legal advice) The CC0 does not make any promises that we actually own what we are licensing under CC0.

What this means is, essentially, we (Quilt) take away our right to sue you (a fork) for using our names, but we don't take away the right of others (Microsoft) from suing you for using names derived from their restrictively licensed ones (Mojmap).

Additionally, in the event Microsoft decides to sue a fork but not Quilt itself, Quilt is not liable for you getting in trouble.

TheGlitch76 commented 3 years ago

I also want to point out that my previous comment applies to Yarn as well, not just Quilt's own mappings. Yarn is also CC0 and is also provably derived from other mappings (to an extent that a court case wouldn't be instantly thrown out).

You already assume the risk of being sued by using Mojmap, Yarn, Parchment, MCP, and even just the act of modding Minecraft itself (see: Nintendo fan games).

TwilightFlower commented 3 years ago

Modding itself isn't something we can be sued for, given that the EULA explicitly allows it except for cracks and cheats. (Nintendo fangames are a different case -- those are usually taken down for trademark violation or for redistributing copyrighted assets.)

LambdAurora commented 3 years ago

Modding itself isn't something we can be sued for, given that the EULA explicitly allows it except for cracks and cheats. (Nintendo fangames are a different case -- those are usually taken down for trademark violation or for redistributing copyrighted assets.)

I think the sentence "even just the act of modding Minecraft itself" refers more to the possibility of the EULA changing, like, they could make modding forbidden in the EULA tomorrow if they wanted.

gdude2002 commented 3 years ago

Thanks for those

FoundationGames commented 3 years ago

I notice that you mention that more projects might start moving to Mojang mappings should they be allowed for discussion in community spaces - this may not necessarily be true. While yes, modders switching from other loaders will more than likely use Mojang's mappings, I don't see many new modders using anything other than what is provided to them in the example mod, and I don't see most Fabric mod developers of conventional mods switching either (provided QM is more familiar to Yarn devs than Mojmap).

OroArmor commented 3 years ago

I notice that you mention that more projects might start moving to Mojang mappings should they be allowed for discussion in community spaces - this may not necessarily be true. ... I don't see most Fabric mod developers of conventional mods switching either (provided QM is more familiar to Yarn devs than Mojmap).

Yes, but while quilt mappings have some inferior names (ie rendering), specific mods might switch mappings just to understand the code better.

TelepathicGrunt commented 3 years ago

I notice that you mention that more projects might start moving to Mojang mappings should they be allowed for discussion in community spaces - this may not necessarily be true. While yes, modders switching from other loaders will more than likely use Mojang's mappings, I don't see many new modders using anything other than what is provided to them in the example mod, and I don't see most Fabric mod developers of conventional mods switching either (provided QM is more familiar to Yarn devs than Mojmap).

I'm planning on switching to mojmap so I can copy/paste code between Forge and Fabric for my mods in 1.17 lol (I'm a pleb that doesn't use arch). What was holding me back a lot was the cleanroom as if I switched my Fabric mod to mojmap, I would have a harder time asking for help or sharing my code to help others.

OroArmor commented 3 years ago

Forge loom does exist, but yes, this is a valid use case

Earthcomputer commented 3 years ago

I don't see most Fabric mod developers of conventional mods switching either

For me, this is because it's a lot of effort to remap an existing large codebase for little benefit, rather than an ideological opposition to mojmap. Auto-remapping lowers the quality of an existing codebase because it doesn't rename local variables and some method names based on existing mappings may no longer make sense, so I don't do it unless the mappings I'm currently using become unfit enough for purpose that it's worth the effort and/or lowering of code quality.

FoundationGames commented 3 years ago

To all those responding to my comment: I am referring to the silent majority of modders, namely new modders or less advanced modders, especially those not touching areas of the code such as rendering, which are much more complex and less well-mapped by Yarn or QM. They are much more likely to use the default mappings provided to them, be that Quilt Mappings or otherwise.

OroArmor commented 3 years ago

@Prospector @TheGlitch76 i added most of your suggestions, could you both give it another pass?

OroArmor commented 3 years ago

Alright, I believe this RFC is ready for its Final Commit Period. A basic summary of the discussion centers around two points, the licensing, which CC0 is still a valid license, and the true cleanliness of yarn in its current state, which while not 100% provable, does seem to have influence from other mappings (String constants included).

Genau6502 commented 3 years ago

I mentioned this on the discord, but has there been consideration of reduced community support/contributioms if half of the community are using mappings completely unfamiliar to the other half?

OroArmor commented 3 years ago

I think it was mentioned above, but quilt mappings will still be the default. Quilt Mappings will strive to be better than MojMap, which is clearly something yarn currently has in most areas (rendering). In addition, the yarn contributors the have migrated to quilt still have a passion in mapping the game. I dont see Mojmap becoming the dominant language unless forge/quilt start becoming massively linked/compatible.

Some personal speculation about it: When quilt mappings no longer has anyone willing to map will be when quilt is dead, people will no longer be supporting the other areas of quilt. There will always be people who want to contribute rather than watch on the side.

Haven-King commented 3 years ago

I believe there has been enough discussion on this RFC to warrant moving into the final comment period.

OroArmor commented 3 years ago

I think lines 53 - 58 explain why the cleanroom can be dropped now @Pyrofab

Pyrofab commented 3 years ago

As I am understanding them, lines 53-58 explain that the cleanroom approach failed. I believe we need to add somewhere visible that based on the provisions of CC0, we are legally safe without extra measures.

Haven-King commented 3 years ago

Looks good to me. I'll merge this in roughly 24 hours if there are no other concerns.

LogicFan commented 3 years ago

Could you explain why do we want to create a new mapping (i.e. QM) instead of switching to Mojang mapping, considering it won't have any license advantage over Mojang mapping anymore?

OroArmor commented 3 years ago

Quilt mappings won't be new. It will be extended from yarn. In addition, yarn/qm has better names than mojmap in a lot of places. Mojmap is also not built as a user centered mapping set, as many names are very old (see the mojmap name for MathHelper) and cannot be changed easily by the community.