Home Artists Posts Import Register

Content

Rationale

Wabbajack has gone through a lot of growth over the past two years, and with that comes some growing pains. One of the big things that has been a pain point over the past year is the centralization of the management of the project. I like to think of centralization problems in the context of "incidental complexity"; additional tasks, requirements, and problems that arise not from the use of a product itself but from the meta issues attached to the project. 

Some of these meta issues must remain: for example we are not going to remove the requirement that everyone who uses WJ must own the game they are modding. Other meta issues could and should be removable. For example, it's currently a requirement that official mod list authors be on good terms with me (halgari). If you get kicked from the WJ discord server, or just don't like the way I look, your ability to use WJ to produce modlists is greatly hindered.

With reduced incidental complexity also comes a reduced need for policing rules. In short, the simpler the requirements for using Wabbajack are, the less project oversight is needed.

We have seen the issues with centralization grow over the past year, the facts are clear, we can't maintain a close-knit community when there are 60,000+ people in the Discord. And we can't expect all those people to agree all the time, thus in order to allow the project to continue to grow, we must decentralize.

Main Features of Centralization

There are three main areas where Wabbajack leverages centralization:

1. Modlist vetting. This is where we say that "official modlists" are of a good quality and such are seen as a good representation of what Wabbajack can accomplish

2. CDN Access. We allow official list authors access to our high speed CDN and we transfer roughly 175TB of data per month this way

3. Socialization and "public awareness" of new lists. Getting on our UI or getting the name of your list into the WJ Discord is a way of introducing people to new lists and new authors

The problem is now: how do we maintain these features while allowing for reduced policing and moderation?

Modlist Vetting

We (the WJ staff) have long been concerned that allowing a more lax modlist approval process would result in more low-effort lists. However with time we've seen that to not be the case. WJ requires a certain amount of arcane modding knowledge, and that seems to be enough of a barrier of entry that we don't see a lot of joke lists or troll additions.

Plans for change:

Instead of a single list of "official modlists", we will be moving to many repositories. I will update the WJ GUI to support multiple sources of lists. By default only "official" lists will be visible, but in the gallery users can click a button to show these other "3rd party" repositories. The key is that this will be opt-in to show that these lists may not be fully working or may not be tested as rigorously as other more official lists.

In the near future we will determine a criteria for allowing non-official lists to get approved and turned into "official" lists. This criteria will be simple and clear cut, the only goal being to make sure the list has been played by at least a few people, and that the general bugs are shaken out. In addition we will setup some sort of rule about forking, requiring prior permission before a forked list can become "official". We don't want 50 forks of Living Skyrim 3 all claiming to be better than each-other.

But to be clear: we want to make non-official lists as accessible as official lists. Having a list be demoted from being "official" shouldn't be seen as a massive blow to popularity, more like a minor inconvenience.

Management of these lists-of-lists will be done via Github, and before we transition to this approach I will publish several tutorials explaining how to set up your own list repository. The workflow would be that a new author can create a repo, add their list definition to that repo, then submit a link to that repo to the WJ repository list. The acceptance criteria for these links is "merge first". We will auto accept any links to 3rd party repos as long as the user is not on a list of authors known to troll, upload illegal content, pirate the games they mod, etc.

CDN Access

The CDN is a major boon to authors who have a lot of users. Finding some hosting service that allows for 1000 downloads a day of 5GB of content is hard to find. So the CDN is crucial to the workflow of many authors.

Plans for change:

The main concern with giving anyone CDN access is bad-faith actors. People wanting to re-host pirated content, post troll content, etc. Since we already require Github accounts for users to publish their lists, we will be moving the CDN to an authentication method that accepts Github Personal Access Tokens (Github API keys). Current modlist authors will notice similarities with the "author keys" Wabbajack already uses. This simply is an extension of that plan, you will use your Github account to access the CDN, should you be found uploading unacceptable content we'll talk with you, and should that fail we can ban the account.

It should be noted here that the goal with moderation is to keep the criteria extremely clear: as long as you are not breaking copyright law, or hosting illegal content, you will be allowed access to the CDN.

Socialization and "Public Awareness"

Having channels where modlist authors can swap stories and ideas is great for building comradery. In addition to requiring authors to provide support on the WJ discord is asking them to submit to WJ's moderators and admins, this is even more incidental complexity. We want to help new small authors get started, but also want to stay out of the politics of modding as much as possible.

Plans for change:

Firstly we will be adding a discord link on the modlist install pages, authors can then attach a link to their discord to their modlist definitions, allowing users to jump directly to their discord without first going through WJ's servers. We will be locking and archiving all modlist support channels, replacing them with a single channel for each game that is a list of all the discords for all authors that create lists.

Wabbajack will offer a few channels for modlist authors under a new role. These channels are:

  • #modlist-development - discussion of how to build Wabbajack lists
  • #application-development - discussion on the internals of Wabbajack
  • #application-bugs-and-suggestions - suggestions on how to improve Wabbajack
  • #general-modding - discussion of modding in general
  • #off-topic - discussion of non-modding related topics

We may have threads for "tech talk" or the like, but in general we want these channels to be focused and public so that authors can feel free to come and go as they please. All support requests will be directed to the channels of the modlist authors. Authors with smaller followings, or who feel unable to moderate their own servers are encouraged to band together with like-minded authors and start a new server so they can share the load.

Rollout Plans

With the above plans laid out, here's how I see the rollout occuring

1. Add Discord links to modlists and the App (done)

2. Add "repository" support to Wabbajack (done)

3. Update the CDN to accept Github credentials

4. Update Wabbajack to support uploading files via Github credentials

5. Write tutorials on how to use the above tools

6. Remove/close down unneeded discord channels

7. Reworking of the WJ staff hierarchy to have a minimal set of moderators whose only job is to deal with bad faith actors

I imagine most of this work will be completed over the next two weeks. Thankfully most of these changes are backwards compatible, so modlist authors who don’t have time to make massive updates need not worry, there will be a transition period.

Conclusion

I know this is a massive change, but I think it's for the best. This is a style of organization that can scale almost infinitely, and helps reduce the load on the Wabbajack staff and allows me to focus on what I like doing best: improving the application. Many of our staff members are burnt out, and with all the pressures of the modern world (human malware, wars, etc.), the more I can do to reduce that load the better. Thank you for your understanding, and support, and thank you for keeping this project awesome.

Comments

emelsi

If you add an unofficial repo to the official repos, does that mean the now-official repo will remain where it is in github, or would it be merged into the official organization? Is there an official organization, or is the list-of-lists itself just a repo?

Timothy Baldridge

No, if your modlist is in a 3rd party repo, it can be kept there, while also being marked as "official".