1 |
Hi Daniel, |
2 |
|
3 |
Daniel Robbins <drobbins@××××××.org> writes: |
4 |
|
5 |
> I have been reflecting on the recently much-broadcasted conflict |
6 |
> between mgorny and zlg, and considering that maybe at the root of it |
7 |
> all, we have a process issue rather than a personal one. |
8 |
> |
9 |
> Consider this -- Gentoo has very little buffer between what is |
10 |
> committed to the Portage tree and what ends up on a user's |
11 |
> system. Because of this, if you are a senior dev on Gentoo, you can |
12 |
> feel some sense of responsibility for breakages that may occur for |
13 |
> users. There generate a significant amount of frustration and stress |
14 |
> as you try to plug the QA holes that you see appearing before you. |
15 |
> |
16 |
> This amount of fragility could make one quite anxious, irritable and |
17 |
> even bitter towards more junior developers who make mistakes. It could |
18 |
> lead to, rather than addressing this underlying problem, potentially |
19 |
> being overly harsh with those who make mistakes. |
20 |
|
21 |
I agree with your analsys. My taking of this problem has 3 directions, |
22 |
they may complement each other: |
23 |
|
24 |
1. enforce peer-review of commits, such as Gerrit before commits landing |
25 |
git repository. |
26 |
|
27 |
2. enforce CI before real commits. If someone care about some features |
28 |
of a critical ebuild, write tests to prevent others from breaking it! |
29 |
|
30 |
repoman has already done part of the job. |
31 |
|
32 |
3. let us meet more frequently offline, so that we get more acquainted |
33 |
and become more forgivable and relaxed to each other. |
34 |
|
35 |
> I think it may also be leading to placing too much emphasis on making |
36 |
> emerge perfect, to the point where it can fix any problem on any |
37 |
> user's system, when really this is not realistic -- it is still |
38 |
> possible to commit something to the tree that has a bad dependency in |
39 |
> it and makes life miserable for users. There's very little that emerge |
40 |
> can do to protect users from this -- it just blindly does what the |
41 |
> dependencies tell it to do. |
42 |
> |
43 |
> I've been reflecting on these things because we've instituted a new |
44 |
> system in Funtoo that seems to be helping. This is not an attempt to |
45 |
> toot my own horn, but I am finally starting to feel a bit of stress |
46 |
> relief in this area due to a new process we are using. We have |
47 |
> organized the upstream Portage tree into 'kits', or sub-trees, and |
48 |
> then we snapshot these sub-trees. Our snapshotted versions are called |
49 |
> 'prime' kits, and we will backport security fixes and do cautious |
50 |
> version bumping in these kits. But then we work on newer versions of |
51 |
> kits to eventually replace the (aging) prime kits, and these are based |
52 |
> on newer snapshots from Gentoo. And we also test to make sure that |
53 |
> people can upgrade cleanly (no weird dep issues) when transitioning |
54 |
> from the older kit to the newer kit. |
55 |
> |
56 |
> While this interferes somewhat with the "bleeding edge, rolling" model |
57 |
> that Gentoo is famous for, it does provide the opportunity to have |
58 |
> kits that are stable, not unlike the Gentoo stable branch, except the |
59 |
> kits concept provides finer granularity. So for example, you could |
60 |
> choose to have a stable core system, but use a more bleeding-edge |
61 |
> python or xorg, for example. And I can make sure that things like |
62 |
> firmware and certificates always have the latest version.Yes, you can |
63 |
> do the same thing with package.unmask, but it is not nearly as clean |
64 |
> and modular. |
65 |
|
66 |
Thanks for introducing the kits. But to be honest, I am not too |
67 |
impressed with this system. It feels like stable keywords. You argued |
68 |
kits provides more granularity than stable keywords. We may extend the |
69 |
stable keywords policy to make it more flexible. |
70 |
|
71 |
> Just food for thought -- I am wondering if something similar in |
72 |
> Gentoo-land might tackle the root cause of these issues. I know people |
73 |
> are here because they care about Gentoo, but we want to make the |
74 |
> processes work for developers both new and bearded, and they should |
75 |
> allow for some margin of error by developers, because we all make |
76 |
> mistakes. |
77 |
> |
78 |
> I also hate to see what may be a technical/process issue snowball into |
79 |
> bad blood between people on the project. |
80 |
|
81 |
Me too. I hate that. It is toxic. |
82 |
|
83 |
Yours, |
84 |
Benda |