Open Source Bridge Day #2

Before too much time escapes here is a post on Day Two of Open Source Bridge. As several others have noted, the talks at Open Source Bridge were consistently very good and covered a variety of open source topics.

I enjoyed each of these talks and learned something interesting at each one. Here are some rough notes and key thoughts I took away from each one.

The Linux Kernel Development model–Greg Kroah-Hartman

  • rapid development is an understatement here
  • ~5,000 commits a day!

Effective code sprinting–Reid Beels, Audrey Eschright, and Igal Koshevoy

  • start by inviting a core group of people you know are interested in helping, then invite invite everyone else
  • be very friendly and help direct people that aren’t sure how to get involved
  • engage everyone including people that are not coders
  • on the day of the code sprint work in very short increments– ~45 minutes
  • by the end of the day have something new that works
  • code spints work best with co-located teams
  • it can be done non-co-located teams, but it ususually only works well if the team has worked together in person previously

Project Management Should be Boring!–chromatic x

  • for successful time based releases one development branch should be stable and releasable at any time
  • if quality is low:
    • you can’t freeze harder
    • creating more RCs doesn’t fix the problem
    • the cause is that you are not “done done” (really done)
  • heroics are not sustainable or repeatable
  • take the scheduling factor out of the release and just pick a weekly set day
    • Tuesdays at 9 AM are usually good
  • if the bug count keeps escalating you aren’t closing or reducing bugs effectively
  • all bug trackers are a roach motel over a black hole
  • scope re-factoring process:
    1) leave the code a little cleaner than you found it each time you touch it
    2) set aside time every week to clean up something that is broken–Friday afternoons are good for this
    3) create a regular and well understood deprecation cycle–the Linux kernel does this extremely well
  • software should be getting easier to maintain over time–otherwise you have problems!
  • never adjust estimates
    • negotiate scope, but not quality or estimates
  • asking “why” five times, going deeper and deeper with each response, usually leads you to the root cause

Bazaar vs git smack down–Emma Jane Hogbin & Selena Deckelmann

  • a fun look at the differences between bazaar and git.
  • know what you want to use it for–each of their strengths and weaknesses
  • if you aren’t sure, go with the source control management application that is most used by the people you work with–they can help support you

Re-factor Your Brain: Meditation for Geeks–Christie Koehler

  • we tend to react less to situations and respond more thoughtfully when we are relaxed–meditation helps to relax the body and the mind

Leave a Comment

Fedora 11 Sound Too Low

If you are experiencing the problem of not being able to set your sound as loud as you may have in previous releases here is the fix as described in bug 498747:

$ su -c 'yum install alsa-utils; alsamixer -c 0'

Escape exits the alsamixer program.

You will be shown a number of different sliders in a text based interface.  I moved all of them up and down until I found the offender.  This problem is described in the Fedora 11 Releases Notes and common bugs page, but not exactly how to fix it.  For some reason I don’t have an application called Advanced Volume Control in my System/Preferences menu as suggested in the release notes, but maybe that is because I upgraded from Fedora 10.

Leave a Comment

Open Source Bridge Day #1

Today was an excellent first day of Open Source Bridge Conference.   The organizers reported approximately 400 pre-registered attendees and the room hosting the opening keynotes appeared to be close to full.  Live streaming of the keynotes and some of the talks will be available tomorrow (2009-06-17 @ 9 AM PDT/16:00 UTC) at the conference home page.

I helped with two volunteer shifts and attended three very well done and interesting talks:

It was also fantastic to have lunch with a co-worker… not something that happens very often for me :)   I’m looking forward to helping out again tomorrow and attending some more great talks.  Hopefully I’ll also have time to finally make it to the 24 hour hacker lounge which is supposed to have an excellent view of down town Portland from the top floor of the Hilton.  Here is what it looks like.

Assholes are killing your project

Leave a Comment

Read All About the Fedora 11 Retrospective

