Striving for greatness

The life and times of a Gentoo developer and leader

A vote for me is a vote for action

I’m running for the Gentoo council this year, and I wanted to post my “platform” here: who I am, why I’m running, how I see the council, and how I see Gentoo.

For anyone newer, I’d like to first introduce myself and my history with Gentoo. Over the past 8 years, I’ve spent time doing pretty much everything in Gentoo, from maintaining ebuilds to writing documentation and leading teams and projects. I’ve been a recruiter in devrel, served as desktop manager (back when we had top-level project managers, before GLEP 39), and later chaired the council. I also started the clustering team, led X11 maintenance for about 5 years (when I designed the modular X eclass and wrote all 400+ new modular packages as we transitioned from the old XFree86), spent a term as a foundation trustee, and acted as project manager for our ever-controversial GUI installer.

One of my primary roles at the moment is running our participation in the Google Summer of Code, one of our major sources of both income and new developers. Since I took over 3 years ago, we’ve more than doubled the size of our program (we have 15 students this year!) and greatly increased the proportion of students who eventually become Gentoo devs to roughly 67%.

At this point, I’m convinced I can make the biggest difference to Gentoo in two ways: focusing on specific projects like the git transition and improved eclass testing rather than ebuild maintenance (which we have tons of people doing), and leading Gentoo to greatness as a council member, where I’m in the best position to accomplish that goal.

On my last two terms as a council member, I was extremely active in council-related issues both on mailing lists and at meetings, rather than just showing up at meetings to vote and then disappearing into the sunset. I strongly believe that through preparation and accountability, we can have a more productive council, but this requires a true commitment on the part of every member.

Creating a great community

I see this as an area where the council can set direction for all of Gentoo, both through the positive examples of its members and by taking a stand against anything we won’t stand for in our community. The council should be providing guidance to devrel and userrel on what kinds of behaviors should be encouraged and what kinds shouldn’t be tolerated.

Additionally, we should begin collecting metrics on our community so we know where we’re going. Many other projects (and even distributions) do this already, to give them clues of when things are going wrong, what things are going right, etc.

Making progress now instead of waiting years for perfection

There’s a lot of ongoing projects and GLEPs that have been dragging on for years because people want a “perfect” solution. One personal example is the git transition, where I’ve already made this mistake in spending quite a bit of time trying to get a perfect repository layout working when we could have just done a simple conversion of the whole tree and put it in one repo (the current plan, with some changes).

GLEP 55 is another one. There are some times when any decision is better than no decision.

Removing bureaucracy in favor of more agile development & meritocracy

We all know that GLEP 39 needs some changes. I think that most devs just want to Get Stuff Done without fighting with policies, waiting around forever for votes, not getting majorities without any clear direction, and so forth. I believe that our devs vote in the council because they want those people in charge and trust the council members to do what they think is right, including deciding on changes to GLEP 39 to improve how we run things.

I favor a switch to a smaller group more along the lines of the Linux kernel, with a very small leadership core and more of a hierarchy than a huge committee.

Along the same lines, I favor a switch to a more meritocratic approach such as the lead appointments we’ve been discussing recently. Gentoo isn’t a country government that needs to provide for every sick and needy person in its geography; it’s a nonprofit with specific goals it needs to accomplish and should be run as such. In general, companies, including nonprofits, don’t have checks and balances or long, drawn-out votes. What they do have is a board of trustees at the top, which can replace the leadership when it deems necessary.

Another major problem is the lack of continuity in our leadership, mainly because the whole group is re-elected en masse every year. At a minimum, even if we can’t do the above changes, we should switch to a 2-year term and have half the council up for election each year so new councils can start out quickly.

Promoting innovation from individual developers instead of expecting it to all come from the top

As I mentioned above, one of my focuses now is working on interesting standalone projects. I hope that every developer does the same; in addition, or besides whatever you do every day (maintain ebuilds, write/translate docs, etc.), consider starting a new project that has a clear end in sight and that will help Gentoo get better. It doesn’t have to be anything big; and the great thing about projects with a finite length is that you actually finish them at some point.

Getting rid of policies that were created for a single incident, because they should only exist for patterns of repeated problems

