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 Fedora anymore.
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 attendee.
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 domain controllers.
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.