Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pollymc-unwrapped: init at 8.0 #325889

Closed
wants to merge 2 commits into from
Closed

pollymc-unwrapped: init at 8.0 #325889

wants to merge 2 commits into from

Conversation

s0me1newithhand7s
Copy link
Contributor

Description of changes

added s0me1newithhand7s into maintainers-list.nix.
added new package pollymc-unwrapped into nixpkgs/pkgs/by-name/po/pollymc-unwrapped.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@github-actions github-actions bot added the 8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` label Jul 9, 2024
@s0me1newithhand7s
Copy link
Contributor Author

i'm really sorry for being such a dumb person but this is like my second time working with git not for creating dots or smth like this.. thanks y'all for patience!

@s0me1newithhand7s s0me1newithhand7s marked this pull request as ready for review July 9, 2024 16:01
@s0me1newithhand7s s0me1newithhand7s marked this pull request as draft July 9, 2024 16:23
@s0me1newithhand7s s0me1newithhand7s marked this pull request as ready for review July 9, 2024 18:22
@JohnRTitor JohnRTitor requested a review from getchoo July 10, 2024 03:51
@JohnRTitor
Copy link
Contributor

Result of nixpkgs-review pr 325889 run on x86_64-linux 1

1 package built:
  • pollymc-unwrapped

Copy link
Contributor

@JohnRTitor JohnRTitor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Built on aarch64-darwin as well.

johnrtitor@darwin01 ~ % nix build "github:nixos/nixpkgs/refs/pull/325889/merge#pollymc-unwrapped" --print-out-paths
/nix/store/fhxw97rnd6vi5vq3669kvqcrsn4ff4nz-pollymc-unwrapped-8.0

@JohnRTitor
Copy link
Contributor

Result of nixpkgs-review pr 325889 run on aarch64-linux 1

1 package built:
  • pollymc-unwrapped

Copy link
Member

@getchoo getchoo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is largely going to be a copy and paste of my comment in #313011, which itself is based on pollymc

According to the README, one of the main features of pollymc is that

Offline mode doesn't require an account.

Per Mojang's EULA:

When you buy our games, that means you can download, install, and play them. For the server version of Minecraft: Java Edition, you can install it on a server and host online play.

However, you must not distribute anything we've made unless we specifically agree to it. By "distribute anything we've made" what we mean is:

  • give copies of our game software or content to anyone else;
  • make commercial use of anything we've made;
  • try to make money from anything we've made; or
  • let other people get access to anything we've made in a way that is unfair or unreasonable.

And so that we are crystal clear, "the game" or "what we have made" includes, but is not limited to, the Services, plus any other games we might publish in the future. It also includes updates, patches, downloadable or Marketplace content, add-ons, or modified versions of a game, part of those things, merchandise, audio-visual content, or anything else we've made.

I feel giving access to the game itself with no verification of ownership most definitely falls under letting others get access to it "in a way that is unfair or unreasonable." It seems this is this project's specific intention as well given the description of it being a "DRM-free Prism Launcher fork", along with it including not-so-subtle references to what is being done here

image

IANAL, nor am i trying to endorse taking this project down or anything like that; however, the possibility of violating local laws here and the clear violation of mojang's EULA (which applies regardless of jurisdiction and is the responsibility of the launcher in this case) leads me to highly recommend against this being merged

At best, this launcher (and distributing it on cache.nixos.org) is in a legal grey area. At worst, this launcher and it's inclusion would be enabler for those wishing to pirate Minecraft. This could be quite a risk for nixpkgs that i don't think is worth the benefits given upstream has a flake

Lastly - and aside from everything previously discussed - this launcher is unmaintained. As of today, it's last commit was 8 months ago and since then projects like the aforementioned Fjord have stepped up as a replacement. I don't see much point in adding a package that's in this state

@s0me1newithhand7s
Copy link
Contributor Author

so.. what do i need to do?
close PR?

@JohnRTitor
Copy link
Contributor

There are Discord clients like Vencord (allows some paid features such as screensharing in 1080p) available in Nixpkgs using that obviously goes against Discord's TOS. Hosting modded versions of popular applications have been common to GitHub. If Minecraft wants to take down pollymc and its derivatives, I think they would strike the code repo first.

I am all for changing the license to Minecraft launchers in nixpkgs to lib.licenses.unfree.

@s0me1newithhand7s
Copy link
Contributor Author

s0me1newithhand7s commented Jul 10, 2024

There are Discord clients like Vencord (allows some paid features such as screensharing in 1080p) available in Nixpkgs using that obviously goes against Discord's TOS. Hosting modded versions of popular applications have been common to GitHub. If Minecraft wants to take down pollymc and its derivatives, I think they would strike the code repo first.

I am all for changing the license to Minecraft launchers in nixpkgs to lib.licenses.unfree.

you just came and save me, thank you sooo much. :D
and I am also for changing the license, sounds fair and reasonable.

@getchoo
Copy link
Member

getchoo commented Jul 10, 2024

so.. what do i need to do?
close PR?

This is what i recommend. I am by no means an arbiter in this, though

There are Discord clients like Vencord (allows some paid features such as screensharing in 1080p) available in Nixpkgs using that obviously goes against Discord's TOS.

Did I ever say that wasn't also a legal grey area and isn't a risk to nixpkgs?

Hosting modded versions of popular applications have been common to GitHub.

Let's call a spade a spade: this isn't a "modded" version of a popular application, this is a cracked version. The main reason it exists is to remove DRM inline with Mojang's EULA and allow for online play with no ownership of an account via alternative auth servers. I'm not sure why we're trying to act as if it's anything different

Regardless, how does something being hosted on GitHub mean it's ok? ..I don't understand your point here

If Minecraft wants to take down pollymc and its derivatives, I think they would strike the code repo first.

They could at any point, and I wouldn't be surprised if they did. Why should we wait for this and risk an incident with them?

I'd also be concerned by setting this as a precedent. Following the logic here and above: should we just start packaging any code off GitHub? What if the code is stolen? Leaked from a proprietary company? I don't think basing these decisions off companies not taking down repositories yet is at all viable long-term.

I am all for changing the license to Minecraft launchers in nixpkgs to lib.licenses.unfree.

This wouldn't make much sense -- plenty of launchers are FOSS and do not include unfree assets, including this one. The actual issue with this package and why it shouldn't be built is not because it's "unfree", but because it would make nixpkgs complacent in breaking a third party's EULA and it may be illegal in some users' areas. Conflating unfree software with this is a misuse of the license attribute

I would also like to reiterate: this is unmaintained software. It is out of date by almost a year and has been forked by a common contributor. Even if you can look aside the many legal issues with this package, I would highly advise against merging this as it will be dead on arrival. As an alternative I would recommend waiting on (or making) the follow up PR to #313011, where Fjord - the aforementioned fork of this project - was packaged. It no longer has many (any?) of the legal issues mentioned here as it re-added DRM, but still keeps the more legal features of pollymc such as support for FTB modpacks and alternative auth servers

@s0me1newithhand7s
Copy link
Contributor Author

I would also like to reiterate: this is unmaintained software.

let's ignore DRM part and focus on this. pollymc works? yep. user can play minecraft? yep.
in case fn2006 does not show in 4 mounths - someone, if not me, will fork it. isn't delete package easier than add?

@getchoo
Copy link
Member

getchoo commented Jul 10, 2024

let's ignore DRM part and focus on this

I don't think we should really ignore it considering it's implications...but sure, for the sake of this reply

pollymc works? yep.

Some things work. Many things also don't. From it's last release based on Prism, polly has not received fixes/updates required for

  • Not showing Microsoft refresh tokens in the log
  • Working "Sort by" filters in the Modrinth dialog
  • Support for Neoforge modpacks from Curseforge
  • Resolving issues with settings resetting after saving
  • Support for mod info from Neoforge versions >= 20.5
  • Preventing multiple crashes
  • Fixing many encoding issues
  • Importing vanilla Technic modpacks
  • Uploading screenshots to imgur

This is just a handful of changes from the last few minor releases (keep in mind a major release of Prism is also soon) of Prism upstream and doesn't include any bugs that may be unique to polly. These issues will also continue compounding long into the future with how rapid the pace of the modding community is

pollymc in this PR specifically also isn't in a great state, as only having an unwrapped variant basically restricts this to more advanced users who know how to override Prism's wrapper

user can play minecraft? yep.

*without owning the game

in case fn2006 does not show in 4 mounths - someone, if not me, will fork it.

As I said in my previous response, this has already happened. Once again:

As an alternative I would recommend waiting on (or making) the follow up PR to #313011, where Fjord - the aforementioned fork of this project - was packaged. It no longer has many (any?) of the legal issues mentioned here as it re-added DRM, but still keeps the more legal features of pollymc such as support for FTB modpacks and alternative auth servers


isn't delete package easier than add?

Considering it could break end user configurations, I wouldn't say it's much easier at the very least; I don't see how this matters though. Requesting to add a package you already plan on possibly removing just a few months later (which may or may not be before the branch off into 24.11) isn't a very good practice, and imo the discussion of it is another good sign this shouldn't be merged

@s0me1newithhand7s
Copy link
Contributor Author

s0me1newithhand7s commented Jul 10, 2024

the ONLY reason to close i agree with, from this point, is PollyMC being outdated. np! fork -> package -> PR. of course this will take some time, but provide the option. needed option, whatever you say, my friend.

=> i won't close it. i'll start search for suitable alternatives, and consider that deleting package isn't as smooth as i thought - i insist on merge.

@wegank wegank added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Jul 10, 2024
@Scrumplex
Copy link
Member

All the EULA/licensing concerns aside, as @getchoo already mentioned multiple times, this is unmaintained software and as such should not be packaged if there are maintained alternatives.

@pluiedev
Copy link
Contributor

Playing devil's advocate a bit here — we have launchers that offer offline mode like HMCL in Nixpkgs already. If we were to follow the EULA completely, we have to remove those launchers too, or render them unfree.

However, I agree that an unmaintained fork of an existing launcher should not be accepted here — having a maintained fork would be a much more welcome alternative

@s0me1newithhand7s
Copy link
Contributor Author

All the EULA/licensing concerns aside, as @getchoo already mentioned multiple times, this is unmaintained software and as such should not be packaged if there are maintained alternatives.

i've already found solution for unmaintained situation, i just need test this solution and make sure that solution will be maintained. :)

@s0me1newithhand7s
Copy link
Contributor Author

Playing devil's advocate a bit here — we have launchers that offer offline mode like HMCL in Nixpkgs already. If we were to follow the EULA completely, we have to remove those launchers too, or render them unfree.

However, I agree that an unmaintained fork of an existing launcher should not be accepted here — having a maintained fork would be a much more welcome alternative

i just need to clarify, if i drop PR with working, maintained fork that still do not follow the Mojang's EULA - that's will be OK?

@Scrumplex
Copy link
Member

@getchoo already highlighted a previous PR where a package for the maintained fork of PollyMC was being proposed: #313011

So there already is a maintained fork of this software.

@s0me1newithhand7s
Copy link
Contributor Author

@getchoo already highlighted a previous PR where a package for the maintained fork of PollyMC was being proposed: #313011

So there already is a maintained fork of this software.

you'll see what i mean as soon as i get back home from work. :D

@s0me1newithhand7s s0me1newithhand7s deleted the add-pollymc-unwrapped branch July 10, 2024 15:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
8.has: maintainer-list (update) This PR changes `maintainers/maintainer-list.nix` 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 10.rebuild-darwin: 1 10.rebuild-linux: 1-10 10.rebuild-linux: 1 11.by: package-maintainer This PR was created by the maintainer of the package it changes 12.approvals: 1 This PR was reviewed and approved by one reputable person
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants