1 |
On Sun, Oct 01, 2017 at 06:13:32PM -0500, Christopher Díaz wrote: |
2 |
> Hello everyone, |
3 |
> |
4 |
> I would like to propose to the community a new policy in the process of |
5 |
> "becoming a developer". Here is the initial draft, do not hesitate to |
6 |
> point out anything that needs to be discussed. |
7 |
> |
8 |
> Abstract |
9 |
> |
10 |
> Given the necessity of testing and stabilizing software in Gentoo Linux |
11 |
> and the ammount of testers is not enough to test all the packages on |
12 |
> the given architectures, this GLEP proposes to make the "testing" and |
13 |
> "stabilization" processes a required stage to become a Gentoo Linux |
14 |
> Developer. |
15 |
|
16 |
Firstly, thanks for taking the time to draft something. It's evident you |
17 |
care about testing quite a bit. :) |
18 |
|
19 |
I don't think requiring every developer to test packages to Arch team |
20 |
standards will do the distro much good. Building a distro has a |
21 |
multitude of facets, and developer skillsets will not be uniform across |
22 |
the distro. We all come from different backgrounds, education, |
23 |
interests, and specialties. I'll explain more below. |
24 |
|
25 |
> |
26 |
> |
27 |
> Motivation |
28 |
> |
29 |
> The necessity of manpower in Gentoo Linux is obvious and several |
30 |
> projects need more people to be able to achieve their goals. One |
31 |
> critical project is the Arch testers project, which needs people to be |
32 |
> able to know the procedure to test and mark as stable a given package, |
33 |
> this impacts on the whole community because if arch testers are not |
34 |
> capable to test all the needed packages, all the other projects can't |
35 |
> go further with their goals. |
36 |
> |
37 |
> At this point, the process to become a Gentoo Developer does not |
38 |
> explicitly require testing and stabilization. As this part is crucial |
39 |
> to better understand how to fix ebuilds, each future developer should |
40 |
> know the procedure to test and stabilize not only their own packages, |
41 |
> but to help other developers in the stabilization work. |
42 |
> |
43 |
> The AT Project was created on January 2005 to reduce the developer's |
44 |
> load and the amount of open keywording bugs for the amd64 porting team. |
45 |
> Since then many users have volunteered to become ATs and after that |
46 |
> became full developers. GLEP 41 already tried to give arch testers a |
47 |
> "staff" status in the community, but rather than creating a new status, |
48 |
> this new "stage" in the "becoming developer" procedure should be |
49 |
> considered as a test of perseverance. At the same time, this is a great |
50 |
> way to teach gentoo users how portage works and how to debug their |
51 |
> future ebuilds. |
52 |
> |
53 |
> Prepare the next generation of developers to be able to test and |
54 |
> stabilize their own packages, and help other devs in stabilization, |
55 |
> would benefit the whole community and give all mentors, recruiters and |
56 |
> users wanting to become a official gentoo developer a starting point |
57 |
> with endless work to do, and at the same time mentors and recruiters |
58 |
> would have a place to look for prospectives developers. |
59 |
|
60 |
While well-intentioned, we need to consider the work that will go into |
61 |
training said developers -- new or old -- to adapt their workflow to fit |
62 |
in testing. If we simply make package testing another hurdle in the |
63 |
journey to become a developer, what we end up with is a lot of packages |
64 |
*claimed* to be tested, but since the people doing all this new testing |
65 |
aren't as skilled at it, there will be packages that slip through the |
66 |
cracks, and those people will be chastized by senior members. I've seen |
67 |
it happen personally, and can dig through archives if anyone wants to |
68 |
challenge that statement. |
69 |
|
70 |
If we want more developers to be better package testers, we need better |
71 |
documentation, better tooling, and a more forgiving culture. The same |
72 |
goes for QA, which as far as I know oversees the technical integrity of |
73 |
the tree and thus would have a hand in the testing cookie jar. |
74 |
|
75 |
> |
76 |
> |
77 |
> Specification |
78 |
> |
79 |
> In order to stablish this new policy, we need to complete this list of |
80 |
> tasks (minimun required in my opinion): |
81 |
> |
82 |
> -As test and stabilization is arch-based, we need all AT teams to try |
83 |
> to prepare an "official" procedure (all of them have very good |
84 |
> guidelines right now). |
85 |
|
86 |
These guidelines need to be more visible. Documentation is useless if |
87 |
it's not disseminated so people know about it. |
88 |
|
89 |
> |
90 |
> -Mentors and recruiters should encourage recruits to test as much as |
91 |
> they can, on all the given arch they are interested to, or have access |
92 |
> to. |
93 |
|
94 |
I'm fairly sure we already encourage new recruits to consider testing |
95 |
packages. A "Starter's Guide to Testing/QA" would be a good fit for |
96 |
that, assuming those teams want to get more people on-board. |
97 |
|
98 |
> |
99 |
> -The official ebuild-quiz already has an specific "arch testing" |
100 |
> question, maybe as a Proof of Concept, the recruit should add bugs |
101 |
> where he/she could proof that he knows the testing procedure. |
102 |
|
103 |
I see this as creating bugs for little gain. The minutiae of bug |
104 |
configuration is a subject of endless nitpicking. Bug filing standards |
105 |
should be explicit and unambiguous. The problem with arch testing, like |
106 |
just about every other part of Gentoo, is the poor rate of knowledge |
107 |
transfer. A lot of details are kept in the heads of people rather than |
108 |
being laid out in the open. While there is documentation for some |
109 |
things, as I said above it's not very discoverable and our culture is |
110 |
unforgiving. It's no surprise that people aren't chomping at the bit to |
111 |
test packages; if things aren't 100% perfect, you get yelled at. Nobody |
112 |
wants to volunteer on a project that will yell at them. |
113 |
|
114 |
> |
115 |
> -As many users starting in gentoo will start by testing and |
116 |
> stabilization, AT teams would need to remember that they would interact |
117 |
> with maybe not so experienced users and try to make the procedure as |
118 |
> clear as posible to follow. |
119 |
|
120 |
+1 |
121 |
|
122 |
> |
123 |
> |
124 |
> Rationale |
125 |
> |
126 |
> This solution aims to solve a more long-term problem, which is the |
127 |
> necessity of having developers prepared to start a stabilization |
128 |
> process if needed and not depending on an arch tester. The reality is |
129 |
> that most current Gentoo Developers and Projects are overwhelmed with |
130 |
> the ammount of work, but if all developers could help by testing |
131 |
> another's package, maybe this could reduce the work or at least the |
132 |
> time spent waiting for stabilization. |
133 |
|
134 |
I think your idea is noble, but it comes down to "do QA and Arch testers |
135 |
care enough to make their job easier and invite others?" I suspect there |
136 |
are territorial behaviors at work that prevent people from learning and |
137 |
improving their packages through testing. As long as our culture is |
138 |
insular, this problem will remain. |
139 |
|
140 |
This looks like a situation that QA and Arch testers should issue public |
141 |
statements on. They work closest with package testing and it's a good |
142 |
opportunity for them to let the rest of the community know how things |
143 |
are going. I can't speak for others, but I'd like to read what they have |
144 |
to say on the matter. |
145 |
|
146 |
Thanks again for sharing. Hopefully this initiative will start |
147 |
constructive discourse. |
148 |
> |
149 |
> |
150 |
> Copyright |
151 |
> |
152 |
> This work is lecensed under the Creative Commons Attribution-ShareAlike |
153 |
> 3.0 Unported License. To view a copy of this license, visit https://cre |
154 |
> ativecommons.org/licences/by-sa/3.0 |
155 |
> |
156 |
> |
157 |
> Christopher Díaz Riveros ChrisADR |
158 |
> |