1 |
Hello, everyone. |
2 |
|
3 |
I'd like to discuss a proposal aiming to improve the general quality of |
4 |
ebuilds in the Gentoo repository. |
5 |
|
6 |
|
7 |
As most of you know (or at least suspect), ebuild quizzes are changing |
8 |
over time. New questions are added and existing questions are updated, |
9 |
to cover for new EAPIs, policies or simply cover cases of common |
10 |
mistakes. This is all done so that new developers would be better |
11 |
prepared to work on Gentoo, and would not repeat the same mistakes |
12 |
as new developers before them did. Besides, this extends the purpose of |
13 |
quizzes into being a quick reference of all the stuff you should be |
14 |
aware of before committing. |
15 |
|
16 |
However, new quizzes apply only to new recruits. Ideally, we assume |
17 |
that existing developers learn of new EAPIs and new policies as they go, |
18 |
and they've already made most of the mistakes and learned from them. |
19 |
However, this is not always true. There are less-active developers, |
20 |
there are people returning after long devaways, and sadly there are |
21 |
cases when they do not try to learn new things but attempt to apply |
22 |
obsolete standards and solutions. Furthermore, some of the recruits |
23 |
consider it unfair that they have to undergo harder quizzes than people |
24 |
who joined Gentoo earlier. |
25 |
|
26 |
|
27 |
What I'd like to propose are additional examinations similar to |
28 |
the ebuild quiz, for existing developers. They would be performed |
29 |
as a joint QA/Recruiters effort, and they would aim to align |
30 |
the level of examinations for all developers. This would serve two |
31 |
purposes. Firstly, it would ensure that existing developers are fully |
32 |
aware of the current EAPIs, policies, best practices and pitfalls. |
33 |
Secondly, it would align the rules and make sure that developers joining |
34 |
earlier are not privileged compared to those joining later. |
35 |
|
36 |
Of course, I'm not talking about requiring all developers to pass their |
37 |
ebuild quizzes again. The way I see it, we would be establishing a few |
38 |
reference versions of quizzes, and comparing them to the current one. |
39 |
Then, for each version we would establish a smaller quiz specifically |
40 |
focused on developers recruited at the time. Naturally, the developers |
41 |
recruited earlier would have to answer more questions while developers |
42 |
recruited more recently would have less. |
43 |
|
44 |
To avoid overburdening our teams and developers, the whole process would |
45 |
be spread over time. Every time the quizzes are prepared for the next |
46 |
group of developers, they will be given 6 months to complete them |
47 |
and arrange a review session. As the examinations progress, quizzes for |
48 |
next groups will be prepared. |
49 |
|
50 |
If the developer in question fails to pass the examination in 6 months, |
51 |
the developer's commit access will be revoked. After 2 more months |
52 |
without passing, the developer will be retired. |
53 |
|
54 |
|
55 |
It is quite likely that before we will be able to finish |
56 |
the examinations for all developers, the quizzes will change again. |
57 |
Naturally, the groups examined past that will have their quizzes aligned |
58 |
to the newest version already. The earlier groups will be subject to |
59 |
further (even smaller) examinations once all groups are done for |
60 |
the first time. Eventually, we would be able to align all developers to |
61 |
the same version of quizzes. |
62 |
|
63 |
Once that is achieved, I'd like to keep quizzes in sync from now on. |
64 |
That is, whenever we add a new question we will pass it through |
65 |
developers. This will achieve a double goal. Firstly, it will improve |
66 |
ebuild skills of developers. Secondly, it will provide additional |
67 |
testing of new quiz questions before recruits end up having to answer |
68 |
them. |
69 |
|
70 |
|
71 |
What do you think? |
72 |
|
73 |
-- |
74 |
Best regards, |
75 |
Michał Górny |