Yellow-Dog-Man / Resonite-Issues

Issue repository for Resonite.
https://resonite.com
141 stars 2 forks source link

Clarification Request: Distribution of (stripped) reference assemblies #456

Open Banane9 opened 1 year ago

Banane9 commented 1 year ago

Is your feature request related to a problem? Please describe.

It's unclear whether distributing (stripped) reference assemblies of the game for modding purposes would be allowed, and mentioning it in the official discords hasn't provided any answers.

Describe the solution you'd like

I would like an answer as to what kind of distribution would be allowed. Allowing to distribute them as reference assemblies through a custom NuGet feed for example would simplify modding by making it independent from people's local setup / Resonite install locations. It would also potentially allow people who aren't comfortable using a publicizer themselves to access publicized assemblies with ease. Further, it would allow easily adding crowdsourced documentation to the assemblies.

Restrictions I have considered:

Describe alternatives you've considered

Everyone has to directly reference the game's assembly files from their mod projects, making work with custom setups or adding documentation more complicated.

Additional Context

This is the issue that prompted the creation of #455.

mpmxyz commented 1 year ago

I second this. I previously used a github workflow to automatically build, test and package my mod releases. Without a way to download up-to-date engine files that is not feasable.

Banane9 commented 1 year ago

I previously used a github workflow to automatically build, test and package my mod releases.

Yea, automatic releases using github actions would be another benefit and increase trust into the mods.

ProbablePrime commented 1 year ago

I'll look into this when I can. It has two parts.

  1. Policy - We should be launching a modding policy soon but more policy items will be needed for this
  2. Technical - This isn't hard, but will be made easier by our CI work.
Banane9 commented 1 year ago

2. Technical - This isn't hard, but will be made easier by our CI work.

From the modding perspective, this would not necessarily be required, especially if we need/want to package our own documentation into it - unless that would also be part of official packages (which would be very nice to have, but perfectly understandable if you didn't feel comfortable releasing it).

shiftyscales commented 9 months ago

Adding to @ProbablePrime's task project as they were assigned to this issue.

ProbablePrime commented 8 months ago

Shipping stripped assemblies would be against our Terms of Service under section 2 OUR Intellectual Property rights:

Except as set out in this section or elsewhere in our Legal Terms, no part of the Services and no Content or Marks may be copied, reproduced, aggregated, republished, uploaded, posted, publicly displayed, encoded, translated, transmitted, distributed, sold, licensed, or otherwise exploited for any commercial purpose whatsoever, without our express prior written permission.

Stripped assemblies would be covered here.

Unfortunately at this time, I'm unable to provide any exceptions. We do plan to eventually offer these assemblies though. However, as this issue is merely asking If you can strip them and release them to be clear the answer is: no

I'll leave the issue open and rename it shortly to cover US releasing them.

Banane9 commented 8 months ago

Unfortunately at this time, I'm unable to provide any exceptions. We do plan to eventually offer these assemblies though. However, as this issue is merely asking If you can strip them and release them to be clear the answer is: no

I'll be looking forward to that then. If you need any details on what modders could draw the most use out of, feel free to ask.

Having publicly available references that don't involve letting GitHub actions download Resonite from Steam would be a great boon.

ljoonal commented 7 months ago

This single decision makes what would be just running dotnet build into an hours long process to setup generating the assembly packages, building a local nuget feed, and then somehow authenticating that all when it's needed to not be fully from the fs directly. So now all of my infra needs to have secrets and I need to document in my projects how other people can set it up. Not to mention CI, which now needs to hit Steam's servers way more often to generate it all. And this just gets multiplied by the amount of modders, since what this boils down to sounds to me like that your TOS forbids creation of a cache for the assemblies.

I by all means wish to keep this civil, even if I might write about this issue in a bit more a heated tone on my own docs that link back to here :sweat_smile: So apologies, it is not my intention to make you feel upset because of this issue as well.

ProbablePrime commented 7 months ago

It is likely some sort of methodology to allow a smoother experience will exist at some point down the line, until then you'll have to be patient.