Gentoo Archives: gentoo-server

From: Darren Kirby <bulliver@×××××××××××××××××.com>
To: gentoo-server@l.g.o
Subject: Re: [gentoo-server] Random thoughts about portage maintenance
Date: Sun, 12 Sep 2004 19:21:18
Message-Id: 200409121221.44807.bulliver@badcomputer.no-ip.com
In Reply to: [gentoo-server] Random thoughts about portage maintenance by Jose Gonzalez Gomez
1 quoth the Jose Gonzalez Gomez:
2 > I've been thinking about the problem stated a few days ago about portage
3 > maintenance... first of all, I'm not on the developer list, so I don'tknow
4 > if many of the assumptions I'm making here are right or wrong, so a big
5 > "correct me if I'm wrong" must be assumed everywhere... well, here it
6 > goes...
7 >
8 > THE PROBLEM
9 >
10 > Portage is slowly getting out of date. Some facts: portage has 7600
11 > packages, and more than 80.000 files, but only 200 devs. This is clearly
12 > insufficient to maintain such a system.
13 >
14 > DEVS RESPONSABILITIES
15 >
16 > The Gentoo devs have the following responsabilities (correct me if I'm
17 > wrong): - Mantain a structure giving support for Gentoo
18 > - Develop portage (the core of Gentoo)
19 > - Enhance the current platform with the creation of new projects specific
20 > to Gentoo
21 > - Create and mantain ebuilds
22 > - Create and mantain Gentoo specific patches for those ebuilds
23 > - Resolve bugs created at bugs.gentoo.org
24 >
25 > MY RANDOM THOUGHTS
26 >
27 > A. REGISTERED USERS / TESTERS
28 > Well, first of all, open source software is all about participation, but
29 > how many Gentoo users would want to become a developer? Probably few. We
30 > all have college, works, families, hobbies,... and Gentoo would be another
31 > thing stealing our precious time, so how to get more developers? Does
32 > Gentoo really need more developers?
33 >
34 > Let's see... from my point of view, there are "core" responsabilities and
35 > "secondary" responsabilities. I mean that the real heart of Gentoo is
36 > basically portage, so I think core developers should concentrate on further
37 > developing and enhancing the Gentoo base, while leaving the "mundane" tasks
38 > of creating ebuilds and resolving bugs to other people, or maybe a second
39 > level of developers. Anyway we still have the problem of few developers
40 > dealing with a lot of ebuilds.
41 >
42 > I think (again correct me if I'm wrong) that a great part of the ebuild
43 > creation and maintenance task consist of testing the ebuilds, so they
44 > install the software properly, and there are no problems once that software
45 > is installed. Then that ebuild enters the unstable branch, and if there are
46 > no further problems, the ebuild become stable... and here is where I think
47 > the system may be greatly improved:
48 >
49 > Let's say Gentoo creates new posts: registered users and/or registered
50 > testers. Ok, maybe there are few out there wanting to become a developer,
51 > but there are tons of users out there continously installing and testing
52 > Gentoo. Why don't take advantage of that? The developer task may take a lot
53 > of time, and may be not rewarded, but testing new software is something
54 > that people uses to do while they're studying, working, or even playing at
55 > home. Let's make them take a step further: become a registered user or
56 > tester that reports directly to Gentoo their success or failure, instead of
57 > just writing to some list saying they have a problem, or they've been
58 > successful while installing and using an ebuild.
59 >
60 > I would do this per package. I mean a registered user/tester would be
61 > associated with a set of packages she uses on a daily basis. Testers would
62 > have an associated rating of reliability (I don't know if this is the best
63 > word for this) and would be notified whenever a new version of the package
64 > comes out. So I see the process somewhat like this:
65 >
66 > 1. Somebody (dev or not) writes a new ebuild
67 > 2. If not submitted by a dev, a dev checks the ebuild for form defects (bad
68 > CVS tags, USE flags unproperly used,...) and admits or rejects the ebuild
69 > 3. Registered testers are notified of it
70 > 4. During testing period, registered testers report success or failure,
71 > weighed up based on their reliability rating. The ebuild may change,
72 > resetting the testing period.
73 > 5. Once the testing period has finished, if the average of success reports
74 > weighed up with reliability ratings is greater that a threshold, accept the
75 > ebuild and put it in the unstable branch, maybe repeating the process with
76 > registered users.
77 >
78 > I guess this is what is done right now at bugzilla in an informal way, but
79 > I think that formalizing this process would have a few benefits:
80 >
81 > 1. Right now (at least in my case) people know of new ebuilds in bugzilla
82 > when they actively search for a package in bugzilla. The automatic notify
83 > process would greatly increase the testing of new ebuilds just created in
84 > bugzilla, instead of limiting this testing to people that just has found
85 > the bug 2. A tester has a much lower responsability and time dedication
86 > than a developer, so people in their daily jobs could develop this role
87 > 3. The testing work of a developer could be delegated on these testers, and
88 > in turn they could use their time for more important things, just having
89 > the responsability of reviewing reports and taking a decission based on
90 > that.
91 >
92 > One of these testers could eventually become an ebuild submitter, or even a
93 > package mantainer.
94 >
95 > B. AUTOMATIC INFORMATION RETRIEVAL
96 > Another thing that I think could be interesting is some form of automated
97 > sending of information about installed packages in test/production
98 > environments. Registered users / testers could install a tool in their
99 > systems that would send information to some kind of server about their
100 > platform, gcc/glibc versions and options, use flags, installed packages,
101 > ... That information would then be used by some data mining techniques to
102 > find information about bugs, taking into account reports from the tester,
103 > so the system could relate success/failure reports with the state of the
104 > system in a particular moment. Maybe even this tool could also be used to
105 > send the reports, so the information is included in it.
106 >
107 >
108 > Well, that's all by now, best regards
109 > Jose
110
111 That's a great idea. Speaking for myself, I would fit perfectly into this
112 'tester' profile. I don't have the technical ability to be a dev (ie, I can't
113 program in C), but I can certainly write and test ebuilds. This is a way that
114 all the non-hardcore techies can give something back to Gentoo.
115
116 And anything that would speed up new/updated ebuilds through bugzilla has got
117 to be a Good Thing...
118
119 -d
120 --
121 Part of the problem since 1976
122 http://badcomputer.no-ip.com
123 Get my public key from
124 http://keyserver.linux.it/pks/lookup?op=index&search=bulliver
125 "...the number of UNIX installations has grown to 10, with more expected..."
126 - Dennis Ritchie and Ken Thompson, June 1972