1 |
-----BEGIN PGP SIGNED MESSAGE----- |
2 |
Hash: SHA1 |
3 |
|
4 |
...or, Trees and Tree Climbers: Shaking up the tree |
5 |
|
6 |
Parts of this argument have been raised before. If this particular angle |
7 |
has already been addressed, kindly point me to the archive so I can see |
8 |
whether I have anything new and original to add or not. Please desist |
9 |
from simply flaming this as a "seen it, declined it" deal. |
10 |
|
11 |
I was listening to last night's recording of the Linux Link Tech Show, |
12 |
during which one of the Fedora leads was interviewed. During the course |
13 |
of his talk, he mentioned that Fedora had a 1000+ contributors, with |
14 |
only about 250 (ish) actual Fedora developers with commit rights to the |
15 |
final tree. This got me thinking about how Gentoo has historically |
16 |
handled contributors and the tree, and made me wonder if there weren't a |
17 |
better way that would help bolster direct community involvement without |
18 |
simultaneously overtaxing our existing infrastructure. |
19 |
|
20 |
One of Gentoo's flaws, and I can say this because I have been guilty of |
21 |
doing this at least once in the dim past, is that our work-from tree is |
22 |
the same one that the mirrors are reading and people are downloading to |
23 |
their desktops. A mistake in committing to CVS ruins it for everyone, |
24 |
with rapid (and rabid) users getting bit right after a --sync. We've |
25 |
done a good job of catching and correcting these incidents - but |
26 |
wouldn't it be nice if they couldn't happen as easily? |
27 |
|
28 |
One of the comments I hear frequently from active users is that they |
29 |
would love to be able to help maintain a package, or assist with what we |
30 |
do, but have neither the time nor the energy to become a full dev. Sure, |
31 |
we have the various overlays, bugzilla, and the home grown solutions |
32 |
that some teams have come up with, but there isn't a cohesive, unified |
33 |
approach to the issue of maintaining by proxy that I am aware of. |
34 |
|
35 |
What I would like to propose is that we have an official (yes, official) |
36 |
cvs overlay that is used by developers *and* contributors to commit new |
37 |
ebuilds and changes to. Mirrors would still pull, as they always have, |
38 |
from the gentoo-x86 cvs repo. "Official" Gentoo developers would then be |
39 |
able to take from the overlay and commit to the main tree at will, but |
40 |
have a common stomping ground for contributors and developers to work in |
41 |
without fear of breaking the rest of the tree. We reward those users |
42 |
(pardon the terms if you find that condescending, its not intended as |
43 |
such) with the drive and passion, but not the means, resources, or time, |
44 |
by making them contributors to this overlay, where they can make cvs |
45 |
commits. |
46 |
|
47 |
This overlay wouldn't necessarily need to be the whole of the tree, |
48 |
either. Some areas, such as profiles, could be absent, as well as select |
49 |
projects (perhaps the kernel and toolchain portions?). These |
50 |
contributors wouldn't need to have a flood of @gentoo.org email |
51 |
addresses - they are only contributors who, for whatever reason, are not |
52 |
actually full scale developers. |
53 |
|
54 |
What's the advantage to the developer community? I'm glad you asked :) I |
55 |
see a few benefits right from the start. First, it frees up some of the |
56 |
developers from the 'grind' of the bump-test-commit cycle. We (the |
57 |
Gentoo developers) didn't come here to be ebuild monkeys. We came here, |
58 |
gave our energy and time, so that we could help shape and make something |
59 |
out of this product. The bump and grind is a necessary part of it, but |
60 |
too often, especially for teams managing large segments (perl team |
61 |
being, obviously, no exception), that bump-test-commit cycle becomes the |
62 |
only thing you are ever doing. |
63 |
|
64 |
This might mean some developers, who joined Gentoo solely for the |
65 |
ability to commit new ebuilds and maintain a small segment of the tree, |
66 |
decide to downgrade themselves to contributor status. That isn't a bad |
67 |
thing, and I wouldn't suggest that it be compulsory either. But it would |
68 |
also mean that we would be opening the doors for those folks that |
69 |
actually want to help with the maintenance without the pressure and |
70 |
requirements of being a dev. Perhaps the definition and role of a dev |
71 |
would need to be modified, enhanced even, under this new guise, but I |
72 |
don't believe that to be a bad thing. |
73 |
|
74 |
What about the infrastructure requirements? Well, hopefully, A) we're |
75 |
scaled so that if we had a 1000 developers with cvs access we'd be ok |
76 |
anyway (in which case, under this proposal, there would be little |
77 |
difference - 1000 cvs accounts is a 1000 cvs accounts, no matter which |
78 |
way you slice it), and B) we'd only be talking about the *actual* cvs |
79 |
end of the house, not anything that would affect the mirrors. I wouldn't |
80 |
suggest that this additional cvs root be opened to the user community at |
81 |
large, or that the mirrors be asked to dup it as well. Since in my |
82 |
(limited?) vision this would only be a segment, albeit a sizable |
83 |
segment, I'll grant, it shouldn't exceed any of the current thresholds |
84 |
we have. |
85 |
|
86 |
As developers, we are already accustomed (and if not, what exactly are |
87 |
you maintaining in the tree??) to using a cvs checkout as an overlay. |
88 |
This would simply be adding another checkout - and, it strikes me, |
89 |
finally achieving the 'stable' vs 'development' branches of the tree. |
90 |
And yes, in case the question is posed, the 'stable' branch that is |
91 |
mirrored would still have ~arch'd material; removing testing ebuilds is |
92 |
not the intent. The intent is to open up the development and maintenance |
93 |
of the tree to the audience at large. And maybe even making the dev |
94 |
mailing list about development again, as devs that were formerly tied up |
95 |
in in the bump cycle are now free to do what they came here to do: have |
96 |
parties and lobby for the softserve machine. |
97 |
|
98 |
This email was not vetted by any member of infrastructure, or the |
99 |
developers at large (that's what I thought the -dev mailing list was a |
100 |
forum for, after all). I speak in hypotheticals and potentials here, not |
101 |
based on hard concrete facts, so some of my premises may be amiss. Yes, |
102 |
I believe we would need to create some new 'tools' (ok, shell scripts :) |
103 |
to help with some of the maintenance involved in this plan - but that |
104 |
should hardly be a hinderance, as I'm sure there's plenty of us that |
105 |
love sinking our teeth into a good shell script (or a bad one, as the |
106 |
case may be). |
107 |
|
108 |
Comments? |
109 |
|
110 |
~mcummings |
111 |
|
112 |
P.S. Core readers, the irony isn't lost on me that I am posting to dev. |
113 |
Consider this my last ditch post about development on -dev :) |
114 |
- -- |
115 |
|
116 |
- -----o()o---------------------------------------------- |
117 |
Michael Cummings | #gentoo-dev, #gentoo-perl |
118 |
Gentoo Perl Dev | on irc.freenode.net |
119 |
Gentoo/SPARC |
120 |
Gentoo/AMD64 |
121 |
GPG: 0543 6FA3 5F82 3A76 3BF7 8323 AB5C ED4E 9E7F 4E2E |
122 |
- -----o()o---------------------------------------------- |
123 |
-----BEGIN PGP SIGNATURE----- |
124 |
Version: GnuPG v2.0.4 (GNU/Linux) |
125 |
|
126 |
iD8DBQFGZ+9xq1ztTp5/Ti4RAmc2AKChahdXYyVViF1u7202XiypnoFybACgmx0/ |
127 |
9VeDhgKjnMTE3WNFtYarU3w= |
128 |
=uOtS |
129 |
-----END PGP SIGNATURE----- |
130 |
-- |
131 |
gentoo-dev@g.o mailing list |