What's required before a PR gets merged? #7742
Replies: 2 comments 9 replies
-
What does it take? For one of the "devs" to feel it is ready for merging. This group of people is comprised of: amazonite, tehhowch, Pointedstick, W1zrad, Anarchist2, petervdmeer, quyykk, and Saugia.
|
Beta Was this translation helpful? Give feedback.
-
As a general rule, in terms of executive decision making, we trust those with GitHub priviledges to use the utmost extend of their abilities without restriction. There's some discussion about this, and it's not consistently applied, but as a general rule (especially for the listed Developers), we trust them to do what they think is best without forcibly requiring approvals from anyone. In fact, Devs have a strong capacity to overrule pretty much everyone in pursuit of what they consider to be best for the game. For instance, there was a poll on Discord about whether or not the Bactrian should have angled gunports. The final vote was 423 people in support, 43 opposed. Despite such massive support, the Devs chose to go with straight ahead gunports, and that was the end of the issue. (just for the record, I'm not bringing it up here to discuss it, just to illustrate the point that we have a tradition of strongly favoring executive decision making, not, as some claim, being a democratic system.) We implemented the reviewer teams (we have teams for writing, art, missions, balance, code, and lore; although some of those only have one person in them) to highlight people who have particular respect and experience in those areas. The idea was to allow Developers to move more quickly in areas that they don't have much experience in. For example, we have devs whose primary strength is not coding. But if one or more of the trusted reviewers from the code team have approved something, the idea is that Devs such who lack experience/confidence with code stuff should then be comfortable merging it. In general, I'd say overall in 95% of our PRs, this system works really well, and I don't think there's any need for time limits, approval requirements, or anything beyond what we currently do. Our team is, overall, very cautious about merging things and rarely do so unless they are comfortable with the change and believe it improves the game. Most of the recent discussion (and, really, the entire point that the time restriction poll is a thing) is due to a very small number of PRs that made changes that some people felt either happened too fast, or somehow managed to get by without them having them having any input on it. For instance, the Nanachi missions didn't appear to have anything to do with the Ember Waste, but it turns out they tucked a small attribute onto a reward outfit that has significant negative effects on lore pretty much exclusively applicable to the Ember Waste. I didn't know it was there, and it could have been resolved at the time, but no-one thought to mention to me that it was there. So the bigger issue is really that in a small number of PRs, people who think they should have had a say, didn't. Unfortunately, I'm not sure what the solution is. Giving everything a minimum 24h timelimit, for instance, would not have solved most of the "problem cases" in the past few months, as most of them were around for many days, weeks, even. But likewise I don't think it is reasonable that a PR creator should need to memorize a long list of everyone in the community and what their interests are and hold up a PR forever until that list has been checked off. So I consider the blanket 24h requirement to be both overbearing and useless, but I also don't see much of an alternative. We do have, for instance, "faction leads" listed in the credits. We could start by pinging them when a PR touches something related to their area. Those positions currently don't have any particular importance or specified... anything, really. They're basically just token titles of appreciation and suggestions that one should probably run stuff by them if it touches stuff surrounding their faction. There's no real hard requirement to do so, no real statement of how much influence or control they do or ought to have; although generally I think their opinions tend to hold a fair bit of weight. As far as that goes, though, I'm not sure all the faction leads are active, and not everyone knows which of those real names corresponds to what github name to ping, either. And, like the timelimit thing, while pinging faction leads when something touches on their area of expertise might have solved one or two of the problem cases of the past several months, it would not have solved all of them. I'm not sure it even would have solved half of them. The problem really boils down to the edge cases and specific problems; with the difficulty that we usually don't find out that they are problems until after they are merged. Often long past. And there's no real way to tell if something is going to be a big issue or not. Even size isn't really an indicator, since one of the "problem cases" of recent history was a mere single line with an effect that some people either don't even realize is there or assumed was a bug. While there have been PRs with 1k+ lines that haven't generated even the slightest amount of controversy. A lot of the really boring stuff with little impact on lore or gameplay (like cleaning up the map file, for instance, can easily run into the many thousands of lines. |
Beta Was this translation helpful? Give feedback.
-
This started as a response to #7738 but I realized I have some questions about the existing process that I'd like to know anyway. By "active" I mean "participating for either a few minutes a day most days, or 30+ minutes a week most weeks."
More broadly, to what extent are we relying on consensus, and to what extent executive decisions?
Where consensus is relevant, I think it would be good to know what threshold constitutes consensus. Where executive decisions are required, it's good to know who has to make them.
Otherwise I think there's likely to be a lot of bystander effect where everyone is either waiting for "someone else" in the abstract, or someone particular, who may not realize that they're the blocker. Or, flip side, you get people merging something and someone else says "whoa, I hadn't had a chance to review that yet [and I think I should have been offered the chance, because either we didn't have enough consensus by my count, or I'm the one who makes decisions about this category of change]."
Beta Was this translation helpful? Give feedback.
All reactions