Gentoo Archives: gentoo-project

From: Rich Freeman <rich0@g.o>
To: gentoo-project <gentoo-project@l.g.o>
Cc: "Tiziano Müller" <dev-zero@g.o>
Subject: Re: [gentoo-project] Making Gentoo more fun
Date: Sat, 17 Feb 2018 17:32:17
Message-Id: CAGfcS_=rL8SMioyPD5dQYrVgCMs_bnavhE+H7dQ3ySPN3FbmCQ@mail.gmail.com
In Reply to: Re: [gentoo-project] Making Gentoo more fun by Alec Warner
1 On Sat, Feb 17, 2018 at 11:39 AM, Alec Warner <antarus@g.o> wrote:
2 >
3 > I like the idea (having myself thought about a 'core' set of packages with
4 > overlays) so I'm excited to see your implementation. I would avoid any
5 > senior / junior designations (I think it blunts your message). Senior people
6 > can cause screwups and break the tree and not care 'enough', just as junior
7 > developers can. I think this is more a difference in goals for the project
8 > than any specific 'experience level'.
9 >
10
11 ++ - such relationships tend to naturally form (and might be fostered
12 by more active smaller teams), but they probably don't need to be
13 formalized as such.
14
15 I've also wondered if a more overlay-driven process might be
16 beneficial, and certainly others like hasufel have been proponents of
17 this mode. I can think of some pros and cons:
18
19 Pros
20
21 Smaller overlays actually fit well into the metadistro model, and you
22 can actually have a much more blurred progression in terms of level of
23 QA/etc. You can also have "competing" overlays for some parts of the
24 trees (which might actually be maintained by the same team), such as a
25 bleeding-edge kde vs stable kde overlay. (These sorts of models
26 already exist but have to be shoehorned into some degree today.)
27
28 Smaller overlays may make it easier to lower the barrier to entry,
29 because you don't need the same level of trust. Somebody could have
30 access to a chromium overlay and be closely supervised by the chromium
31 team and nobody else really needs to worry about them.
32
33 As Daniel mentioned eclass changes are less impactful, because each
34 overlay can have its private copy, which can be upgraded
35 independently.
36
37 Repo storage and sync overhead is reduced since not everybody will
38 sync every overlay.
39
40
41 Cons
42
43 Cross-overlay dependencies need a solution. It could be convention
44 (all systems must have the base overlay, and this is the only one
45 allowed to have cross-repo dependencies), or there needs to be a way
46 to define these dependencies so that portage knows when to pull in
47 another repo (and which one if more than one could satisfy the
48 dependency).
49
50 Any kind of cross-overlay dependency loses the benefit of atomic git
51 commits. It will be like working with Google's repo tool where unless
52 you have matching tags in every overlay it will be very difficult to
53 ever reproduce the same configuration. Likewise you lose the
54 potential to apply CI/tinderboxing across the entire universe of
55 dependencies.
56
57 All those forked eclasses provide all the compatibility benefits, and
58 security/regression issues, of bundled libraries.
59
60 Some efforts tend to require a lot of misc cross-package work. For
61 example, the systemd team has done a lot of work to maintain units for
62 various packages, and while this is done in cooperation with
63 maintainers most of the commits are done directly by the systemd team
64 and might not get done at all otherwise. For this to happen in an
65 overlay-centric world a team like systemd would need commit rights
66 everywhere, or would need to rely on pull requests getting merged by
67 these teams, or worst case they'd end up having to maintain forks of
68 overlays just to add units, which of course seems wasteful.
69
70
71 You also still deal with the community issues. From a QA standpoint
72 having people in their own sandboxes may ease things. On the other
73 hand, if members of the community have interpersonal conflict on
74 lists/irc/etc then we still need to deal with that, and then we might
75 be asking some overlay with three committers to kick one of them out
76 because they don't get along with somebody who isn't involved with
77 that overlay, or we have to live with perpetual conflict under the
78 Gentoo banner that we're incapable of dealing with. Of course, the
79 same issue exists even though we are in the same repo, since smaller
80 teams feel the same impact, but splitting things up might lead to more
81 of a sense of ownership by these teams, which can be both good and
82 bad.
83
84 I guess QA standards are also a challenge. Are QA standards still
85 imposed from above (thou shalt do these things to be part of the
86 distro)? Or are they more like certification standards (thou shalt do
87 these things to have the stable label applied to your overlay)? Will
88 this also result in forks? For example, suppose the chromium project
89 has no interest in a stable overlay, but there is still demand for
90 one, and the two groups can't get along. Would the stable camp need
91 to basically fork the chromium overlay just to create a
92 chromium-stable? Is this a better use of resources?
93
94 If it sounds like I'm negative on the whole thing it is more because I
95 think it is promising but keep thinking of issues that would need to
96 be overcome. Also, every time I ever touch a project that uses
97 Google's repo tool I inevitably end up cursing it at some point. That
98 isn't necessarily a reason not to try, but we do need to think such
99 things out. To some degree Funtoo has the luxury that it gets to
100 start with a repo where all the benefits of a single tree already
101 exist, so the cons might not be as apparent there.
102
103 --
104 Rich

Replies

Subject Author
Re: [gentoo-project] Making Gentoo more fun Daniel Robbins <drobbins@××××××.org>