Hi Ryan,

Ryan Phillips wrote:
I believe the way Gentoo is doing things is broken.  There I have said it.  The
entire project has reached a level of being too political and trying to solve
certain problems in the wrong way.

I think it actually works quite well. Yes, there is space for improvement, like always, but the situation is at least not bad.

__Problem: Developer Growth__

I find that developer growth as being a problem.  Adding a developer to gentoo
should be as easy as 1. has the user contributed numerous (~5+) patches that
helps the project move forward.  If yes, then commit access should be given.
Adding a developer is usually quite a chore.  There are numerous reasons why
this is a problem: having a live tree, taking a test, and not defining within
policy when a person could possibly get commit access.

I can only speak for me here, but the quiz wasn't a barrier at all to me. Instead, it was an interesting way to make sure that I get familiar with all the stuff I have to. I found it a much better way to answer questions about a topic where you have to find the answers than just reading through tons of docs, not knowing whether something is important to you or completely unrelated.

Besides that, I think the tree is far too worthy to give it away after 5 patches. Just because I fixed a bunch of compiling errors, that doesn't mean I know how to fix ebuilds. Just because I wrote a few ebuilds, that doesn't mean I understand how eclasses work, which ones to use where and what profile.bashrc is good for.

I've seen ebuilds from people who have written quite a bunch of ebuilds and were really interested in understanding how they work, but the work they produced just was awful and hurt my eyes. I don't mean that the mean way, I don't expect anything else, and I was just the same. However, the mentoring process and the quiz have helped me a lot to understand not-so-obvious problems.

All these reasons leave the project stagnant and lacking developers.

I wouldn't say so. Just about two weeks or so ago, the recruiters had to defer new requests, because they couldn't deal with them in a timely fashion. You can now tell me that this makes it even worse, but I just see that as the proove of the fact that people are interested in helping us and ready to take the quiz and all the "hassle" involved with becoming a dev.

Another good reason to keep the current process is the fact that a lot of people become dev and vanish a week after their mentoring period expired. These people would better contribute to the project in a more distant way IMHO, because it takes up a fair amount of time to clean up these accounts afterwards. If you don't beleave me, ask kloeri. ;)

Perhaps its because of a live tree...

That's surely a big factor.

__Problem: Live Tree__

Having a live tree requires people to be perfect.  People are not perfect and
requiring it is ridiculous.  I love having commits in my local tree within the
hour, but having a stable and unstable branch makes a lot of sense.

It doesn't require people to be perfect. It requires people to think before commiting. If it really required us to be perfect, we wouldn't exist in the first place, would we?

Having a stable and unstable branch doesn't have many advantages over stable and unstable keywords IMHO, but requires a HUUUGE effort to keep them in sync. It would make things more complicated than necessary. You say we're lacking developers. Do you really want to spend [insert random big number here] of these much-needed developer hours to merging an old with a new tree?

__Problem: CVS__

I would like to see us using svn instead of CVS too, but I think that's just a technical detail, not really fitting here.

__Problem: QA Policies__

Everyone here is on the same team.  There will be some breakages in the tree
and those can be dealt with.  Like Seemant [1] said, herds are just groups of
like *packages*.  The QA Policy is wrong when it says cross-team assistance; we
are all on the *same* team.  The tree should naturally work.  If it doesn't
then that is a bug for all of us.

This sounds romantic. However, Gentoo to me isn't 300 people who are all my friends, all working on a common goal. Gentoo, to me, is a bunch of very nice people that share a goal with me, some big mailing lists with flames every now and then and a big mass of people whose work I use and appreciate but who I don't have a f*cking clue about. I don't know what they are like, they work on other things than I do. But that's not a problem at all.

Conflict resolution should not be a subproject.  It should *not* exist at all.

You mean conflicts or conflict solution shouldn't exist at all?
If the former, that's unrealistic. If the latter, why not?

Rules need to be in place to avoid conflict.  Having some sort of voting
structure for all the developers (this doesn't mean requiring everyone to vote)
and not just the council or devrel makes a lot of sense for most things.  If I
don't like how someone is acting within the project there should be a vote and
then see if that person is kicked out.  No trial, no anything besides a vote.
And if I lose I have to deal with it.  Either stay with the project, or find
something else.  This solution just works.

Do you really think just because 60% of the voting devs agreed on something the other 40% will like it suddenly? Conflicts cannot be avoided, other than shooting down all people which don't share your point of view.

Gentoo should be a fun environment.  The previous paragraph should be taken as
a last resort.

Gentoo is fun to me.

__Problem: GLEPs__

I dislike GLEPs.  Usually they sit on the website for a long long time not
doing anything.  My vote (+1) is get rid of gleps and do everything by email
and a vote by the developers.  AFAIK, the board votes on the GLEPs.  Bad Idea.
It stifles things from getting done, and there is no ownership of who is going
to implement the idea.

I dislike them too. However, you're not addressing the issue IMHO. The problem is not that the council votes on them. The problem is much more that they are proposed to the whole dev community. Yes, you read right. It's mostly a good thing, but it is also a show stopper. I once wrote up a GLEP, sent it to the dev ml. Some people liked it, others wanted this or that changed. I re-submitted it, and they criticised this and that (which is a good thing!). So I fixed all the stuff they pointed out. In the end, I had a GLEP. But what I documented was not the idea I wanted to implement. So I lost interest. The GLEP got approved, but it's still not implemented. I don't know if anybody is working on it, I wont, because it's no longer what I once wanted to push forward.

I would like it much more, if the people who are not affected by the GLEP wouldn't read it at all anyway. Whenever something is discussed I'm not involved in or affected by at all, I try to keep my mouth shut. I just trust the guys who submitted it to do their job the right way. And IMHO, this is exactly the point. Trust the others to do their job seriously and well. We don't need a whole dev community voting on an idea. Having everybody vote instead of a 7-headed council won't reduce politicalness. And that was what all your mail was about, in the end.

__Problem: Voting__

Heh, really don't need to comment on that one anymore. ;)

--
Kind Regards,

Simon Stelling
Gentoo/AMD64 Developer
--
gentoo-dev@gentoo.org mailing list

Reply via email to