Thursday, March 08, 2007

Lower limit of free software packages in the tree?

Ever wonder what portion of the portage tree is free software, and
what portion is proprietary? Here's an estimate.


Total number of packages:



feynman grant> paludis --list-packages --repository gentoo | \
> sed -n -e 's/^\* \(.*\)/\1/p' | wc -l

11540

Total number of packages w/ LICENSE containing [gpl|as-is|bsd]:



feynman grant> paludis --list-packages --repository gentoo | \
> sed -n -e 's/^\* \(.*\)/\1/p' | while read a ; \
> do paludis -qM ${a}::gentoo | grep LICENSE: | \
> cut -d: -f2 | grep -i --quiet '[gpl|as-is|bsd]' \
> && echo ${a} ; done | wc -l

11164

So, if I did things right, we're looking at roughly 96.7% of the
tree. Thanks to ciaranm for the lengthy one-liner, although any
mistakes are definitely my own.


Wednesday, March 07, 2007

Gentoo past, present, and future

(If you saw an empty post on planet/universe, my apologies. I
need to work on my pyblosxom workflow, it seems.)


The real power base of Gentoo is not infra, the Council, the trustees,
or devrel. It's the developers. We have the credit and the blame
for what Gentoo is, has been, and will become.


Before that, though, a quick comment about Seemant's recent posts about
poisonous individuals (http://planet.gentoo.org/developers/seemant.php). I
think Seemant makes a number of good points, but I have a different
interpretation of many of those events than Seemant has. I'll cover some of
them below, but let me address his comments about Kurt Lieber here. I think
Seemant is wrong in his assessment of Kurt. Oh, the facts are essentially
correct: Kurt was in charge of infra, he was one of the primary people pushing
to extract the reins from drobbins hands, and he strongly pushed for the
establishment of the Gentoo Foundation. He's also bright, and frequently sure
of himself even when he's wrong, and when he eventually does lose his temper
he can be just as inflammatory as some of the more infamous of our community.
I also have little doubt that Kurt believed that if he were in charge of
Gentoo, then things would be better. Nonetheless, I don't believe that Kurt
was subtly trying to become Gentoo's Svengali. What I did see was that Kurt
had a different mindset from many of the devs (myself included). Kurt viewed
things from an infra perspective and with big-business sensibilities: security
should be paramount, devs are a potential threat as well as an asset,
enterprise Gentoo should be a goal, etcetera. (Of course infra has a culture
of mistrust; that's their job. It's also why infra is lower on the
organizational chart than the Council.) It was hardly surprising that Kurt
would clash with Seemant and others (again, including myself) from time to
time, given those differences of opinion.


Okay, back to the real point of this post.


Once upon a time, Gentoo was drobbins' baby. It was his project, his guiding
philosophy, and his say as to who was a dev, and who wasn't. Becoming a
dev was mainly a matter of submitting ebuilds and patches until somebody
got tired of committing them to CVS on your behalf, and decided that it would
just be easier if you were a dev so that you could do it yourself. In
those days I knew the name of everybody in #gentoo (or was it #gentoo-dev,
I don't remember). Whether due to drobbins' ideology or sheer pragmatism,
during that period Gentoo established a defining tradition of our community:
we provide our devs with nearly unfettered access to make changes, and we
trust them not to do anything too stupid (or at least to fix things if they
do). The idea is that our talented devs with time and ability _should_ be
able to make sweeping changes when need be. As such, Gentoo is very much a
distribution founded on trust, and that tradition of trusting our devs
survives to this day.


It may have been a golden age, but it was hardly perfect. Drobbins had
vision, but he could also be capricious and dismissive when somebody disagreed
with him. He had to learn management skills on the job, and although he got
much, much better, he occasionally made mind-blowing mistakes. Early devrel
would often do a great job, but sometimes turn around and collectively blow up
at somebody, shattering any good will they had built up. Read through the
various bugs and mailing lists, and you'll see that the current mistrust that
Gentoo devs have for powerful groups is perfectly rational, even though it is
remarkably unhelpful. Learning to govern ourselves properly has been _hard_.


It's important to note, though, that we're not done yet. Right now
Gentoo is a barely-herded collection of projects. The elected Council
has some power, but neither they nor the devs who elected them have really
come to terms with how much they have. I would say that the current Council
is trusted not to do anything too awful, but not really trusted to actually do
much that is useful. They are working to change that, though, however slowly
they may be moving. Meanwhile, Gentoo is still growing (yes, we are
still gaining new devs far faster than we lose old ones), and we're
still putting out new releases and maintaining the tree, so there's
time to work on figuring things out.


So, what does the future hold for Gentoo? I've no idea, but I expect good
things. I predict that we won't return to the days of a single
strong leader, despite the number of folks who seem to think that
doing so would solve all of our problems. Those folks might be correct,
except for the niggling fact that leading Gentoo is a full-time job, with no
pay, and so we haven't seen a lot of people stepping up to the plate to do
that job. Sorry, Seemant, but we're going to have to learn to live
with an elected governance committee, I suspect. Will we turn into
Debian? Yes, and no. Gentoo is a rare beast--a community distribution.
Almost all of the work is done by volunteers, and those volunteers will
only work on what they want to work on. Not everybody will agree, so
lengthy discussions on -dev aren't going away. In those respects,
we're very much like Debian. Similarly, we do most of our work
out in the open, so all of our disagreements and spats are available for all
to see. Ideologically, though, we're still quite different. We're less
rules-bound, we tend to favor pragmatism over ideological purity, and
we favor flexibility and power over stability.


I do hope that we can overcome this current lack of courtesy on the
mailing lists, irc, etcetera. I have no good suggestions on how to
accomplish this goal, I'm afraid, but I can offer one bit of history.
Back in the day, I helped to write the infamous Gentoo etiquette guide.
My assumption was that it was a gentle guide-to-the-clueless on how to
behave without causing too much friction. I never expected that anybody
would actually try to enforce it, especially not without running it
by the rest of the community first. Any solution in Gentoo has to
have the support of the majority of devs, or it's worse than
useless.


If you've made it this far, I'm quite impressed!


A few minor thoughts:



  • Ciaranm suggested that the heated discussion between he and drobbins
    was an attempt by drobbins to grab power. I doubt it. He just
    believed that he understood the problem and knew precisely how
    to fix it. Impressive hubris, and he got smacked down pretty
    hard, but that's different from malice.

  • Most devs are working hard on their own areas, and ignoring all
    of this stuff. Thank goodness.

  • Darn, I miss danarmak. Feel free to return anytime, Dan!


Thursday, December 14, 2006

Searching list archives by Message-ID

Occasionally people reference mailing list messages by Message-ID (i.e., a
header such as 'Message-ID: <20061214084820.GA29311@suse.de>'. For
lists to which I subscribe, finding a message is as simple as a
search in mutt for:



~i 20061214084820.GA29311@suse.de

but what about lists to which I don't subscribe? As usual, agriffis
had an answer for searching both marc and gmane. The gmane search
requires less processing; it's just:



http://mid.gmane.org/20061214084820.GA29311@suse.de

Saturday, October 21, 2006

Using countify to determine who voted

For the trustee elections, it's important to have a record of who
voted because it is by voting that one becomes a member of the
Gentoo Foundation. Any election official, after countify --collect
has been run, can determine that list using the following one-liner:



while read num user; do grep -q "confirmation $num"
master-trustees2005 || continue; echo $user >> voted;
done < confs-trustees200

That's what we used to determine the existing Foundation members from the
2005 trustee election.


Friday, October 13, 2006

History of Gentoo mailing lists

In mcummings recent entry (http://www.datanode.net/?p=297), Mike
mentioned meeting Spider on -user long ago, and that he thought
that -user and -core were the only lists at that time. I didn't
think that was quite right, so I went digging through my own
Gentoo e-mail archives. The oldest -dev mail I have dates from
April 2001. (Back then I tossed most of my Gentoo mail, so I don't
know when I actually subscribed to -dev.) According to the wayback
machine, Gentoo at the time looked something like this:


Snapshot of ancient Gentoo website

(http://web.archive.org/web/20010405020443/http://www.gentoo.org/)


Back when "every user was a hacker", the only lists were -dev and
-announce. With a bit of additional digging I discovered that
-user appears to have been created in Oct. 2001, while -core didn't
exist until Feb. 2002. I faithfully read -user until sometime in 2003, when
the amount of traffic on -dev, -core, and -user became truly overwhelming.
Nonetheless, I'm embarrassed that these days my only contact w/ -user
is though the threads posted in the GWN.


(By the way, check out
http://web.archive.org/web/20010405020443/http://www.gentoo.org/dev.html
to see what administering a Gentoo system used to be like!)


Monday, October 09, 2006

Trustee election, redux

I'm Grant Goodyear (g2boojum), and if you're an eligible voter in the current
Trustees election then I'd like your vote.


Okay, that gets the boiler plate out of the way. Seemant did a classy job
of lauding the skills of the current candidates
(http://planet.gentoo.org/developers/seemant/2006/10/07/trustee_elections_2006_have_commenced), but he seems to have missed someone:


Seemant is the long-time developer who was once (in)famous not only for
breaking a vast portion of the tree with libpng, but also for the speed and
skill applied in fixing the breakage (along with spider's assistance, if I
remember correctly). Since then he has repeatedly proven to be responsible,
thoughtful, and willing to take on jobs that are necessary, but not necessarily
fun. For the last several months Seemant has been our lead contact with
Gentoo's legal team, and he has been doing an exceptional job of it.


As for what I think the priorities for the next year should be:



  • New (and approved!) bylaws. Several times during the last year or two
    I've raised problems with the current proposed bylaws (problems which
    are my fault since I drafted them, borrowing heavily from the Python
    Software Foundation's bylaws), but I've yet to achieve any sort of
    consensus on new wording that would work better for us. (Actually,
    I've yet to obtain any comments at all.) We really need to get
    something sane in place, though.

  • Move the corporation to a more non-resident-friendly state.

  • Dealing with money between the US and Europe is a real pain. Right
    now we're using paypal, but that's imperfect. Google's "checkout"
    system may be an improvement, but it seems to me that it would be
    better to have regional organizations that can raise and handle funds there,
    with the US organization responsible for US funds and handling and
    licensing all of the Gentoo IP.

  • Set a yearly budget for infra.


All that said, I'd also like to mention that if we can get the really
important items out of the way, then the Foundation, at least in my
opinion, should be a maintenance organization. It shouldn't be charting
the direction of Gentoo, because that's what the Council (and the devs,
first and foremost) are for. The Foundation's job is to collect and
disburse funds, provide a legal entity, and maintain and protect
Gentoo's intellectual property. That's pretty much it, and as such it
should be the least sexy part of Gentoo.


Tuesday, August 08, 2006

Another council election

We're a bit late running the next Council election. The problem is that
our vote counting software, countify, has a bug somewhere that
produces incorrect results under obscure conditions. Shrug.
On the other hand, the voting (and vote collection) software does
work, so we may as well hold the election, and deal with counting the
votes when the time comes.


It seems that getent passwd is having issues with the number of
users that we have, so a new trick is needed for producing the file
of eligible voters:



$ perl_ldap -S gentooStatus | grep \
> -i active | awk ' { print $1 } ' > voters-council2006

Contributors

Label Cloud