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: Fri, 10 Jun 2016 10:39:06
Message-Id: CAGfcS_n9GVNXyDmi+vGSkra1TeQJkVHX5ADKYsQjmsmrGBfsPA@mail.gmail.com
In Reply to: Re: Facilitating user contributed ebuilds (Was: [gentoo-dev] The future of the Sunrise project) by Alexander Berntsen
1 On Fri, Jun 10, 2016 at 3:45 AM, Alexander Berntsen <bernalex@g.o> wrote:
2 >
3 > On 09/06/16 22:15, Michał Górny wrote:
4 >> Didn't you just contradict yourself? First you tell that everyone
5 >> should have their own public repo... then you tell that we should
6 >> merge stuff from those repos. So are you targeting split-repo
7 >> model, or central repo model, or...?
8 > Everyone should have their own public repository, yes. I want people
9 > to be able to grow their own Gentoo as they please. But I'm not
10 > suggesting we up and away with our developers and expertise. instead,
11 > we should maintain core/base packages, and curated and reviewed
12 > small-ish repositories that we feature and recommend using. As such,
13 > I'm not suggesting anything that major here. Just encouraging users to
14 > put all their stuff public and get more involved with writing and
15 > reviewing ebuilds, and, further on, us becoming a bit more modular.
16
17 So, I was chatting with an Exherbo dev. Their model isn't quite what
18 your earlier emails seemed to suggest (at least as I read it).
19
20 The impression that I got from your earlier emails is that you're
21 advocating a highly decentralized bottom-up system, where everybody
22 just publishes their packages and people borrow from each other's
23 work, and the behavior of the overall distro is fairly emergent. You
24 suggested at one point that the need for what we call developers could
25 almost go away. Now you're talking about having centralized core/base
26 packages, which obviously necessitates developers. Maybe your concept
27 is that the core/base packages are a very small subset of what we have
28 today.
29
30 I still think you're underestimating the need for centralization.
31 What you call a "core/base" package is probably going to end up being
32 anything listed in a dependency. That is a LOT of packages, actually
33 - we're not just talking about libc and zlib. You can't have those
34 packages just randomly disappearing or having inconsistent versioning.
35
36 As I understand it the Exherbo way is to have many different
37 repositories, but just about anything used as a dependency and most
38 important packages are in officially-blessed repositories. All
39 packages in the blessed repositories go through code review in gerrit.
40 So, maybe every maintainer has their own private git repo, but they
41 don't publish effective changes in their own repos without going
42 through central code review. That is actually MORE centralized in a
43 sense than Gentoo's overlay system. The overall distro isn't emergent
44 from a lot of random devs doing their own thing.
45
46 There are some pros and cons to that sort of approach that I can think
47 of offhand. Security is an obvious pro - people only have access to
48 modify the packages they actually maintain. It probably also means
49 that you can more readily make repositories official since their
50 ability to do dumb stuff is limited. However, there are cons with
51 regard to collaboration. If somebody needs to make a distro-wide
52 change they would need to get all the repo owners to apply the changes
53 to their own repos - they can't just have at the main tree with a
54 script (not entirely a bad thing, I'll admit). Co-maintainership is
55 also a potential challenge, since you now need repos that multiple
56 people can access, and doing that on an individual package basis could
57 get messy (it would work well for defined teams).
58
59 Don't get me wrong - such a model has its advantages and we should
60 talk about them. Just don't think that it magically gets rid of the
61 need for central coordination.
62
63 The NixOS approach has the potential to be more organic, but I'd think
64 that it would tend to lead to the zlib problem I brought up. I'll
65 post a separate reply to that to clarify the issue.
66
67 --
68 Rich

Replies