This morning (7 AM local time) we had the Fedora 11 retrospective.  I thought it went pretty well and people on the phone seemed to enjoy it.  If you didn’t enjoy it or have ideas for making future retrospectives better email me privately or add to the wiki.  I want these events to be meaningful and I welcome your constructive criticism.

Notes from the meeting are at https://fedoraproject.org/wiki/Fedora_11_Retrospective_Notes.  You can also participate by adding your own thoughts to the wiki page.

We don’t do a lot of verbal real-time communication in Fedora so I enjoy these calls because you get an opportunity to see other sides of people that do not come out in mailing lists or IRC.  The volume of information that can be shared and exchanged in a short amount of time is also exponentially greater.

Thanks again to all the people who participated and gave their time.  It will help us to make Fedora 12 the best release ever!

Leave a Comment

Joining the Fedora Board

Thank you Paul!

I am honored to accept an appointed seat on the Fedora Board and looking forward to the year ahead.

Having served as the secretary to the Fedora board for roughly the past two years I’ve recorded a lot of meetings and tracked a lot of discussions–a majority of that time saying very little except to clarify the issues being discussed for the minutes or nudging the discussion back to the topic at hand.  This has served as a great unintended education into how Fedora functions and what issues are important to it.  I’m looking forward to putting this experience to great to use.

I am also looking forward to helping lead Fedora into the future.  At a recent Portland State University (PSU) project management class, Paul Spindel, an excellent instructor and facilitator, encouraged us to think about our responsibilities and to ask ourselves how much we are “managing” versus “leading.”  Managing is thought of in terms of “managing” day-to-day operations and keeping things from running off the tracks.  Managing is a very necessary thing to do, but it is different from leading.  Leading is an activity that seeks to take things to the next level, to “lead” a project or organization forward to new and greater things.

When we think of leaders, we recall times of turbulence, conflict, innovation, and change.  When we think of managers, we recall times of stability, harmony, maintenance and constancy.  We need leaders and we need managers.  Both are essential to making social systems work.  But each plays distinctively different roles.  And the unique role of the leader is to take us on journeys to places we have never been before.

–Exerpt from The Leadership Challenge by Kouzes.

I think this is a fantastic quote and how I hope to contribute as a leader to the Fedora Board. This quote was in our course book with attribution, but so far I haven’t been able to find the exact page in “The Leadership Challenge” by Kouzes & Posner (4th edition).  So far it is a good book. :)

Leave a Comment

Unfreezable Rawhide

I’ve been participating remotely in the Fedora Activity Day (FAD)  in Raleigh, NC.  The sound quality over Fedora Talk is extremely good calling in with a regular phone (with the exception of other people forgetting to mute), though it is harder to hear some of people not so close to the phone.  The combination of gobby, IRC and the live audio is almost as good as being their in person.  So big thanks all the people that made those things happen!

I think I understand the purpose of this FAD better now and it has clarified for me the problems that we have with rawhide and the test releases:

  • We need to freeze rawhide to put out our test and final releases
  • When rawhide is frozen it makes it harder for developers to do their work.
  • The test releases need to go out as soon as possible because if released too late they are obsoleted by all the new changes added to rawhide.  Because of this we can’t test the test releases too long before making them available because too much else will have changed if we take too long to test it.
  • We can’t publicly test the release candidates because of the short amount of time to create, test, and stage them.  This is due to the size of the content and not wanting to delay rawhide any more than is necessary.

In terms of formal testing for our upcoming releases, we create installable images (test releases) for wider community testing.  Opinions vary on the value of these releases because once installed, testers are encouraged to update to the latest rawhide packages–sometimes upwards of hundreds of packages.  If this is the case is the return on investment for resources invested to create, qualify, and distribute the test releases worth it?  We definitely see an increased interest on the mailing lists and more bugs being filed, yet we do not have any hard data to definitively say. For Fedora 12, the Alpha release was dropped for this reason, combined with a shorter schedule to get back to our standard “Halloween/May Day” six month schedule.

