In a previous post I mentioned my recent use of Freemind.  In this follow-up post I wanted to talk about what I’ve found and how I think we should move forward.  I couldn’t figure out a good way to attach the full map to this post so click on the links to see the full html, png, or pdf version.  The source file (right-click and save-as) is also available and can be read using the install steps in the previous post.

Several weeks ago at a release engineering meeting I volunteered to document our schedule methodology.  This fit with a project I had also started to document the guidelines for other parts of our release processes. Not surprisingly I found that we don’t have a well laid out map of our wiki pages on our release process.  Traipsing through all the wiki pages was tedious and not very fun, but in the end it was worth it.  Now I have a better idea what a good picture might look like. It might not be the final one we go with, but it is a start.

I’m not here to complain.  Instead I wanted to get the word out in case other people are interested in working on this too.  I want to make our release processes easy to understand and follow.  Each bubble in the map with an arrow inside is a hyperlink to an existing wiki page. We already have a lot of the information, but in some cases we speak in overly general terms and isn’t as clear or helpful as I think it can be.

One example is our release criteria page which speaks to blocker bugs (bugs that must be fixed before we ship), but isn’t specific about what release it applies to: Alpha, Beta, or Final.  This caused me to wonder if we have anything documenting about what our two test releases are for and what we hope to achieve from them.  That information would be good to know for writing the release criteria and blocker bug criteria.

The good news is that there are several people active in the Fedora Project that can answer these questions.  The not so great news from past experience is that each person has a slightly different answer.  I’m not advocating an iron clad policy that states the rules of our releases that can never be changed and must be adhered to at all times.  Instead I’m hoping that by writing all this stuff down it will help me and others to be clearer about what we want to accomplish together.  This information will also have a longer lifetime then our current oral tradition.

When I moved one step back from trying to determine what our test releases are for I bumped into the big unresolved discussion of “What is Fedora?”–not the right question, but I’ll get to that soon.

Smoothing out the schedule methodology page also backed me into the question of what we are trying to achieve from our releases in the first place.  And this led me to Fedora’s Overview and Objectives page.

Then I had an epiphany.

The Overview page started by explaining the difference between “Fedora” and “The Fedora Project.”  Several board members had been calling out this distinction in our meetings, but I hadn’t caught the importance of it.  It didn’t sink in until after I had corrected some of the inconsistencies and vagueness on the Objectives page itself.  The discussion that has been characterized as “What is Fedora” should more correctly be referred to as “What is the Fedora Project?”  We use the term “Fedora” too loosely.

The question we should be asking at a global level is “What is the Fedora Project and what does it want to be?” and breaking that down into smaller questions.  What the “Fedora Distribution is” is part of the answer to this question, but not the complete answer.  No wonder it has taken so long to discuss “What is Fedora?”

This led me to think that the Objectives pages could be boiled down to three or four core purposes.

Why only three ”core” purposes?

It is somewhat subjective, but the word ”core” generally means the center or the most important parts.  Fedora cannot have 15 central parts.  It can, but then it will never be excellent or great.  I know I am at odds with people I respect in the Fedora Project when I say this.  I don’t subscribe to the idea that the Fedora Project and the Fedora Distribution can be great without being focused and intentional.  We can’t measure our success or be “great” that way.  Instead we’ll end up doing a lot of things and being average at most of them.  Even once we decide what the core areas should be we will still have to make hard choices prioritizing our goals within each of them.

I’m suggesting that the three core purposes of the Fedora Project should be:

1) Building and releasing a free (as in Freedom or freely redistributable without limitations) distribution
2) Building communities
3) Furthering the science (methodologies) and practice of building communities

All the existing bullets on the Objectives page could fit into one of these categories

I have also started a thread on the mailing list.  I would encourage everyone to share their additional thoughts and comments in that thread or make a blog post on this subject.

In the meantime I am continuing to work on filling out wiki the pages so that all of the bubbles in the mind map have red arrows and links to clear and specific wiki pages.