Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: [gentoo-dev] [QA] Official support for migrating ebuilds out of games.eclass
Date: Fri, 01 Jul 2016 00:24:55
Message-Id: CAGfcS_nthT_227mfFQvbYSzYdd0kZ1n+=r8fWQF-HoRt-Ahdmw@mail.gmail.com
In Reply to: Re: [gentoo-dev] [QA] Official support for migrating ebuilds out of games.eclass by Daniel Campbell
1 On Thu, Jun 30, 2016 at 7:19 PM, Daniel Campbell <zlg@g.o> wrote:
2 > Our ebuilds are maintained by developers, with the occasional
3 > proxy-maintainer or contributor. Your previous statement combined with
4 > this amounts to "QA owns and manages the Gentoo repository." You just
5 > said teams have no autonomy over their own ebuilds, which naturally
6 > extends to individual developers lacking autonomy for their ebuilds, as
7 > well.
8
9 QA has authority over the Gentoo repository, but their scope for
10 exercising this authority is relatively narrow. Ultimately we expect
11 them to police themselves, but if they become a problem any developer
12 can appeal to the Council. For the most part the policies they
13 enforce have either been the sorts of things almost anybody would
14 agree with, or they're Council decisions.
15
16 If the Council decides on a policy, then QA is completely within their
17 rights to take action to enforce that policy. If somebody wants to
18 appeal they can, but of course they're going to be appealing to the
19 Council that set the policy. That is by design. The whole point of
20 the Council is to have some way to reach a "final" decision when there
21 isn't consensus. Of course, Councils can change their mind, but in
22 practice this has been rare.
23
24 > But ripping out the
25 > eclass is a "solution" that creates more problems than it solves.
26
27 Trust me, this wasn't something the Council undertook lightly.
28
29
30 >
31 > I expect to be told that use case is poor or irrelevant. Who decides
32 > which use cases are valid and what qualifies them to make those claims?
33
34 Ultimately the Council, by sole virtue of election. It isn't perfect,
35 but it is a process that has a form of accountability and it at least
36 is capable of yielding a final decision. On a lot of issues either A
37 or B is better than endlessly bickering between them. Of course, the
38 Gentoo way is to support choice and if somebody comes up with a good
39 way to push the decision into the hands of the end user then we can
40 just argue over the most sane default. No matter how you slice it,
41 there will always be decisions that people disagree over.
42
43 Personally, I don't really buy into the SSD use case. It isn't that I
44 don't agree with the virtues of SSDs, but the most straightforward
45 solution to this is to stick / and /usr on the SSD so that all
46 applications benefit from this. An entire Gentoo install is only a
47 few GB worth of binaries/libraries/etc and it is probably a lot more
48 straightforward to indiscriminately put these on the SSD than to pick
49 and choose. Plus, your system will boot a LOT faster. This is what I
50 do - basically / is on an SSD and then I mount stuff on top from hard
51 drives when I need space.
52
53 In an earlier email you mentioned that this wasn't a big concern for
54 you personally but you were concerned for our end users. One bit of
55 advice that I'll offer is that if this is the case, let them speak for
56 themselves. Speaking personally, I'm interested in feedback from
57 anybody I get it from. However, when somebody comes to the Council
58 with an argument like "somebody, somewhere, might disagree" and nobody
59 is actually saying "this affects me" then it probably won't get a lot
60 of weight.
61
62 Ultimately, though, you're going to have to trust the judgment of the
63 council. Or, whether you trust it or not, you will ultimately have to
64 abide by it for anything you do using your commit access.
65
66 > And how is a QA group taken seriously if they don't address breakage
67 > that they introduce? Is QA not held to a standard at all? Is it a set of
68 > arbitrary rules laid down from this separate project that nobody else
69 > can examine or call for re-examination?
70
71 QA is enforcing a Council policy. Whether something is considered
72 breakage ultimately is up to the Council. Who is on the Council is of
73 course up to all of us. While I don't advise turning an election into
74 a referendum on one particular decision I certainly encourage
75 developers to be selecting Council members based upon their ability to
76 strike an appropriate balance here. The Council's ability to dictate
77 tree-wide policies like these are probably the area where it has the
78 biggest impact on developers being able to scratch their itches. So,
79 this stuff is really important.
80
81 The Council also confirms the lead of QA. And of course there is the
82 ability to appeal. There are of course issues with any human-run
83 organization but I struggle to think of conflicts the QA team has had
84 with developers which weren't addressed by the QA lead or the team.
85 Certainly I don't recall actually getting any actual appeals (for QA,
86 and in my time on the Council I've only seen one Comrel appeal). I
87 don't want to get into Comrel but the principle is the same with that
88 organization, just with a different scope of operations.
89
90 > This games.eclass decision breaks use cases, supplies no replacement or
91 > forward-facing route for users, and is being swept under the rug as
92 > quickly as possible.
93
94 There is no intent to stifle discussion. You're welcome to state your
95 opinion. The Council can always reverse the decision, or the next
96 Council can do so. I personally consider either unlikely, but Gentoo
97 is never compelled to jump off a cliff because of a past mistake.
98 However, at this point this is a fairly established decision, so while
99 you can discuss, this isn't considered something on-hold for debate.
100 That could change if a majority of the Council decides to issue a
101 stay/etc, but certainly I'm not calling for one based on what I've
102 heard so far.
103
104 Ultimately I feel one of the key purposes of the Council is to remove
105 obstacles to progress by making calls when they need to be made. A
106 call has been made, and there cannot be obstacles for those
107 implementing the decision.
108
109 > Those are weasel words. It was QA's decision to bring the topic to the
110 > Council, was it not? And it had a vested interest in a favorable ruling
111 > by the Council, no? If the answer to both is "yes", then QA was just as
112 > responsible bringing the decision to fruition as the council itself. The
113 > council doesn't make decisions on its own based on what I've read; they
114 > make decisions when options or challenges are brought to them.
115 > Therefore, people who make the most noise get heard and from the looks
116 > of it, their way as well.
117
118 The Council is not bound to the options presented to it, and Council
119 members can propose Council agenda items the same as anybody else
120 (we're developers too!). Speaking personally I certainly try to think
121 of our developers and users as a whole, and I'm confident my peers
122 tend to do so as well. We don't always agree, but I've never had
123 occasion to question anybody's motives.
124
125 Sure, we're more likely to take up a topic that somebody is
126 complaining about than one that nobody is complaining about. And of
127 course we're going to tend to judge dissatisfaction by opposition.
128 However, we don't pull up the 100-email debate and count the number of
129 posts on each side. Ultimately we're going to tend to use our
130 judgment, which is what we're supposed to be selected for (and really,
131 what else can we do?). Persuasive arguments will of course tend to
132 persuade, but this shouldn't be viewed as a bug.
133
134 In this case I can assure you that people were frustrated that it took
135 as long as it did to end up with a decision, and it largely was
136 because we recognized the controversy. There were multiple rounds of
137 meetings and numerous opportunities to provide feedback. Ultimately,
138 however, providing feedback does not guarantee any particular result.
139
140 > In short, QA pushed the decision onto the council, the council ruled in
141 > favor of QA, so now QA gets to deal with the fallout of their decision.
142 > If the QA team doesn't want that, perhaps they should handle breaking
143 > changes better. Or elect better leadership.
144
145 QA isn't forcing anybody to do anything. They put out a call for
146 help. People can choose to answer it or not at their discretion. The
147 Council didn't attempt to force anybody to do anything for precisely
148 the reasons you state. We made a decision to clear the way, but
149 ultimately the people that are most bothered by the eclass will
150 probably be the ones to implement the decisions. As long as nobody
151 interferes with them, it can take however long it needs to take.
152
153 FOSS ultimately comes down to "patches welcome." If it bothers you
154 that much, go fix it. The Council can get the roadblocks out of your
155 way, but the ultimate test of your resolve is whether you're willing
156 to put in the work. Anybody can put out an appeal for volunteers. I
157 know some have complained that removing the games eclass has taken as
158 long as it has, and ultimately it comes down to willingness to put in
159 the work. If the eclass doesn't bother you, then by all means sit
160 back and let others take care of it.
161
162 --
163 Rich

Replies