By Jake Edge
October 6, 2010
After a long period of discussion and deliberation, the Fedora project has
started to put together concrete answers to the questions that have been
swirling within that community: "What is Fedora?" and "Who is Fedora
for?". The Fedora engineering steering committee (FESCo) recently approved
a policy on
updates that will govern how package updates are applied to the various
Fedora branches, while the Fedora board has come up with a "vision
statement". Both of those will help answer the questions, but they
aren't complete answers, at least yet, and meanwhile there are other
community members, like Mike
McGrath, who are proposing major shifts in the direction of the
project.
The vision statement is meant to serve as an overall guide to what Fedora
is and why it exists in a single sentence. Obviously it isn't a manifesto,
but is, instead, a succinct guide that can be used at a high level to
decide what fits for the project—as well as what doesn't. The final draft was presented by Fedora project
leader Jared Smith for comments in advance of a board meeting to discuss
it, which was
held on October 1. Some wordsmithing was done to the draft at that meeting,
which resulted in:
The Fedora Project creates a world where free culture is welcoming and
widespread, collaboration is commonplace, and people control their content
and devices.
That wording was adopted at the October 4 board meeting, and the the
project is still putting together some background and rationale statements
to go along
with it.
The next step, according to Máirín Duffy's meeting
summaries for the September 27 and October 1 board meetings, is to come
up with tangible goals for specific special interest groups (SIGs) and
teams within the project that are based on the vision. In addition, the
board will set high-level priorities that FESCo and others can use to set
their own goals. Based on that, the vision statement will be used to make
each Fedora release more focused than we have seen in the past, with the
board and other leaders trying to shape the efforts of Fedora volunteers
into a more cohesive whole.
Update policy
Once the release is made, the update policy will kick in to try to calm the
flood of updates that tend to
follow any release. In particular:
[...] we should avoid major updates of packages within a stable
release. Updates should aim to fix bugs, and not introduce features,
particularly when those features would materially affect the user or
developer experience. The update rate for any given release should drop off
over time, approaching zero near release end-of-life; since updates are
primarily bugfixes, fewer and fewer should be needed over time.
This necessarily means that stable releases will not closely track the very
latest upstream code for all packages. We have rawhide for that.
That stands in sharp contrast to some of the updates that have been pushed
in the past (e.g. KDE) just to provide additional features. Security
updates are handled somewhat differently, particularly for packages where
upstream doesn't provide a backport and it would be
"impractical" for the package maintainer to make that change.
In that case, subject to the judgement of FESCo and the maintainer, it may
make sense to move forward to a new release that is supported by upstream.
In addition to the overall philosophy that is meant to slow down the
updates train, there are more stringent requirements for critical path
packages. Those are the packages that are considered essential
functionality without which the system is unusable. That includes various
system-level packages (kernel, init system, X server, etc.), but has been
augmented by the updates policy to include things like desktop
environments, important desktop applications (Firefox, Konqueror,
Evolution, Thunderbird, etc.), and the package updating tools (PackageKit
and friends). In order to push out an update to any of those packages,
even for a security update, it requires a two or higher "karma" sum in
Bodhi, and one of the positive votes must come from a proven tester.
For updates that do not affect the critical path, the requirements are
relaxed somewhat. Those updates can either pass the criteria for the
critical path, reach a (presumably lower) karma threshold specified by the
maintainer, or spend at least a week in the updates-testing branch. But,
once again, it is stressed that the changes should not affect the ABI/API
or user experience "if at all possible".
Different direction?
McGrath's proposal is to shift Fedora from a packaging organization into more
of a development organization, with a focus on providing open source
"cloud" applications and services. While it fits in just fine with the
vision statement, it is a radical departure from what most folks think
of as Fedora. The reaction on the fedora-advisory-board mailing list has
been, not surprisingly, mixed. Some community members are excited about a
shift in that direction, while others are less so.
There is a real question, though, how Fedora would go about making this
change, even if the board and community were completely behind it. As
Jesse Keating points out:
Again, what exactly are you proposing the board do then? It's not as if
the board has resources they can say "stop working on foo, start working
on bar", or have resources to go out and hire Bob, Jim, and Sue to start
working on bar.
Keating is concerned that McGrath's proposal will be "another drive-by 'hey, we should be doing THIS
thing over here, somebody should look into that.'" But McGrath sees it as a bigger project, that might
involve other organizations, so it is something that the board would
have to facilitate:
I'm proposing a complete reorganization of The Fedora Project. Leave
FESCo and their current role as it is. Figure out how to create a new
FESCo type org for this new goal. I'm proposing the board find/request
the resources to make this happen. Contact the likes of mozilla perhaps
even google. Look around and see who else is interested in contributing
resources and see if this is feasible. If the board's job isn't to set
vision, policy and find resources, what is it?
Free (as in freedom) cloud services have been on the minds of lots of FOSS
advocates lately. Many folks are increasingly locking their data up in
proprietary web applications, at least partially because there are no
alternatives. It may be
too late to disconnect the general public from services like Facebook, but
even the staunchest free software advocate would be hard-pressed to point
to a free, working alternative. If no one in the FOSS world starts working
on cloud applications, we will remain stuck in that uncomfortable
position.
There are hopes that things like Diaspora will fill the role of
Facebook for privacy and freedom-conscious users and there are some other
nascent efforts to fill in other holes, but there isn't, yet, any umbrella
project that is looking at the whole picture. That is what McGrath would
like to see Fedora evolve into. It seems like that may be a hard sell for
the Fedora community (and its sponsor Red Hat), but it would be a very
valuable project for some new or existing FOSS organization to take on.
Conclusion
While it may seem rather late for Fedora to be hashing these things out
(after 13, nearly 14, separate releases over seven years), it is a sign
that the distribution has reached a critical mass. Over the last year or
two, there have been various factions pulling Fedora in different
directions, and without much guidance from the board or FESCo. Those
competing interests have finally caused the project to really consider its
focus and direction. There are undoubtedly those who will be unhappy with
the update policy, possibly to the point of leaving the project, but for
those that remain, it should make it a friendlier, and easier, place to
work.
(
Log in to post comments)