On Fri, Jun 10, 2016 at 3:45 AM, Alexander Berntsen <berna...@gentoo.org> wrote:
>
> On 09/06/16 22:15, Michał Górny wrote:
>> Didn't you just contradict yourself? First you tell that everyone
>> should have their own public repo... then you tell that we should
>> merge stuff from those repos. So are you targeting split-repo
>> model, or central repo model, or...?
> Everyone should have their own public repository, yes. I want people
> to be able to grow their own Gentoo as they please. But I'm not
> suggesting we up and away with our developers and expertise. instead,
> we should maintain core/base packages, and curated and reviewed
> small-ish repositories that we feature and recommend using. As such,
> I'm not suggesting anything that major here. Just encouraging users to
> put all their stuff public and get more involved with writing and
> reviewing ebuilds, and, further on, us becoming a bit more modular.

So, I was chatting with an Exherbo dev.  Their model isn't quite what
your earlier emails seemed to suggest (at least as I read it).

The impression that I got from your earlier emails is that you're
advocating a highly decentralized bottom-up system, where everybody
just publishes their packages and people borrow from each other's
work, and the behavior of the overall distro is fairly emergent.  You
suggested at one point that the need for what we call developers could
almost go away.  Now you're talking about having centralized core/base
packages, which obviously necessitates developers.  Maybe your concept
is that the core/base packages are a very small subset of what we have
today.

I still think you're underestimating the need for centralization.
What you call a "core/base" package is probably going to end up being
anything listed in a dependency.  That is a LOT of packages, actually
- we're not just talking about libc and zlib.  You can't have those
packages just randomly disappearing or having inconsistent versioning.

As I understand it the Exherbo way is to have many different
repositories, but just about anything used as a dependency and most
important packages are in officially-blessed repositories.  All
packages in the blessed repositories go through code review in gerrit.
So, maybe every maintainer has their own private git repo, but they
don't publish effective changes in their own repos without going
through central code review.  That is actually MORE centralized in a
sense than Gentoo's overlay system.  The overall distro isn't emergent
from a lot of random devs doing their own thing.

There are some pros and cons to that sort of approach that I can think
of offhand.  Security is an obvious pro - people only have access to
modify the packages they actually maintain.  It probably also means
that you can more readily make repositories official since their
ability to do dumb stuff is limited.  However, there are cons with
regard to collaboration.  If somebody needs to make a distro-wide
change they would need to get all the repo owners to apply the changes
to their own repos - they can't just have at the main tree with a
script (not entirely a bad thing, I'll admit).  Co-maintainership is
also a potential challenge, since you now need repos that multiple
people can access, and doing that on an individual package basis could
get messy (it would work well for defined teams).

Don't get me wrong - such a model has its advantages and we should
talk about them.  Just don't think that it magically gets rid of the
need for central coordination.

The NixOS approach has the potential to be more organic, but I'd think
that it would tend to lead to the zlib problem I brought up.  I'll
post a separate reply to that to clarify the issue.

-- 
Rich

Reply via email to