Gentoo Archives: gentoo-dev

From: Charlie Shepherd <masterdriverz@×××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] New metastructure proposal
Date: Tue, 10 Apr 2007 23:17:36
Message-Id: fc8ec2a10704101611h3b64860ci18730975bdc490f@mail.gmail.com
In Reply to: [gentoo-dev] [RFC] New metastructure proposal by Alexandre Buisse
1 On 10/04/07, Alexandre Buisse <nattfodd@g.o> wrote:
2 > Hi everyone,
3 >
4 > as everyone probably noticed, there is a current atmosphere of sinking ship,
5 > with quite a lot of people leaving and many agreeing that gentoo is no fun
6 > working on anymore. Before it's too late, I'd like to propose a big reformation
7 > that would help solve some of the issues we are currently having and,
8 > hopefully, bring back some of the fun we all had developing and using this
9 > distribution.
10
11 I can't see any great advantage of this new structure, and indeed I
12 think it will lead to more chaos and anarchy than there is already.
13
14 > The basic idea is to make gentoo a lot more meta than it already is. Something
15 > that is said quite often is that gentoo lacks a direction. Some people want it
16 > to be a business-oriented distribution,
17
18 I think the idea with this was of "freezing" the tree, and then only
19 adding bugfixes to the frozen tree to provide enterprise level QA.
20
21 > some want it to be bleeding-edge
22
23 I think you'd struggle to get Gentoo to stop being on the bleeding edge :)
24
25 > , some
26 > a multimedia, development platform, you name it.
27
28 Don't these relate more to the packages we provide than our structure?
29
30 > Obviously, arbitrarily
31 > choosing one of those directions would mean losing a lot of developers, and
32 > this is something we can't afford to do.
33
34 We could of course move in several directions at once...
35
36 > The solution, of course, is to go
37 > meta: provide a set of tools that allow people to build the distribution of
38 > their dreams.
39
40 Don't we already provide most of these tools?
41
42 > This is something that we are already trying to do, but my opinion is that we
43 > are not going far enough.
44
45 How does this proposal help to bring us forward in this respect?
46
47 > This structure has many advantages, one of those being that since projects are
48 > autonomous, they handle their own recruitment,
49
50 Will this decrease QA?
51
52 > which helps the dev/user
53 > distinction fade away.
54
55 I'm not convinced of this distinction. While many people cite the
56 interactions on the forums, mailing lists or bugzilla as evidence of
57 it, if you look at IRC I think you see a quite different picture. I
58 know several users who I get on well with, and who participate
59
60 > It concentrates development in small areas where people
61 > will know each other well and be able to interact efficiently. By
62 > decentralizing, we remove the need for a big authority and give everyone the
63 > freedom they want.
64
65 Just because people want freedom doesn't mean they won't abuse it.
66
67 > The current devrel authority is reduced to only the core
68 > project
69
70 I don't think this is a good idea. Most projects are short on people
71 already, without having to have their members wasting time policing
72 themselves.
73
74 > By having everything as modular as possible, we also allow an easy fork of a
75 > single project, for whatever reason. So if enough people think that mozilla is
76 > being badly maintained by the current project and that people in it don't want
77 > or can't apply their fixes, they can easily provide their own overlay with
78 > better ebuilds.
79
80 People can already do this anyway, they just need to put up a tarball
81 and pop into #gentoo-overlays and ask it be added to the overlay list
82 for layman.
83
84 > And if their version is indeed better, over time it will get
85 > the official status and have superseeded smoothly the first project. Think of
86 > paludis and pkgcore vs portage.
87
88 This is hardly a good example. Pkgcore and paludis both have totally
89 different codebases to portage, heck, paludis is written in a
90 different language. What you talk about above is different _ebuilds_,
91 and I have yet to see a serious dispute over ebuilds that has not been
92 settled in tree. The only existing ones I can think of are new
93 unstable or live ebuilds for packages that the maintainer will not
94 accept.
95
96 > So far, I've come up with two main disadvantages to this reformation. The first
97 > is that dependencies between different projects could become a problem if not
98 > handled carefully.
99
100 I think this is the least of your worries.
101
102 > For one thing, they would require a change to ebuild
103 > syntax, along the lines of DEPEND="dev.perl.libs:libfoo", and of course
104 > support from package managers. Pulling single ebuilds when required instead of
105 > a full overlay would be a nice thing to have as well.
106
107 The extended atom syntax allows a repo-id to be included in the atom,
108 in the form category/package::repo (versions, slots etc can be
109 included too). You could have kde-base/kde::kde for the kde package
110 from the kde repo for example. This would at least make this proposal
111 slightly less chaotic were it actually to take place.
112
113 > Another idea to simplify
114 > this would be to have a central DB with every known ebuild in it
115 > (including
116 > non-official, bad QA ones)
117
118 Who would put in this information? Wouldn't it be easier to fix the QA
119 problems rather than listing them? Unless the ebuilds are in a
120 different overlay, oh wait they are(!). This is a problem with the
121 whole "lets split the tree up into overlays" idea. People act as
122 though devs being allowed to commit to the whole tree is a bad idea. I
123 have seen several mails expressing this, and talked to several people
124 on IRC who were shocked when they realised this. Why? The whole point
125 of being given commit access is that Gentoo is trusting that person to
126 commit to the tree, and if they are not trusted enough to commit to
127 the whole tree they should not have been given access in the first
128 place.
129
130 > and the names of repositories/projects providing
131 > it. This would give enough information to package managers for them to make
132 > intelligent choices about how they should behave.
133
134 Another format?
135
136 > The other big problem is that a migration to this structure would require a
137 > lot of effort from everyone.
138
139 > The good news is that we could use the
140 > opportunity to migrate to a nicer scm
141
142 This hardly seems to offset the negative effects.
143
144 > (and given what gentoo would look like,
145 > a distributed one like mercurial or git would be a natural choice)
146
147 Not at all. Just because projects would be tiered does not mean they
148 would naturally lend themselves to a distributed scm, they would in
149 effect just be overlays. See the scm topic for more discussion on
150 this.
151
152 > and also
153 > that we would get a good idea of what is maintained and what isn't. Leaving
154 > out stuff that no-one wants would then be very easy. Also, I believe that by
155 > having a clear goal, everyone should get a huge motivation boost and I believe
156 > that things could go quite smoothly, and even quickly.
157
158 Just because stuff isn't maintained doesn't mean that it's not being
159 used, and if it's not broken I fail to see why it should be removed.
160
161 > Of course, many details have been left out that should be discussed and solved
162 > before any decision is taken. Among those is the status of arch teams, which
163 > is a bit unclear. An idea would be to have the main three or four most-used
164 > arches (x86, amd64, ppc would be my guess) in KEYWORDS, as usual, along with a
165 > list of repositories that given person is allowed to keyword in, keeping arch
166 > teams organized as they currently are. Other arches would be projects of their
167 > own, with some kind of meta-overlay that specifies which ebuild from which
168 > overlay has been tested, etc.
169
170 This demonstrates how badly the idea of splitting the tree into
171 multiple overlays scales imo. Unless you give arch teams access to all
172 repos. But what about the recent kde vs. mips incident? What if the
173 kde team decided to disallow the mips team access to their repo? Who
174 looses out in the end? Users.
175
176 > But I think it is a better structure than the
177 > one we currently have, and that switching would reduce, perhaps even stop, the
178 > dev bleeding, bring back freedom as well as fun, and help ease the tensions.
179
180 /me would strongly disagree
181
182 > Please criticize this with everything constructive you can think of.
183
184 While I like and respect you, I can say with my hand on my heart, I
185 hope this proposal is never implemented.
186
187
188 --
189 -Charlie
190 --
191 gentoo-dev@g.o mailing list

Replies

Subject Author
Re: [gentoo-dev] [RFC] New metastructure proposal Chris Gianelloni <wolf31o2@g.o>