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 |