1 |
Stuart Herbert <stuart@g.o> said: |
2 |
> On Sun, 2006-02-26 at 17:22 -0500, Mark Loeser wrote: |
3 |
> > * In case of emergency, or if package maintainers refuse to cooperate, |
4 |
> > the QA team may take action themselves to fix the problem. |
5 |
> |
6 |
> I'd like to see this say |
7 |
> |
8 |
> * In case of emergency, or after a failed appeal by the package |
9 |
> maintainer to the council, the QA team may take action themselves |
10 |
> to fix the problem, if the package maintainer(s) are unavailable |
11 |
> or refuse to co-operate. |
12 |
> |
13 |
> That still gives the QA team the powers it needs for an enforcement |
14 |
> role, which is all that it needs. |
15 |
|
16 |
Your change seems to imply that the QA team must wait for the council's |
17 |
okay to go forth and fix the package, rather the QA team able to act on |
18 |
its own. If that is the case, I don't see how we would ever be able to |
19 |
get things done when someone disagrees with us. |
20 |
|
21 |
> > * In the event that a developer still insists that a package does not |
22 |
> > break QA standards, an appeal can be made at the next council meeting. The |
23 |
> > package should be dealt with per QA's request until such a time that a |
24 |
> > decision is made by the council. |
25 |
> |
26 |
> I'd like to see an alternative wording: |
27 |
> |
28 |
> * In the event that a developer still insists that a package does not |
29 |
> break QA standards, or that the QA standards are somehow defective, |
30 |
> an appeal can be made at the next council meeting. |
31 |
> |
32 |
> If it is an emergency, then the QA team is still free to intervene |
33 |
> before the council meeting. But, where it isn't an emergency, there is |
34 |
> no need for immediate action, and so there should be no action until the |
35 |
> appeal has been heard. |
36 |
|
37 |
Again, then we are going to get into the argument of the definition of |
38 |
an emergency and never be able to get anything done. We really hope |
39 |
problems never come down to this, which is why we left it worded this |
40 |
way. |
41 |
|
42 |
> The QA team has no monopoly on what is right or wrong in Gentoo, and |
43 |
> neither do package maintainers. If there is a disagreement that leads |
44 |
> to an appeal, the onus should be on the QA team to have to present their |
45 |
> case to the council, as they are the ones pushing for change. |
46 |
|
47 |
Again, this is taking away any power that the QA team might have, and |
48 |
gets us stuck in the current situation where we can't do anything when |
49 |
someone disagrees with us. We are hoping that most people are not going |
50 |
to see us as idiots running around trying to change everything just because |
51 |
we don't like it. It is expected that people will trust us to some degree, |
52 |
and we are giving a way for people to challenge our decisions if they |
53 |
believe we are wrong. |
54 |
|
55 |
> |
56 |
> > * Just because a particular QA violation has yet to cause an issue does |
57 |
> > not change the fact that it is still a QA violation. |
58 |
> |
59 |
> I'd support the above if the following statement was also included: |
60 |
> |
61 |
> * QA standards, and the actions required to resolve them, must be |
62 |
> pragmatic and proportional to the impact on actual end-users of |
63 |
> Gentoo. |
64 |
> |
65 |
> Gentoo would be best served by a QA team that spent its time tackling |
66 |
> issues that are urgent and important to end-users (quadrant 1 & 2 |
67 |
> activities). A QA team that gets bogged down in the thick of thin |
68 |
> things is a symptom of a team that has become self-serving. |
69 |
|
70 |
This is not quantifiable at all and will just get us into arguments with |
71 |
people that disagree with us that there is a problem present. |
72 |
|
73 |
> |
74 |
> > * The QA team will maintain a list of current "QA Standards". The list |
75 |
> > is not meant by any means to be a comprehensive document, but rather a |
76 |
> > dynamic document that will be updated as new problems are discovered. |
77 |
> |
78 |
> These QA standards are policy changes that affect the whole tree. The |
79 |
> QA team does *not* own QA policy - we all do, as contributors to Gentoo. |
80 |
> I'm asking the council to agree an adequate process for the approval of |
81 |
> QA standards by a wider group than just the QA team. Maybe changes |
82 |
> could be batched up into a GLEP, say once a quarter, with the option of |
83 |
> fast-tracking GLEPs in between for emergency QA policy changes? This |
84 |
> would allow the QA team to perform effectively, and have the added |
85 |
> benefit of ensuring that the wider developer community knew what was |
86 |
> coming in advance, and could "buy in" to the changes. |
87 |
|
88 |
Again, this bogs us down in useless process if someone wants to argue a |
89 |
change that clearly breaks things, but isn't documented. It is |
90 |
impossible to document every single thing that is a problem, and we are |
91 |
asking for some freedom to be able to work on issues that fall under QA. |
92 |
|
93 |
> There's a secondary issue here for me. None of our tools are perfect; |
94 |
> we all have to work pragmatically within the capabilities of what we |
95 |
> have. Some of the real QA issues in the tree arise from the limitations |
96 |
> of our tools. I'd like to see the following incorporated into the QA |
97 |
> team's mandate. |
98 |
> |
99 |
> * If the QA team wishes to push standards about specific aspects of |
100 |
> our tools, then those standards must be endorsed by the leads of |
101 |
> those tools. |
102 |
|
103 |
So the Portage team will have to agree with us on every single problem |
104 |
that is a QA issue? This seems like something we can leave alone until |
105 |
it doesn't work, at which point we bring it before the council to figure |
106 |
out how we can best handle this situation. Saying that another team |
107 |
must approve all QA checks just seems silly. |
108 |
|
109 |
> Why? Because the QA team has no monopoly on what is right and wrong |
110 |
> with the tree. If any proposed QA standard cannot pass a simple litmus |
111 |
> test of the endorsement of the leads of the tools, how can it be fit for |
112 |
> enforcement against the wider development community? What is a package |
113 |
> maintainer to do? He/she can't go back to the tools team in question |
114 |
> and ask for a fix; all they will get is that the tools team in question |
115 |
> doesn't agree with the QA team, and doesn't support that particular |
116 |
> standard. Better to have QA standards that are strongly supported than |
117 |
> to have QA standards supported by just the one team. |
118 |
|
119 |
All of this seems to assume that the QA team is going to abuse its |
120 |
power. So far we have had very few problems when we ask people to |
121 |
fix issues that we have found for their packages. Is this going to |
122 |
always be true? No, and someone needs to be able to get problems fixed |
123 |
instead of just leaving things the way they are, and we want to fill |
124 |
that role. |
125 |
|
126 |
> I'd like to see the QA team's primary role stated as "educational" |
127 |
> first, then watchdog, then intervener in that order (emergencies |
128 |
> not-withstanding). |
129 |
|
130 |
Which is what we plan on doing, and have been doing so far. |
131 |
|
132 |
> With that in mind, I suggest that the QA standards must include |
133 |
> educational information about the problem(s) that the standard |
134 |
> addresses, before they can be approved. This is in no way to challenge |
135 |
> the legitimacy of the agreed standards. It's to help all developers do |
136 |
> better QA on their own work (everyone does a better job if they |
137 |
> understand the reasons why). It also serves the dual purpose of helping |
138 |
> the next generation of QA testers when the current team members have |
139 |
> moved on. This could be Ciaran's opportunity to see TheDoc become an |
140 |
> "offical" document. |
141 |
|
142 |
We are working on a document, and hope to document all of the problems |
143 |
and why they are problems. We don't plan on saying something is just |
144 |
wrong and not give an explanation. |
145 |
|
146 |
|
147 |
-- |
148 |
Mark Loeser - Gentoo Developer (cpp gcc-porting qa toolchain x86) |
149 |
email - halcy0n AT gentoo DOT org |
150 |
mark AT halcy0n DOT com |
151 |
web - http://dev.gentoo.org/~halcy0n/ |
152 |
http://www.halcy0n.com |