You are viewing spyderous

Wouldn't it be nice ...

if life were perfect?

2/21/08 10:22 pm - Redux: Gentoo's top 3 issues

People were so busy complaining about my pie chart that most of them apparently didn't have a chance to think about the meaning of the actual data. To try helping people look at the information rather than its presentation, here's a bar chart of the same information:

I don't recommend looking at it because you may go blind, but I've made available the (extremely ugly) script that created this.

2/18/08 11:42 pm - What are the top 3 issues facing Gentoo?

I ran a quick, informal poll on the internal Gentoo developers' list last week, and tonight I began analyzing the results. 50 developers responded to my 9-question survey, and I'm going to post the results of 1 question at a time.

First question: What are the top 3 issues facing Gentoo?

Pie chart

Technical issues are way down on the list. Developers' top 5 issues are manpower, publicity, goals, developer friction, and leadership. It's good to see that we've been addressing at least a couple of them with the newly energized public relations project and work on the Code of Conduct. Other issues that have been ongoing for quite a while now are the lack of distro-wide vision and goals. The Council could provide those by increased activity and taking stronger stands in particular directions, and that's part of the reason I did this survey—to figure out which directions our developers care about. I think part of the problem is that nobody sits around pondering directions and ideas. Everybody's busy working in their own little areas and not thinking about the big picture. Manpower, or lack of it, is another issue I'm indirectly addressing in my push for greatness, which I'm going to post more about at some point (I promise!).

To create this chart, I used Google's excellent chart API. The neat part about the API is that it's simply a URL, so you can construct it with any language. I used a shell script since I was already fiddling around with awk. Any answer with less than 4 respondants was grouped into Other to make the rest of the chart readable.

2/5/08 01:08 am - Improving Gentoo's PR

This won't be a long post, because I'm tired. Sorry for the dearth of posts on here, but I've been busy writing other things—see below.

For anyone who hasn't heard, I took over as lead of Gentoo's public relations efforts a little over two weeks ago. Three days earlier, I wrote an LWN article concluding that Gentoo isn't falling apart, but it's totally failing to communicate. After writing that article, I realized that somebody had to step up to deal with this problem—who better than me?

My focus right now is showing people that Gentoo development is just as alive as it's ever been. I'm doing this by opening windows into development through more frequent news postings, with links to discussion forums to respond to the posts. Doing this, combined with writing to people ("You will") rather than about them (saying "Users will..."), will help build better relationships with our users.

Another part of improving the perception of a lively, active community is updating the look of our website. The old website redesign never made it to fruition, so a few of us have begun taking a look at how far it got, what happened, and what to do now. At a minimum, I'd like to make some slight changes to give our site a face lift. The design hasn't changed for 6 years now, and it shows.

One major, easily fixable problem with our website is that there's no obvious place to go for users who want to contribute. There should be a big "Get involved!" or "Help Gentoo!" link right up at the top of the page, next to "Get Gentoo!" All this requires is a little webpage that describes all the ways people can help. In fact, the whole website isn't task-oriented enough. This needs to change.

In the future, I'm going to begin improving the "press" aspect of PR, based on my notes from an excellent talk by Josh Berkus at OSCON 2006 on public relations for OSS projects. The main ideas here are providing a press kit for reporters with all the basic info they want, building relationships with local reporters by using local Gentoo contacts, putting together some case studies of people and businesses using Gentoo in interesting ways, and improving our process for creating and posting news and press releases.

Finally, any Gentoo users can help improve Gentoo by simply advocating it to Linux users you know, giving demos and talks at Linux user group meetings or conferences, promoting it in articles, or writing in your blog about something Gentoo does really well.

10/8/07 12:54 am - HOWTO make Gentoo great

Gentoo is good. How do we make it great?

Over the past year or so, I've read a few books, and I want to use those ideas to build a better Gentoo. The books:



