Gentoo Archives: gentoo-dev

From: Ryan Phillips <rphillips@g.o>
To: gentoo-dev@l.g.o, Ryan Phillips <rphillips@g.o>
Subject: Re: [gentoo-dev] Gentoo: State of the Union
Date: Fri, 28 Apr 2006 20:42:14
Message-Id: 20060428203533.GC63263@watcher.kimaker.com
In Reply to: Re: [gentoo-dev] Gentoo: State of the Union by Grant Goodyear
1 Grant Goodyear <g2boojum@g.o> said:
2 > Ryan Phillips wrote: [Fri Apr 28 2006, 12:14:53PM CDT]
3 > > __Problem: Developer Growth__
4 >
5 > I've seen suggestions before that one of the things limiting Gentoo's
6 > growth right now is the hurdles involved in becoming a dev. I don't
7 > really think the dev quiz is all that onerous, but I'm willing to listen
8 > to arguments there.
9 >
10 > > __Problem: Live Tree__
11 > >
12 > > Having a live tree requires people to be perfect. People are not
13 > > perfect and requiring it is ridiculous. I love having commits in my
14 > > local tree within the hour, but having a stable and unstable branch
15 > > makes a lot of sense.
16 >
17 > Does it? How does having a stable and unstable branch differ from
18 > having stable and unstable keywords?
19 >
20 > On older idea was peer review. Any dev could commit to the
21 > not-yet-ready-for-primetime branch, but those commits would have to be
22 > peer-reviewed before being added to the user tree. It's a great idea,
23 > except (a) nobody wants to do the reviewing job and (b) it would be a
24 > full time job.
25 >
26 > >
27 > > CVS doesn't do branching nor tags very well...
28 > >
29 > > __Problem: CVS__
30 > >
31 > > CVS is one of the worst application ever created. The portage tree
32 > > needs to move to subversion. A lot of the problems within the project
33 > > would be solved by using a better SCM system. The previous problems
34 > > regarding the Live Tree and Developer Growth would be solved, IMHO, by
35 > > just switching. Branches Work. Tags Work. Reverts work. Moves
36 > > work. I don't see any reason not to use it. It just plain works.
37 >
38 > Have you tried using SVN for the portage tree? I don't know if anybody
39 > has recently, but in the past when people tried there were two
40 > significant problems: SVN requires at least 2x the tree size for storage
41 > on the local machine, and checkouts take something akin to an order of
42 > magnitude longer than CVS. The former is annoying, but liveable, but
43 > the latter is a deal-breaker.
44 >
45 > > __Problem: QA Policies__
46 > >
47 > > http://article.gmane.org/gmane.linux.gentoo.devel/37544
48 > >
49 > > It seems that the QA Policies are a product of a Live Tree, and going
50 > > partially non-live would solve the problems listed.
51 >
52 > QA does help with fixing broken packages, but in my view their most
53 > important mandate is to help devs fix bad habits in writing ebuilds.
54 > Repoman and lists of best-practices help in this regard, but the QA team
55 > tends to be much better at explaining why something is a bad idea.
56 >
57 > > Conflict resolution should not be a subproject. It should *not* exist
58 > > at all. Rules need to be in place to avoid conflict. Having some
59 > > sort of voting structure for all the developers (this doesn't mean
60 > > requiring everyone to vote) and not just the council or devrel makes a
61 > > lot of sense for most things. If I don't like how someone is acting
62 > > within the project there should be a vote and then see if that person
63 > > is kicked out. No trial, no anything besides a vote. And if I lose I
64 > > have to deal with it. Either stay with the project, or find something
65 > > else. This solution just works.
66 >
67 > It's worth noting that with the exception of kicking people out of
68 > Gentoo, much of our practices do, in fact, work just this way, although
69 > without the formality of a vote. That's what happens when somebody
70 > posts to -dev with an idea, it gets kicked around, and some sort of
71 > consensus is either reached, or it isn't. In the latter case it's not
72 > ready for prime time, most likely.
73 >
74 > > __Problem: GLEPs__
75 > >
76 > > I dislike GLEPs. Usually they sit on the website for a long long time
77 > > not doing anything. My vote (+1) is get rid of gleps and do
78 > > everything by email and a vote by the developers. AFAIK, the board
79 > > votes on the GLEPs. Bad Idea. It stifles things from getting done,
80 > > and there is no ownership of who is going to implement the idea.
81 >
82 > > A new idea proposal should be mailed to a mailinglist (-innovation?)
83 > > with details of timeline to completion, impact, and who is doing the
84 > > implementation. If it sounds like a good one, then there is a vote
85 > > and things proceed. I like progress.
86 >
87 > It's not quite true that the Council votes on GLEPs, but that's not
88 > really germane to your overall point. Despite being the person who
89 > created GLEPs in the first place, I'm quite willing to admit that the
90 > concept doesn't seem to work as well as I had hoped. I'm not sure that
91 > your idea would work better, however, since the only real difference
92 > would be in the approval process. Presumably you would still expect to
93 > see the sort of iterative refinement of proposals/innovations on -dev
94 > that we have now, and I believe that part of the project works
95 > reasonably well. The problem, in my view, is that eventually the
96 > proposal is approved, and the folks involved are told, in essence,
97 > "great idea, go to it", and then it stalls because implementation is
98 > _hard_, in general.
99 >
100 > As an aside, the large number of moribund GLEPs was always an intended
101 > outcome. They represent ideas that never got any traction, and thus
102 > went nowhere. By having them publicly available we help reduce the
103 > number of "hey, what about this bad idea" posts to -dev.
104 >
105 > > __Problem: Voting__
106 > >
107 > > Gentoo has over 200 developers. People are generally against the
108 > > voting idea, but I'm not sure why. I think voting should work like
109 > > this: if 30 developers (or someother specified number) vote yes to an
110 > > idea then that idea passes. It doesn't require everyone to vote, be
111 > > at home, be on the computer, and not be on vacation.
112 >
113 > *Shrug* I don't really have a problem w/ trying some sort of voting.
114 > At the same time, it's not clear to me that the outcome will be all that
115 > different from what we have now, with the possible exception that debate
116 > might get cut off sooner when some sort of threshold vote is reached.
117 >
118 > > What is interesting is that Source Mage Linux has already voted on a
119 > > proposal similar to mine[2]. I truly think that making some changes
120 > > in the "gentoo way" would benefit us and make gentoo a truly better
121 > > distribution.
122 >
123 > I tend to agree that our current system is suboptimal, but I'm not quite
124 > convinced that the proposed changes would actually improve things.
125 >
126 > There's a lot here, but perhaps we can streamline things a tad. What's
127 > the major problem that you're looking to solve? Is it the shortage of
128 > developers, or the lack of progress in a certain area, or the
129 > (perceived?) difficulty in getting "foo" accomplished?
130
131 The first thing that we should acomplish is a different SCM system for
132 the portage tree. This should be our #1 priority. This change would
133 give us more freedom and fix some of the problems I proposed.
134
135 SCMs:
136 git - terrible with lots of tiny little files
137 darcs - haskel shouldn't be a dependency
138 mercurial - haven't tried it w/ the tree, has anyone?
139 svn - seems like the best candidate for now. 2x drive space isn't a
140 lot. we don't do entire checkouts very often.
141
142 To reiterate, changing SCMs would allow us to work better. I have
143 not heard of a proposed change, a date to change, etc. I strongly
144 urge that we get something rolling.
145
146 -ryan

Replies

Subject Author
Re: [gentoo-dev] Gentoo: State of the Union Donnie Berkholz <spyderous@g.o>
Re: [gentoo-dev] Gentoo: State of the Union Grant Goodyear <g2boojum@g.o>