Seth Vidal said it best, “Some people want to check a package into a repo and others want to build a distro.”  I think there are probably people that want to do both too.

Even with freezes, rawhide changes a lot.  Eventually the changes in rawhide do stop, but not until close to the end.  During Fedora 11 I ran repodiff every day comparing the current day of rawhide to the previous day.  Some interesting results I found were:

  • 1,940 package changes between Beta Freeze and Final Freeze
  • 620 packages changes between Final Freeze and the first RC compose
  • 90 packages changes between the first RC Compose and GA

Note: some of these changes could have been the same package being rebuilt multiple times.

I have always been sceptical of the wisdom of considering rawhide our primary testing vehicle.  From a formal QA perspective this is the nightmare of all testing scenarios–the product you are trying to test never stops changing.  To Fedora’s credit our releases have been pretty solid (with occasional exceptions) anyway which continues to amaze me.  I still secretly wonder how solid and polished our releases could be if we took a more traditional approach to the allowed amount of change.  I think the constant changes do contribute to our pattern of slipping test releases and final release dates by a week or two.

Some people argue that a week or two late in the world of software releases isn’t that big of a deal and maybe it isn’t.  Traditional software projects often have a much longer development duration and a week or two late for a project that took a year or more to complete isn’t that big of a deal.  For a project that seeks to release every six months, a week or two late is a bigger percentage slip compared to the total development time.  For a “time based release”– it also shortens the time allotted to the next release.

The proposal (as I understand it) from the FAD would allow rawhide to continue without freezes–removing the resulting holdups to developers.  It would also specify a process to examine the changes added to the release under development after a certain point in the development cycle.  Read all about it at https://fedoraproject.org/wiki/No_Frozen_Rawhide_Proposal.

Leave a Comment

Fedora 11 GA & Retrospective

Fedora 11 is released tomorrow, June 9, 2009, and you can get it at http://fedoraproject.org/get-fedora.

On Friday I announced an upcoming retrospecitve for Fedora 11, happening on June 16, 2009.  I’m hoping this gathering will be a collaborative brainstorming meeting of sorts where all the participants give their thoughts and perspectives on the good  and not so good things that happened on the road to creating Fedora 11.  For the good things we identify we’ll want to make sure they weren’t random accidents that we can repeat for Fedora 12.  For the not so good things we identify we’ll want to look for ways to do them better or stop them from happening again.

Much like the Release Readiness Meetings we have before each of the test releases and final release, this meeting includes representatives from many of the key groups in Fedora.  We are also trying to get more input by expanding the participants to one additional person from each team.  So if you are interested in coming, please coordinate with your team lead.

For the Fedora 11 retrospective five extra people will be chosen to join in.  If you would like to be one of them, add your name to the list at https://fedoraproject.org/wiki/Fedora_11_Retrospective, but make sure you do that before this Friday, June 12th!

Leave a Comment

TechShop & Portland Spirit

I learned about TechShop Portland at Lunch2.0 a couple weeks ago.  It looks like other Fedorans are already on to this phenomenon.

TechShop is a a do-it-yourself play ground for people that like to make stuff.  They have equipment for wood and metal working, melting and casting metal parts, and laser cutting.  They also have a plasma cutter, CNC router, upholstery workshop, electronics lab, and a robot course.  The best part is that experience is not required.

Membership is approximately $125 per month which is a pretty good deal considering how expensive it would be to set up your own shop with the same amount of equipment.  If you are like me there wouldn’t be room in the garage anyway.  So they provide 33,000 square feet of space too!  Individual classes are also offered without a membership. For now I’ll probably take a class or two to learn more and have access to the equipment. That will all have to wait until Open Source Bridge is over and a few other projects are done.  Jake also has a great write-up over Silicon Florist.

TechShop is also planning a couple computer of computer rooms, available to anyone without charge.  Computers, free wireless and a projector are also provided.  It is a hacker space of sorts where anyone can come to work, play, or hold meetings.  The meeting room and computer area are open to anyone–even if you are not a member.

Portland is a great city for a place like TechShop where people like to share and learn.  The unusual twist is that these opportunities are usually free (or at cost)–in the same spirit as open source software development. A few places and events come to mind:

  • Free Geek — recycling computers and providing them for free with training
  • PersonalTelco — sharing wireless internet freely with others
  • PDX — free wireless at the airport
  • Lunch 2.0 — a free monthly networking and community event sponsored by local businesses
  • Open Source Bridge — a completely volunteer run open source conference for open source citizens to learn and grow their projects at the 24 hour hacker lounge.  It all happens June 17 to 19, 2009.

Leave a Comment

Fedora 11 Rains Test Days

One of the best things to come out of the development cycle for Fedora 11 is a continuous stream of test daysJames Laska with the help of Adam Williamson shows up every week to lead the charge–sometimes twice in the same week.

Before Fedora 10 there were no official test days as we know them now.  Fedora 10 had a series of test days and when Fedora 11 came along they became the standard.  It always makes me smile when I read somewhere or hear someone say “we really need to have a test day for that.”  A year ago no would have been familiar with that term.  James just showed up and started arranging weekly test days and now the rest is history.  Just because James and Adam organize them doesn’t mean they don’t continue to need more help.

Another great thing that has happened during the Fedora 11 development cycle is live images created specifically for the test day–with the added bonus that are known to work good enough to install or run live.  I spent most of the test days during the Fedora 10 cycle just trying to get rawhide to install or update to a workable system.  This part of the ”rawhide process” is still broken–not having a canonical place to easily find out in advance whether rawhide is “good” that day or not.

What if someone else volunteered to be responsible for creating and making the live image available on test day?  The feature list for each new release continues to grow and there is no way that this ”core duo” can continue to do all the heavy lifting.  Talking to James it sounds like running two test days a week consumes a lot time more time than just those two days which is a lot of time itself.

So what does this mean?

A few ideas I have:

  • Link to each test day page from the feature page
  • What if during the planning phase of a release the QA team selected in advance which test days they would host and run?
  • Create a test day process that is more scalable and doesn’t depend solely on James and Adam to make them happen
  • What if there was a framework, kind of like the feature page process, where other non-regular QA team participants could propose and hold their own test days?

Test days beyond the ones owned by QA would be volunteer driven–much like the feature process.  The idea that if you show up to own and do the work it is yours.  And if you don’t prepare for and host the test day it doesn’t happen.

The QA team could still help advertise and schedule the test days, but the test case development, wiki page creation, image generation, etc. would be done by the people desiring the test day.  Which could mean anyone interested in Fedora. :)

It is definitely possible.  Look at this fantastic test day page for KVM created by virtualization developer Mark McLoughlin.  You can join in the fun and participate on May 7, 2009.  This page even tells you what you need to do before the test day starts, how many people are needed, and what kind of time commitment is required.  This clicks with the way I think and am motivated.

I am much more likely to commit time to something that looks well planned and sets out to honor my time and effort because the time I can commit is limited.  Most people with limited time are looking for a tangible practical place to plug in and help.  Well written test day pages provide that and help Fedora grow beyond where it is today.

Leave a Comment

Getting Status

This video called Auto Tuning makes me laugh every time I watch it.

And I’ve watched it several because because I’ve been “Blake” more times than I can remember.  It is a hilarious illustration and reminder of how challenging some folks make it to get information.

I thought of it too in light of the Fedora release readiness meetings where representatives from each team are friendly, positive, and helpful which means we usually finish in 60 minutes or less!  The minutes from the last meeting are here. We’ll have one more release meeting before the GA release.  The dates are all on the schedule.

This isn’t to say all areas of the Fedora Project are perfect or that people like Jack (character in the video) don’t exist. I just hope we can keep it the exception and not the norm.

I wonder if there would be a way to hook up auto tune to Fedora Talk? :)

Comments (1)

Older Posts »