A common problem in Gentoo is feeling like a one-time problem can’t be fixed without making a big policy about it, why it can’t be done, what will happen if it’s done again, etc. If you’ve been around Gentoo for a while and start reading through our developer docs, you’ll be able to connect a specific name and instance with pretty much every line that says something like “Don’t do stupid thing X” and “Don’t do ridiculous thing Y.”

I think part of this is rooted in a fear, for lack of a better word, to take personal responsibility for an action; instead, people want a rulebook to point at and say “That’s wrong” so the rulebook is the bad guy.

But rulebooks should only be for the common cases, the patterns, the problems that keep coming up over and over. One-time problems only deserve one-time solutions.

About these ads

Written by Donnie Berkholz

June 27, 2011 at 8:29 am

13 Responses

Subscribe to comments with RSS.

  1. You’ve got my vote!

    ( … oh. )

    James Broadhead

    June 27, 2011 at 10:26 am

  2. Hi Donnie,

    Nice writing. Would you write a bit about your perspective on the relationship of the Council to the Foundation, perhaps with some discussion regarding how the two bodies might work together?

    Thanks

    Matt

    June 27, 2011 at 10:54 am

    • I got this idea from elsewhere, so I take no credit for it — one option is that the foundation could act as a board of directors that would appoint a Gentoo “benevolent dictator for life (until recall)” and determine the overall philosophy/vision of the project but otherwise stay out of the way (besides its current role of legal/financial). No term limits would apply to the BDFLUR but the trustees could vote him/her out, perhaps with a supermajority so it had to be a serious problem for it to happen. So the trustees would be the elected group, and the rest would be appointed in a meritocratic fashion.

      I’m not sure whether that’s a better approach vs just deciding to put someone in charge forever and leaving it as a more classical BDFL.

      Donnie Berkholz

      June 27, 2011 at 11:01 am

      • I favor 3 @ the top. Each with their own focus. Perhaps a general election from dev’s with a requirement of having held council seat or lead for 2 years one seat would require a successfully implemented GLEP or project like GSOC and lead the other two (or be over-ruled by them).

        Then you have hopefully at least one full of ideas who must convince two others it is the proper direction. And you incorporate some of your ‘meritocracy’ at the top with some balance from experience.

        Not in favor of a ‘for life’ term. But 6 years is reasonable. With a new part to the triumvirate every 2 years.

        Council for 2 years sounds a good thing with half re-elected each year.

        Thank you for your contributions.

        user99

        June 28, 2011 at 6:59 pm

  3. So! Enjoyed reading your “platform”. I’m also one of those that firmly believes in leaders that Do Shit. Create new things, fix the old, answers questions, solves problems and bugs.

    Should you get a place at council, what will happen to the git transition?

    Also, I’m interested in hearing what you think can be made to make gentoo feel like a friendlier distro for both users and developers (I’m not saying its unfriendly at the moment).

    Thanks!

    Johan

    June 27, 2011 at 2:15 pm

    • I think becoming a friendlier distro is about 3 things:

      1) A clear path to entry. One of my other ongoing projects is redesigning some of the initial website pages to be more approachable and more easily usable (http://dev.gentoo.org/~dberkholz/gentoo_website/gentoo_landing_white.png, http://dev.gentoo.org/~dberkholz/gentoo_website/gentoo_landing_handbook2_header-bar.png, http://dev.gentoo.org/~dberkholz/gentoo_website/gentoo_landing_install.png, and some other PNG files in that directory).

      2) A way to figure out how to get involved. We’ve learned a lot from the Google Summer of Code about how to get new people participating, now we need to make those changes for everyone. This is related to point 1 but is more about content than design; suggesting some projects, telling people exactly how to interact with the Gentoo community, providing mentorship, etc.

      3) A friendly community. This is where the council, devrel, userrel, and everyone else needs to work together to provide guidance and set examples of what an amazing community should be like.

      Donnie Berkholz

      June 27, 2011 at 2:42 pm

      • You’ve been talking about a new Gentoo website look for quite a while now. May I refer to your post on the 27th of January 2009 (!!), where a referral was made to another lost project on this by a user: http://dberkholz.com/2009/01/27/what-do-you-think-of-the-gentoo-website/#comment-199 ..Now you’re talking about actually finishing something, projects with a finite length, making progress now instead of waiting for perfection where you actually admit you’ve failed in the past, and Get Stuff Done.

        Pardon my negative reply, your call for votes doesn’t give me any more hope, just like I’ve got serious doubts users and developers will get much support with these standalone projects you advice. Sounds like the failed Gentoo Wiki all over again. Ow, what happened to that Official Gentoo Wiki project?

        Meh, just meh.

        Marvin Vek

        July 12, 2011 at 6:57 pm

        • Regarding the website in particular, many things have changed in Gentoo and personally since then:

          – A rather stubborn and picky developer who was pretty much blocking anyone else from working on the website, yet didn’t make much progress himself, left Gentoo;
          – We have a Google Summer of Code student dedicated to working on the website infrastructure, and I’m hoping that he will have time to implement many of the usability improvements in the above mockups;
          – Personally, my kids are old enough that I actually get to sleep at night and even have some free time in the evenings. Furthermore, I’m not maintaining hundreds of ebuilds anymore, so I have more time to focus on specific projects.

          Donnie Berkholz

          July 15, 2011 at 10:01 am

  4. So… keeping in mind I actually support your council intentions, the flaws I’m seeing in your spiel is the notion of action at the top.

    Git’s the easiest to pick on; you state it should move forward with a simpler solution. Ok. Who’s going to do it- who *can*? Roughly the same group of folk who are already poking at it and busy? The ‘simpler’ solution involves discarding our existing (albeit flawed) security in addition; while it’s action, is it necessarily better?

    As for promoting innovation from the ground up… ok, how? Easier access to a project page does not a mature project beget (nor necessarily one that survives to that point), how specifically to improve it?

    Basically… I’m trying to grok how you’ll actually deliver on these intentions considering the reality that the council is largely reactive, and from a herding cats standpoint, can’t just dictate things and force action/improvements- that comes via ground level fostering of individual efforts.

    One of the reasons I wanted out of the council was namely that my time was better spent doing actual work, rather than meetings at the top- you’re suggesting you’ll bring a focus to the council shifting it into a more active role, which is good, I just don’t see how you intend to make it actually happen- I had the same intentions when I ran mind you, hence asking ;)

    While I’m ripping on the spiel a bit, it’s mostly since good intentions don’t necessary equate results- asking how you’re planning on forcing it into reality basically. ;)

    Brian Harring

    June 27, 2011 at 10:03 pm

    • You’re right, it is about herding cats. You can’t force action, but that’s not the only way to convince people to do stuff. =) It’s also about providing motivation and incentive, positive encouragement, requesting that people give you firm commitments with deadlines so they feel a need to follow through, and sometimes simply asking for help. While people may not feel as accountable to just another dev, I think they’ll be more so if they promise a result to the council by some date (as opposed to the council demanding said result).

      One of the reasons I want to be on the council, as I alluded to above re bureaucracy, policies, and GLEP 39, is to get rid of red tape so individual people can innovate, and so those innovations can get into general use more quickly.

      Donnie Berkholz

      June 27, 2011 at 10:29 pm

  5. got two questions:

    1) How do I vote
    2) whats you stance on the “if you don’t changelog on the commits you made you will be banned” stuff I been reading on?

    Thanks,
    Dan Witzel

    Daniel Witzel

    June 28, 2011 at 9:41 am

    • Dan,
      Only Gentoo developers and staff are eligible to vote for the council.

      My stance on the changelog matter is the same as it would be for any rule. Before the rule exists, it’s OK to do whatever you want even if it annoys some people. Once a rule exists and is announced, it’s disrespectful to your colleagues and flouts the authority of Gentoo’s leadership to break that rule, regardless of whether you personally happen to agree or disagree with it.

      Donnie Berkholz

      June 28, 2011 at 9:51 am

      • Fair enough. I work with other humans too so I agree that once a rule is in place you should abide by it, if not find a new job. I overall like your ‘common sense’ approach and enthusiasm that you have now just in this campaign writing alone. I hope you win as I believe this would definitely be good for the community as a whole. Best of luck to you and thanks for taking the time to Introduce yourself to us.

        Daniel Witzel

        June 28, 2011 at 2:45 pm


Comments are closed.

Follow

Get every new post delivered to your Inbox.

Join 35 other followers

%d bloggers like this: