From the Canyon Edge -- :-Dustin

Friday, October 15, 2010

Introducing the Bikeshed Package!

James Westby jw+debian at
Wed Aug 11 17:41:16 BST 2010
On Wed, 11 Aug 2010 12:32:34 -0400, Dustin Kirkland wrote:
> We have some initiatives right now, trying to make it easier for
> people to get new applications into Ubuntu, and the Ubuntu Software
> Center. This is merely a 10-line, GPL'd shell script, and most
> developers agree on its usefulness. But the experience of giving this
> code away for the benefit of others is less than ideal. I'm happy to
> persevere, push it to the right place, do the right thing. But will
> the next aspiring developer who wants to share a small, useful hack
> bother themselves with the process?

Maybe as an Ubuntu core-dev you want to upload a useful-hacks package
and accept all contributions in this vein in to that?

Like many of you, I have some useful scripts in my $HOME/bin directory, and aliases in my $HOME/.bashrc.

I have contributed some of these to existing open source projects, while others have turned into stand-alone free software packages/projects themselves. In other cases, I have tried, with great heartache, to contribute useful utilities to open source projects. Sometimes these work out eventually, but it can take many months or years of persistence to win the approval of some maintainers. These are most certainly battles worth fighting, but in the meantime, there are many Ubuntu users and developers who could benefit from these tools.

Per the suggestion from James Westby in the note above, I have founded the bikeshed project at You can grab the source code with:
  bzr branch lp:bikeshed
And you can install the package from the Bikeshed PPA for Karmic, Lucid, and Maverick if you like. It just landed in Natty today.

The mission statement of the project is:
  • While others debate where some tool should go, we put it in the bikeshed.
The package description goes into a little more detail:
  • Description: random useful tools that do not yet have a permanent home
    Bikeshed is a collection of random but useful tools and utilities that either don't quite fit anywhere else, or have not yet been accepted by a more appropriate project. Think of this package as an "orphanage", where tools live until they are adopted by loving, accepting parents.
The name of the project reflects the tremendous insight provided by Poul-Henning Kamp on a FreeBSD mailing list in 1999. If you haven't read it yet, I highly recommend you do. It's 11 years old and directed toward FreeBSD development, but it applies to ubuntu-devel@ and debian-devel@ and most other software development mailing lists just as well today.

The general concept is known as Parkinson's Law of Triviality, from 1957, when C. Northcote Parkinson described the unfortunate effects of trivial matters carrying disproportionate weight (and actually first used the bike shed example).

I'm going to describe each utility in bikeshed in a series of posts here in my blog. Hopefully you will find some of them very useful!



  1. Great idea Dustin.

    We should direct those signing the Ubuntu code of conduct to read Poul-Henning's post before joining!

  2. The roof should be red, and the sides should be green.

  3. Sounds like a pretty cool effort, but don't you think you're being a bit premature with its launch? I mean with an logo like that you're never going to get folks interested.

  4. I'm disappointed you chose to use an inflammatory name for this project, which is actually a good idea.

    Trying to get tools into the most appropriate place is definitely not bikeshedding. It's called discoverability. ubuntu-dev-tools isn't a dumping ground.

  5. Thank you very much for those scripts !

  6. We've been planning to do something similar with Edubuntu for a looooong time now!

    Now we can just use the Bikeshed instead! Thanks!

  7. Dougie, I agree. It's a must read for anyone who posts to a development mailing list anywhere!


  8. andrewsomething-

    Honestly, it doesn't matter to me at all if anyone else contributes to Bikeshed. More than anything, I just want to have a place to put useful utilities, while others debate (bikeshed) about the best home for such tools. When there's a consensus to its appropriate destination, then I'll retire it from the Bikeshed, and plant it in a permanent home.


  9. Anonymous,

    I'm sorry you find the name inflammatory.

    I find it evocative, and hope that it pays a tribute to the original sources of the 'bikeshedding' concept.

    I understand that people don't want ubuntu-dev-tools to be a dumping ground. But if it's not a collection of random tools that don't belong elsewhere, then we in Ubuntu needed one.

    For what its worth, I did consider other names:
    * orphanage
    * nursery
    * cesspool
    * yourutils (rhymes with coreutils and moreutils)

    But I settled on 'bikeshed' as I thought the tongue-in-cheek humor and cleverness would be well-received. I'm sorry it's lost on you.


  10. Hi Jonathan,

    Glad to help!

    Poke me in IRC and let me know if/how you want to contribute.


  11. @Jorge: sure, but *which* hue of red should the roof really be?


  12. Dustin,
    I really like the idea - is there any place to get a up to date listing of the utilities included in the bikeshed package?

  13. You've mentioned moreutils... which was created for pretty much the exact same purpose :-)

  14. Josh,

    Sure, if you browse the source in Launchpad... can see everything I've checked in so far.

    Also, if you follow my posts here, I'm going to introduce each tool...


  15. Hi jmtd,

    Right, I am aware of moreutils, and I tried to contribute 'errno' to moreutils:

    And there's a list of tools rejected at:

    Take a look at what's in bikeshed right now, and most of it is just not appropriate for 'moreutils'. That said, if Joey wants any of bikeshed for moreutils, I'll gladly turn it over.



Please do not use blog comments for support requests! Blog comments do not scale well to this effect.

Instead, please use Launchpad for Bugs and StackExchange for Questions.