I plan to write a short series of posts discussing the lessons in these books and how to apply them to Gentoo. In this post, I'm going to summarize the concepts of "Good to Great." I'll discuss how we can apply them to Gentoo in a later post. The book explains what it takes to transform a good company into a great one. It's a comparison of companies that made a transition from good to great (thus the title) with companies that remained merely good. Jim Collins and his group reduced the differences to a remarkably small set:


  • Level 5 leadership: The leaders of great companies aren't charismatic, big-name CEOs. They're humble, and their ambition is for the company, not for themselves.

  • First, get the right people: Before you decide what to do and where to go, get the right people in the right spots. Otherwise, you've got the wrong people creating the wrong vision, strategy, etc., which the right people are then forced to implement. Concrete implementations:

    • "When in doubt, don't hire—keep looking. (Corollary: A company should limit its growth based on its ability to attract enough of the right people.)"

    • "When you know you need to make a people change, act. (Corollary: First be sure you don't simply have someone in the wrong seat.)"

    • "Put your best people on your biggest opportunities, not your biggest problems. (Corollary: If you sell off your problems, don't sell off your best people.)"


    The right people have the right innate abilities and character traits, not necessarily the specific knowledge and skills. For example, look for work ethic, dedication, and problem-solving ability, not ebuild-writing skills and knowledge of bash.

  • Confront the brutal facts: Don't deny reality, or you can't make the right decisions. To do this, create an environment where everyone can be heard, so the truth can come out. Don't lose faith that you will win eventually, but accept the reality of now.

  • The Hedgehog Concept: Only do things that overlap in the three circles:

    • You're passionate about it

    • You can be the best in the world at it

    • It drives your resource engine


    The resource engine is a combination of time (how well we attract contributors), money and brand (how well we create a community), drawn from an accompanying monograph for the social sectors.

  • Build a culture of discipline: Create a culture of self-disciplined people who are "fanatically consistent with the three circles." Bureaucracy arises to compensate for incompetence and poor discipline due to having the wrong people. If you've got the right people, you don't need the bureaucracy.

  • Technology accelerators: If a new technology fits into your Hedgehog Concept, become a pioneer. If not, settle for decent, or drop it altogether if you can.

  • The flywheel and the doom loop: Transforming from good to great is not quick. It's a flywheel, slowly building momentum. From outside, all people see is the breakthrough, but from inside there's a prior buildup. Merely good companies couldn't build momentum—they jumped around from focus to focus, never getting anywhere with any of them. You don't need to spend effort getting people behind your idea. Show them the results, and they'll follow you.

10/7/07 11:13 pm - Number 26.

That's my ranking in the "Top Linux blogs," according to Don Marti. I'm a little confused how that happened, given how rarely I've blogged lately. Perhaps he knew I had some more good ideas in the pipeline. =)

7/31/07 03:03 pm - Gentoo slides from OSCON

At OSCON, I gave a lightning talk on what's happened in Gentoo in the past year. It was part of a big session covering about 15 or 20 different projects, and it's been a lot of fun both times I've done it. Here's the slides: [ODF] [PDF]

7/20/07 02:34 pm - Improving Gentoo as a tool

Gentoo is a metadistribution, meaning you're supposed to built whatever you want with it. And we provide some of the tools to make that a reality, but we stop short. We still make it too hard to do what you want with Gentoo. Here's some of the ideas I want to explore over the next year:

  • Increased binary package support: We already have an experimental tinderbox setup to build packages for a variety of architectures. I want to investigate increasing our collection of binary packages to make a fairly complete installation possible using only binaries.

  • Repositories for user-created distributions: We have tools like Catalyst to create basic installations with stage3 or stage4 tarballs, but it's still hard to get what you want with them. We should make a repository of Catalyst spec files for a variety of purposes, and we should also add an accompanying mirror of the created tarballs so anyone can use them. We could also revive the Seeds project to create not just vanilla stage4 tarballs but fully fledged, preconfigured installations customized for specific purposes like LAMP servers, development machines, various cluster nodes, GNOME/KDE/Xfce desktops, etc. We already have the possibilities; we need to share our tools.

  • Creating the Gentoo metacommunity: In addition to letting you create your own distribution from Gentoo, I want Gentoo's community to be what you want it to be. We're in the middle of adding a few new mailing lists because our primary development list is drowning in noise. We made gentoo-project for non-technical general talk and gentoo-dev-announce for development-related information so developers don't need to slog through gentoo-dev. I want to take that a step further by forming stronger Gentoo microcommunities around specific areas and moving discussion about those areas to their IRC channels and mailing lists. Our development community has grown too big to keep everything on a general development list. Everyone tries to chip into every discussion, even if they have no relation to it or are unaffected by it.

  • Excellence: Gentoo's QA is not the greatest. What can we do to improve this? Some automated tools exist for pre-commit checking; can we add anything server-side? Can we add some build servers for critical system packages, so they don't make it to users before building in a predefined set of common configurations? Can we improve our developer recruitment or add new training for existing developers? How can we renew and strengthen our commitment to excellence? You can't create a tool with Gentoo if it's broken.

  • New tools for new places: This is more of an exploratory idea. I'd like a team of contributors to research all the places people use Gentoo, and put together a collection of tools we're missing. Further, we need to do more extensive research on other distributions to see what sorts of tools they have that we lack. I have no symptoms of NIH syndrome, so I'm happy to pull in working tools written for other distributions; I already did this for many of Fedora's system-config-* tools last year.

  • Resolving the meta vs. specificity conflict: Gentoo's status as a metadistribution sometimes produces conflicts between the goals of various projects and teams within Gentoo. Sometimes a person simply needs to make a decision of how to deal with it: pick one, or find a way to do both? Many people remarked over the past couple of years that we're lacking strong leadership and overarching goals, which would give us some consistent way to decide which projects will "win." As Seemant has said, Gentoo is a framework, a metadistribution, not a place that forces people to go a certain way. We should strive to enable contributors to follow whichever path beckons to them. But where is Gentoo going, and where should it go? You decide. The innovators and leaders can only suggest places for it to go, so the rest of the community has to follow them to our destination.

2/9/07 12:39 am - OSCON talk proposals

The deadline for proposing ideas for OSCON talks was Monday at 11:59 p.m. Naturally I clicked Submit for the final time not long before then, at 11:56 p.m. Note I said "final time," implying more than one—I decided to go all-out and submit three ideas, in hopes that at least one will slip through. For the curious, they are
  • Design and publish beautifully and professionally: How to create a professional-looking document, using Scribus and Inkscape. Many people who read this probably don't realize I spent four years working as a page designer and copy editor at newspapers. I continue that interest today as editor of a newsletter about open-source activity for the Open Source Educational Laboratory at Oregon State.

  • Community dynamics in a large open-source project: Problems, solutions and conundrums in Gentoo. The funniest (and saddest) part is when the same things begin to repeat themselves, and nobody else remembers last time it happened.

  • Open-source software in the biosciences: Where we are and what we learned on the voyage: The cruel joke of scientists as programmers. As a grad student in biochemistry at OSU, I've had to deal with more ugly software than many of you can imagine. But at least more of it is open source now, right?

Anyone else submit proposals? I'd be interested to hear what they're about.

8/31/06 02:35 pm - [Gentoo] A landslide?

I posted about Gentoo, then mjg59 said similar about Debian, now a NetBSD founder does the same? What have I started? Clearly Gentoo is not the only distribution having leadership and community problems ...

8/23/06 05:04 pm - [Gentoo] Democracy: No silver bullet

I started my fourth year as a Gentoo developer in June, and Gentoo's changed a lot since I started back in 2003. We've become a drastically more democratic organization. But the question remains — Is this a good thing? When I think about where Gentoo was when we turned into a democracy years ago, and where Gentoo is now, I don't see much of a difference on the large scale. We lack any global vision for where Gentoo is going, we can't agree on who our audience is, and everyone's just working on pretty much whatever they feel like.

When I joined, Daniel Robbins was in charge, period. Seemant Kulleen and Jon Portnoy were basically his lieutenants. What Daniel said was what happened, and woe to anyone who angered him. This generally worked out pretty well, but as Gentoo grew, it didn't scale. Everything significant still had to go through Daniel for personal approval.

Shortly after I finished training and became an "official" developer, Gentoo gained its first real structure via Gentoo Linux Enhancement Proposal (GLEP) 4 — "Gentoo top-level management structure proposal". The GLEP process itself was quite new then; GLEP 4 was really only the second proposed GLEP (the first two were details related to the GLEP process) and the first one that was accepted. Its goal was to improve communication and coordination as well as increase accountability.

GLEP 4 formalized a hierarchy of so-called "top-level" projects — between 5 and 10 major areas into which everything in Gentoo could be divided. Daniel appointed the original project managers, who served under him.

Democratic elections entered Gentoo when we realized that we needed to create a new top-level project for all the desktop work, because it didn't fit into any existing project. Since managers already voted amongst themselves on GLEPs, it seemed like a natural extension for them to vote on a new manager. The call for nominations is archived online. I'd been a developer for around six months at this point, and by then I was the lead X maintainer. Brandon Hale was active in maintaining window managers and other miscellaneous applets and such. Turns out that the vote tied, so we became co-managers.

I didn't realize it at the time, but that was the beginning of a very slippery slope.

Gentoo used to be a courteous, friendly development community where nobody was afraid to speak his mind for fear of insult and injury. I see a clear correlation between the growth in democracy and the departure of courtesy. Once people are empowered to vote on every decision, rather than just having their discussion taken as input in a decision, they get a lot more vehement, argumentative and forceful about getting their way. Flamewars and loud arguments going on for hundreds of posts have become commonplace, despite the occasional outcry. Here's one such outcry, on March 20, 2006, to the private developers' list:

What I've seen for the last 18 months or more is a general degeneration
in the attitudes of developers for their fellow developers.
When I
joined, the attitude of people was friendly and welcoming. I screwed
up a couple of times. I didn't get my ass handed to me. I got picked
up, and comforted. And taught and tutored. ...

So, we split from the Gentoo Technologies company, to a community owned
Gentoo Foundation. And now everyone was empowered. Everyone has a
voice. Some louder than others. The unfortunate thing is that with
this empowerment came a bit of assholishness.
With rare exception,
we're pretty much all guilty of that. Someone makes a spelling error in
a commit, and that leads to flamefests on irc and mailing lists and blog
entries. And so on, ad nauseum.

Frankly, I'm sick of it. It's burning people out. We're burning
ourselves out by being this way. It's time to stop this shit. To
everyone reading this, you've arrived at the important bit. From now,
please try this little thing. When you're on the mailing lists or the
fora or irc channels or in /query or somehow in the gentoo 'verse,
please try, just try, to be a little bit nicer to the people with whom
you're interacting. That's all. Have a little respect (even if not
deserved!). Listen a little. Hold back the snide comment, the
sarcastic remark. I don't mean to get all Oprah on you all, but I hope
you see my point -- just be nice for a change.


The vocal minority often gets its way, despite 99% of the other developers being happy with any given situation.

The problem got so bad that our Developer Relations team wrote up an etiquette guide. Unsurprisingly, the same vocal minority that generally behaves like an ass and violates said etiquette guide erupted in flames over it, and it ended up fading into an existing but largely irrelevant piece of writing.

Around the same time, more cries of "Democracy!" and "Eliminate the cabal!" forced developer relations (devrel) to come up with a huge, bureaucratic, court-like system for disciplining pretty much the same group of people again. Everyone treated it like a world of extremes of good and evil, where democracy is absolutely good and purity, and anything other than that is evil. This added bureaucracy has essentially rendered this side of devrel powerless, meaningless and useless.

All in all, the vocal minority has done a splendid job of becoming more influential, crippling Gentoo's ability to do anything at all about its members, their flames, their outstanding work at ruining people's fun and enjoyment of Gentoo, and their waste of everyone else's time.

How can we do anything about this? As people such as Mike Auty have pointed out, the problem could be with the increasing barrage of rules, regulations and policies to which we're expected to adhere. Take a look at the FreeBSD committers' rules. Rule one is "Respect other committers," and rule two is "Respect other contributors." Take a look at the importance of courtesy and care to avoid creating long-term disagreements in rule one:

Being able to work together long term is this project's greatest asset, one far more important than any set of changes to the code, and turning arguments about code into issues that affect our long-term ability to work harmoniously together is just not worth the trade-off by any conceivable stretch of the imagination. ...

First calm down, then think about how to communicate in the most effective fashion for convincing the other person(s) that your side of the argument is correct, do not just blow off some steam so you can feel better in the short term at the cost of a long-term flame war. Not only is this very bad “energy economics”, but repeated displays of public aggression which impair our ability to work well together will be dealt with severely by the project leadership and may result in suspension or termination of your commit privileges.


Or how about the Ubuntu Code of Conduct? The first two rules are "Be considerate" and "Be respectful." Again, note that these rules are actually enforced. As has been pointed out on the Gentoo development list, you can have respect without courtesy. But Gentoo needs both! One just isn't good enough.

But what about Gentoo? We don't have any overriding principles like this from which all of the standards for behavior derive. Instead, we have a large document explaining specifically and in detail what's allowed and what isn't, and even that is ignored. Because of the bureaucracy and the lack of respect for devrel's role, we're effectively powerless to do anything when people behave in a way for which the FreeBSD project's leadership would kick them to the curb.

I'm not the only one to suggest that a democracy isn't the most productive way to run Gentoo. When people wanted to change in how Gentoo was run, democracy was the only option considered, rather than simply changing the leaders. There's an ongoing assumption that if problems exist, it must be somewhere in the structure rather than in the people.

If I could go back in time a couple of years and prevent this democracy from ever happening, I would. If I could fix these problems myself, I would. But it requires buy-in from the entire Gentoo community if we're to do anything about it.
Powered by LiveJournal.com