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 |