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 |