-
Notifications
You must be signed in to change notification settings - Fork 8
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
Blessed second-party repositories #4
Comments
I added some notes to #22 as well, but I'll bring them there too just so they don't get lost. The idea of "blessed" repositories are nice, but they come with a few concerns mostly around plugin discoverability. I'd hazard a guess that a pretty significant portion of the plugin population will search for plugins through just "window shopping" and downloading whatever looks interesting to them. Depending on how blessed repositories are implemented, this may remove this discoverability aspect. I can see a few ways of doing this:
It may also be worth noting that some users running "blessed" repositories may not want discoverability for their plugins; if someone wants their plugin to be visible to everyone it should be in mainline. I'd mostly agree with this notion, but depending on how other DIPs evolve certain classes of plugins (e.g. those that depend on external services or other components) may have no choice but to move to a blessed repo. |
To me, the primary distinction between a 2PP and a 3PP would be whether or not we will provide support for the plugin and whether or not we'll allow discussion of the plugins in our relevant servers. The most clear cases are Penumbra and Anna's repo/official plugins, but depending on the implementation, this could see some changes. Perhaps plugins that want to provide support through their own channels would best fit in here, like Sonar? In terms of discoverability, @KazWolfe brings up some good points, and I think I'd fall most in line with the second, "blessed Repos are automatically added, but disabled." This would ultimately give the repos less automatic discoverability, but would enable users to easily enable them, just like a user currently needs to go into Dalamud Settings in order to enable Testing plugins or to add 3PP. I'd propose adding a "Repositories" tab in Dalamud Settings for exactly this. First, we'd move our official testing plugin toggle there. Next, we'd have a list of 2PP Repos that a user could enable, with similar warnings. Lastly, we could have our section on custom plugin repos, with the necessary wording that we cannot provide any support for 3PP and that a user should disable them when asking for help in our support channels. |
i'd go official/unofficial repos and plugins |
I dislike the idea of "blessed" plugins and think this largely depends on #24 being answered about what exactly are the guidelines to being "first party". Why are blessed plugins simply not part of the main repo? Is it because a dev is lazy or adamantly against having a Github account? Let them delegate access to someone to manage that aspect then. Don't want to delegate someone as an official liaison? Welcome to being third party/unsupported - better add a support server to your If a plugin is going to be supported it should just be supported and included in the main repo alongside every other plugin. None of this "blessed" nonsense, none of this external repo's business due to dev laziness/distaste of using Github nonsense. Blessed plugins would use the Testing repo like every other plugin. If the Blessed plugin wants a faster iteration/testing feedback cycle and wish to use their own repo links - they would be de facto treated as third party and their testers should know to go to their provided support channels for support. Just like every other third party plugin. Don't want your testers to have to go to your own Discord server or Github issues? Then test like everyone else with the slower iteration cycles by sending a PR to This leaves two well-defined categories for plugins:
Simple and easy to understand. I'm not sure how this would affect FranzBot's ability to detect 3rd party plugins having to possibly tell between E: And "This plugin is large and complex and uses their own Discord server for support." could be solved like how every other partnered Discord servers do it. A locked channel with permanent invite links to partnered servers. Then you refer anyone asking for support to go to the plugin's dedicated server. Still no need for "blessed" status - if it is a supported plugin discussion of it is already allowed it's just the user is more likely to get support through the more-official server. Or we can continue with the practice of redirecting anyone to the proper servers by linking them. |
Here's a perfect example: Penumbra Likewise, it would probably make more sense for plugins that handle their support outside of Goatplace to also be moved to such a section, like Delvui and Sonar. (Maybe others in the future?) This isn't a matter of dev laziness. Might I introduce you to the concept of Linux package managers, if you're not already familiar? The figure above is taken from Ubuntu, which has several official package repositories for different needs and different use cases. In most default installations, only Technically, we already have a "blessed repo" in the form of the official testing repo. It just happens to share the same PluginMaster URL as main, but that could always change. The concept of adding additional "blessed" repos to Dalamud directly would be that they conform to our plugin guidelines, but are not hosted from the DalamudPlugins repository. As this will most likely be paired with #17 #24 and #28, there are a number of legitimate concerns with trying to force all plugins to be built using a single unified build system, especially for more complex plugins like XIVDeck that needs to bundle additional artifacts with releases. Should it not be able to conform to the build process due to complexity, that should never be a factor for its removal from main, and could also be a contender for a blessed repo. Or seen another way, we could effectively split the main DalamudPlugins repo into multiple tiers, like "small QOL plugins," "overlays," and "combat modifiers," if we so wanted to, giving a user the access they want to curate which official plugins they may want to see. (Like perhaps streamer-friendly only options) |
I'm actually familiar but honestly it didn't even cross my mind as being an equivalent situation - which it totally is. I think following the Linux model of dubbing the "blessed repos" as
This implicitly states that unsupported/third party plugins are not considered part of the Dalamud Community which is a distinction we already make and stand by but it further hammers it in and excludes them. ...Completely aside - god I hate Canonical's naming scheme. Although I suppose "Arch User Repository" is not much better than "Universe/Multiverse". |
That seems pretty reasonable to me. Does anyone want to write the DIP for it? |
We've had a back and forth in this Discord thread. Our thoughts on this have evolved and this is the rough consensus we reached:
The end result of this is that the concept of "second-party repositories" will cease to exist. You are either first-party (reviewed and vetted by us, with optional friction to encourage users to self-select), or you're third-party (officially not our problem). |
Discussion excerpted from Discord:
The text was updated successfully, but these errors were encountered: