I’m attending Flock 2017, which is an annual conference for Fedora Project.
This year it happens on a Cape Cod peninsula of the Massachusetts state in the
U.S. The conference started on August 29th at a local resort and conference
center in Hyannis, a town with a history, most commonly known for JFK legacy.
This year Flock is more action oriented. Many tolks are in fact collaborations
where people discuss and hack together rather than being lectured. However,
there is plenty of talks that allow others to digest what’s happening within
fast moving projects in Fedora project universe.
While containers and modularity were topics discussed almost universally, I’d
like to hilight two talks for the day one.
Fedora Legal – This is why I drink
An entertaining talk of the day was “Fedora Legal – This is why I drink” by Tom
Callaway. Tom explained past, present, and future of a life he has to live as a
Fedora (para)legal person. He made clear he is not a lawyer and disclaimed
almost everything you might think about, including taking the facts he is
talking about as any kind of a legal adwise. Still, his review of what was done
and what is expected to happen in near and far-fetched future was valuable.
Fedora was one of early distributions that went through a review and
standardization of its licensing needs. It took some time to review 350
different free software and open source licenses from the packages in Fedora
but Tom did build a list of them, both for
good ones and bad ones. The latter are the ones which aren’t acceptable in
This work tends to go unnoticeable to users. Over years it took quite some time
to also work with various opensource projects and get them to realise where
their licensing was preventing them from better collaboration for their users.
For example, many font designers have fun producing free fonts and giving them
into hands of users but sometimes they have terrible ideas about how copyright
law works. A part of Tom effort was to make it possible to package more fonts
in Fedora and at the same time helping those font designers to improve their
licensing. Another examples given during the talk were gradual clean up of Artistic License
1.0-licensed projects from CPAN, cleaning up TeXLive distribution, and
replacement of Fedora individual contributor licensing agreement with the
current Fedora Project Contributor Agreement
that doesn’t require any copyright assignment.
An interesting topic Tom reflected on was consideration of the patents when
deciding whether certain technology needs to be packaged in Fedora. Fedora
finally has full support for MP3 now that all related known patents did expire.
However, it took quite a lot of time to analyze expiration terms for many of
them. It also took a lot of time to find out what ellyptic cryptography curves
can be implemented and packaged in Fedora – ranging from six to ten years
depending on a curve.
Tom noted that he has calendar reminders set up for some known patents whose
expiration he tracks. These defined an interesting schedule for him and even
set him off occasionally when a surprising alarm comes in about an expiration
of a patent he forgot about.
All these achievements weren’t easy. When two lawyers cannot agree on how to
interpret a text written by another lawyers, engineers have hard time
navigating through all the minefield. The work behind the scenes in defining a
set of rules that can be understood by mere people, written in easy to digest
English, is impressive. The talk title was mostly a joke – in the end, we
still don’t know why Tom thinks it could force him drinking and what exactly
are the beverages. As with most of legal texts, it was left for interpretation
– as well as a bottle of a local wine, gifted to Tom by another Flock
State of Fedora Server
Stephen Gallagher ran an annual review of what’s happening in Fedora Server
world. Fedora Server work started after we successfully ran a focused
experiment by making a Fedora Workstation as a focused product with system-wide
attention to simplify typicall configuration tasks and improve usability of a
Linux desktop. Fedora Server was an attempt to similarly provide an improved
experience for administrators who came with non-UNIX background based on a feed
back Red Hat tracks as part of its support operations.
Fedora’s server roles concept is now deprecated. Rolekit package will be
removed in Fedora 28 or after it. A focus has changed to provide a better
experience with Cockpit server apps. These apps are full-fledged Cockpit
plugins. Rolekit-based deployment was covering only simple scenarios. Cockpit
apps can and should be getting a better grasp of what is happening in the
system and across a server fleet as Cockpit allows to browse and command
multiple machines. We are currently working on FreeIPA cockpit app that would
make it easier to decide what options to use for actual enrollment of FreeIPA
Another example is FleetCommander. FleetCommander cockpit app is a real deal:
it combines an interface to configure desktop profiles and rules how to apply
them in FreeIPA. At the same time it configures an actual virtual machine where
desktop profile can be set up and tuned. FleetCommander Cockpit App gives rich
experience that would not be possible with Rolekit alone.
During questions and answers session of Stephen’s talk we also attempted to
find a concept that would help to understand why modularity is needed for spins
like Fedora Server. A helpful concept is of a factory conveyer where multiple
components assembled together to produce one of many pre-defined models that a
factory is churning out. When you are owning an equipment, tools, and processes
to define your factory it is relatively easy to control all the options.
However, if your factory is a franchise, ability to re-define certain steps or
tools, or make it possible to deviate in colors and ability to respond to a
customer demand is the key. Fedora project is a community with a long story of
creating spins and “deviations” from the “core”. Modularity project, while it
has started as something different, is now bringing a lot of this flexibility to
all community partners. Many problems were identified in the existing tooling
around RPM management and distribution image composition through the years,
modularity project attempts to solve them by a different view on how to attack
them. It is an important initiative that gives a way to improve collaboration
at the distribution core that we call Fedora Project. At the same time it gives
much needed tools to make it possible to fork and (hopefully, happily) merge at
exactly those stages of a distribution development and maintenance processes
which were very rigid. In past any attempt to modify a spin too much typically
led to a hard fork, with a new distribution project. As result, resources were
unnecessarily spread out too thin in the community. I really hope we’ll get
less burden on a repeatable chunk of work across all interesting spins and
concentrate on more important aspects of why those spins are created: a value
to their users.