Gentoo Archives: gentoo-dev

From: Rich Freeman <rich0@g.o>
To: gentoo-dev <gentoo-dev@l.g.o>
Subject: Re: Facilitating user contributed ebuilds (Was: [gentoo-dev] The future of the Sunrise project)
Date: Wed, 15 Jun 2016 00:26:08
Message-Id: CAGfcS_niV0xtYVv7XiqX9cP4nQg8aLsk9NEZpdT69_--2PpH=g@mail.gmail.com
In Reply to: Re: Facilitating user contributed ebuilds (Was: [gentoo-dev] The future of the Sunrise project) by Ciaran McCreesh
1 On Tue, Jun 14, 2016 at 6:30 PM, Ciaran McCreesh
2 <ciaran.mccreesh@××××××××××.com> wrote:
3 > On Wed, 15 Jun 2016 00:21:45 +0200
4 > "Andreas K. Huettel" <dilfridge@g.o> wrote:
5 >> Am Montag, 13. Juni 2016, 09:50:15 schrieb Alexander Berntsen:
6 >> > > I still think you're underestimating the need for centralization.
7 >> > > What you call a "core/base" package is probably going to end up
8 >> > > being anything listed in a dependency. That is a LOT of packages,
9 >> > > actually - we're not just talking about libc and zlib.
10 >> >
11 >> > It's not a lot compared to how many we have today.
12 >>
13 >> Please do me a favor and emerge @system on a fresh stage
14 >> installation, with USE=kde ...
15 >>
16 >> ... So,
17 >>
18 >> * does KDE go into the curated repos? or
19 >> * will the useflag functionality be discontinued?
20 >
21 > * Your package mangler tells you you need some packages which can
22 > be found in the ::kde repository if you have that flag enabled, and
23 > suggests you either install repository/kde or disable that USE flag so
24 > that it can continue.
25 >
26
27 Ciaran can certainly correct me if I've missed anything, but the
28 concept here is that the curated packages are distributed across many
29 repositories. So, kde would have a repository. It would still follow
30 QA/etc and have controlled access, so it wouldn't be like a typical
31 overlay in the Gentoo sense.
32
33 What Gentoo would currently put in a project/herd/etc would go into
34 its own repository under this kind of model.
35
36 So, comparing some of the features of this model vs what we do today:
37 1. Developers wouldn't have access to all the ebuilds in the curated
38 repositories. They would only have access to the ones they contribute
39 to.
40 1a. You could accept a contributor into a small project and not have
41 to give them access to the toolchain/etc. Of course, they're still
42 messing with curated packages so you don't want just anybody in there.
43 2. Exherbo at least requires peer review for all commits I believe.
44 So, even if you're committing to your "own" overlay you're still going
45 to need review if your overlay is a curated one.
46 3. Just as with Gentoo if something is curated you can generally
47 count on it to follow QA, and if it is in a non-official overlay then
48 it is anything go and it is probably not to rely too heavily on things
49 like sane version numbering, deps that don't just disappear, etc.
50 4. If somebody really does need to make a "tree-wide" change they're
51 going to need access to a bazillion repos or they'll need to ask
52 everybody else to commit it for them.
53 4a. Conversely, people who probably shouldn't be making "tree-wide"
54 changes won't.
55 5. To the extent that repos contain closely-related packages you can
56 probably make much more effective use of git branching and so on. You
57 would still be limited by any dependency relationships outside the
58 repo.
59
60 I think the key message here is that a distributed model isn't some
61 kind of panacea. It doesn't mean that any random stranger can just
62 open up a repo and start contributing packages that others can build
63 on. Sure, they can create a repo just as somebody can create an
64 overlay, but users will not be able to safely rely on these packages
65 and if you build all kinds of dependency relationships this way you're
66 building on quicksand.
67
68 Likewise, many of the benefits of having a peer-review system can be
69 had whether or not the repository is distributed. Those are really
70 orthogonal attributes.
71
72 I think there are a lot of benefits from an Exherbo-like approach, but
73 I think early in this thread there was a sense that this would just
74 open up the bazaar and all these contributors would come out of the
75 woodwork.
76
77 Now, what it can give you is distributed governance. Maybe the KDE
78 team achieves good Gentoo QA. We don't know how they do it. They
79 don't do it the way everybody else does it. But, somehow they get the
80 job done. So, why not let the KDE team manage their own contributors
81 who can operate in their sandbox without having to go through some
82 Gentoo-wide developer process? I don't think this is what Exherbo
83 actually is doing, but it theoretically is possible. However, it
84 would depend on a KDE team that does in fact maintain good QA. The
85 downside to distributing governance is that you may get inconsistent
86 quality. Again, I don't think this is the Exherbo model.
87
88 So, a distributed model is different, and has some pros and cons. It
89 isn't a panacea.
90
91 --
92 Rich
93
94 --
95 Rich

Replies