*tap* *tap* *tap*
by Matthew Miller
Hello? Is this thing on?
It's dark out there.... anyone in the house tonight?
--
Matthew Miller <mattdm(a)mattdm.org>
Senior Systems Architect -- Instructional & Research Computing Services
Harvard School of Engineering & Applied Sciences
13 years
Five basic principles for Fedora, from a server perspective.
by Matthew Miller
I've made a list of a handful of what I think are important foundational
concepts for Fedora from a server perspective. They'd be essential for a
separate Fedora spin or even complete branch, but ideally, the core Fedora
project will keep them in mind when adapting new features and considering
overall direction. I believe that a general recognition of the value of
these points will be good for everyone, not just our particular special
interest.
In each case, I've tried to consider a developer tasked with targeting the
general productivity / web desktop user. These ideas shouldn't block that
developer from focusing on the intended case while still not causing harm to
wider uses.
Your comments and discussion are of course appreciated — this is a starting
point, not my idea of graven stone tablets.
1. More with Less
Simplicity. A modern server doesn't do everything; it provides the
minimal services it needs, with no overhead. We should work to pare down
the minimal set of packages installed, and avoid bringing in complicated
systems as dependencies in that base. Whenever something new would add to
what's running by default, we should look for another way.
This makes systems run more efficiently and with require less management
overhead, and reduces risk from to package errors or intentional attacks.
2. Avoid Churn at the Core
It may be that in order to best provide for the typical Fedora user,
frequent updates are a necessity. But Fedora should place extra emphasis
on keeping the base of the operating system from changing within a stable
release.
This makes system changes more auditable, and keeps security and
important bugfix updates from being lost in the noise. It reduces risk
from accidental new bugs or from incompatible version changes.
3. Fedora is Unix-like
The operating environment in Fedora builds on over 40 years of
experience. Some of that is quirky and strange, but it's a strangeness
that has become familiar. Changes from that legacy should only be made
with the recognition that simply making things different has a cost, and
that cost must be justified.
This means knowledge transfers to and from Fedora. It means certain
basic tools are always there.
4. The Command Line is Power, and Key=Value is a Key Value
The command line user interface appears intimidating, but its flexibility
is incredibly hard to match in a GUI. Fedora can't require new software
to be developed with command-line access in mind, but if that software
replaces older software, it should not cause regressions in this area.
Configuration files for services should be text files, easily fixable in
a pinch. Formats like XML are to be avoided — they're good for computer
processing, but terrible for human brains.
This means systems can be scripted, controlled remotely, managed in bulk,
tracked with version control, and, when necessary, fixed from a minimal
rescue environment.
5. Write Good Man Pages
Any documentation is welcome, but man pages have a unique place. They're
concise technical documentation with a standardized and expected format.
This means it's easy to find out how to do something even when a more
full-featured environment isn't available.
--
Matthew Miller <mattdm(a)mattdm.org>
Senior Systems Architect -- Instructional & Research Computing Services
Harvard School of Engineering & Applied Sciences
13 years
Proposal: fedora server branch - not really a respin at all
by Seth Vidal
http://skvidal.wordpress.com/2010/08/31/why-do-we-think-one-size-can-crea...
Why is it we think that we can build a server and a desktop and a mobile
platform and a computational cluster platform and EVERYTHING out of a
single tree of pkgs and a single kernel? Is it not possible that easy,
functional and versatile is too many things to ask for and keep everyone
getting along?
I’m going to suggest something radical:
fedora server should be a complete tree branch – with its own criteria
for admittance of pkgs and updates
fedora should continue as is with the focus being the desktop and
targetted the user that the board defined a little while back:
http://lwn.net/Articles/358865/
specifically:
We found four defining characteristics that we
believe best describe the Fedora distribution's target audience:
Someone who (1) is voluntarily switching to Linux, (2) is familiar
with computers, but is not necessarily a hacker or developer, (3) is
likely to collaborate in some fashion when something's wrong with
Fedora, and (4) wants to use Fedora for general productivity, either
using desktop applications or a Web browser.
Perfect, right? We can focus on the issues of a server and of cutting
the edge of what servers need while the desktop-oriented folks make a
great desktop (or desktops) and we don’t have to have these pitched
battles over systemd and networkmanager and policykit and what not.
sounds like a winner to me.
what do you think?
13 years, 1 month