Goals
Thorsten Leemhuis
fedora at leemhuis.info
Sun Feb 22 20:04:35 CET 2009
Hi!
I read over the "Where we are and where do we what to go?" thread again
and tried to create a page in the wiki that lists some generic and some
specific goals that RPM Fusion may want to achieve. See
http://rpmfusion.org/Goals or the text below.
Comments? Did I miss anything?
CU
knurd
P.S.: Reminder, it's a wiki for a good reason; so if you want to add or
improve something go ahead and do it straight in the wiki
P.P.S.:Special thx to Stewart Adam for quickly reading over the text and
fixing lots of mistakes I made.
---
= Goals =
This page lists the general goals of RPM Fusion as well as specific work
areas the members of the project are planing to or work on or already
work on to reach the general goals.
<<TableOfContents>>
== Overall ==
Become the de-facto "official" Fedora add-on repository for all legally
distributable free and non-free software the Fedora project doesn't want
to ship. That software should be packaged in the same packaging format
that Fedora uses and should not require deeper knowledge to install and
use; In other words, make FAQs and howtos obsolete as much as possible
by making things "just work". Avoid to do things where we would compete
with Fedora and while building and maintaining the repositories try to
match Fedora when it comes to rules, guidelines, procedures and
infrastructure as much as possible.
=== More detailed overall goals ===
The paragraph above outlines the overall general goals (call it "meta
goals" if you like) quite well, but (intentionally) doesn't go into the
details. The following points are a few examples that in a more verbose
way try to outline the RPM Fusion's general goals:
* provide software that is free (as defined by the
[http://fedoraproject.org/wiki/Packaging/LicensingGuidelines|Fedora
licensing guidelines]) as pre-compiled RPMs for Fedora and RHEL/CentOS +
EPEL in a yum repository that seamlessly can be used by the packaging
tools from Fedora during and after install; packages in that repo should
not automatically replace packages from the distributions the repo is
designed for
* provide distributable non-free software (anything that is not "free"
according to the Fedora guidelines) in a different repo that is similar
styled to the free repository
* rely on the packaging or update guidelines from Fedora for RPM
Fusion as much as possible; only enhance/adjust those rules in areas
where it is needed for the specific nature of RPM Fusion
* when possible, don't do things in RPM Fusion that could be done in
Fedora, as doing it there is better for everyone (albeit sometimes
harder to realize)
* try to get more repos to merge into RPM Fusion
* make RPM Fusion package repositories as well as the packages in it
as easy to use as possible (e.g. make it "just work") to make sure that
computer, linux, or fedora newbies have an easy time getting those
things that Fedora doesn't want to support to work.
Note that RPM Fusion as well as its contributors have to obey laws in
their area of operation and hence can't do everything they would like to
do, so tradeoffs had to and have to be made. That was (and is) hard, but
necessary -- otherwise RPM Fusion maybe wouldn't have lift of at all and
definitely would have a smaller contributor base.
One of those tradeoffs is: we don't ship software that is not
re-distributable and we avoid one well known open-source package used
for playing DVDs as that is known to be more problematic then other
software we ship. RPM Fusion hopes that sooner or later a different
repository (that works on top of RPM Fusion just like RPM Fusion builds
on top of Fedora and RHEL/CentOS + EPEL) is build in a part of the world
where host such a repo isn't a problem.
== Specific work items ==
The members of the RPM Fusion project are well aware that RPM Fusion in
a lot of areas doesn't reach the goals outlined above. So there are
several things that are done or under discussion as well as lots of
ideas to get closer to a point where we reach the goals.
=== Ongoing work ===
==== automatic dependency checking script ====
Xavier is working on that
=== Ongoing work that could need help ===
==== improvements for graphics drivers ====
The RPM Fusion-packaged graphic drivers from AMD and Nvidia are well
known and respected among some users. But there is still a lot of room
for improvements:
* users have to know which driver they need and that confusing people
* the tools from AMD and Nvidia don't work too well; sometimes they
remove important parts specific to our driver packages from xorg.conf
and thus break 3D
* Fedora uses very recent kernels and so often, the kmod packages
won't compile; help from someone with lots of kernel know-how would be
very appreciated.
==== EL repo ====
We need to decide if we let this lift of or drop it now before it
started for real. Yes, some packagers like the idea and maintain their
packages for the repo, but that's not enough for a repo to last; for the
EL repo to really lift of we need someone that takes care of it as kind
of "release manager" (ThorstenLeemhuis is doing that job a bit for the
Fedora repos; someone else, that actually uses EL more than he does
should do it for EL)?
==== new repos ====
There are multiple ideas that are slowly discussed:
* get kde-readhat integrated into RPM Fusion as a dedicated new repo
* start a experimental repo with updates that are not ready for
updates{,testing}
* start a staging repo with unreviewed things (only license check)
* a repo with packages that replace packages from the distribution
they were build for)
This is being discussed slowly but there has been no conclusion on the
issue yet, nor any work being done to realize it. Once that is solved it
might make sense to go out and actively try to get more 3rd party repos
merge into RPM Fusion.
==== switch to koji, bodhi, packagedb ====
Xavier iirc is thinking about that and doing some preparation for that
already; would be nice to switch, but no need to hurry, current setup works
=== Ideas nobody is working on ===
==== Installer ====
A small helper app that enables RPM Fusion (and other repos?) and does
the initial configuration (e.g. install xine-lib-extras-nonfree if
xine-lib was found to be installed earlier).
Detailed description: Users could download that helper app rpm instead
of the two release-rpms they have to download not (or the helper app
could be part of the rpmfusion-free-release rpm). That helper app then
could ask a few questions like "Do you want 'nonfree' packages?" or "do
you want to enable compatible repos like the adobe repo?". After that it
could act according to what the user wants and what's found on the
system (e.g. install rpmfusion-nonfree-release; install
xine-lib-extras-freeworld if xine-lib is found; same for
gstreamer-plugins, k3b and others; import keys for the repos). Maybe
that installer should remain active on the system and tell the users
that he might want to install xine-lib-extras-freeworld when he installs
xine-lib; but maybe that better done by a yum plug-in or a combination
of those two. But users should not have to manually "re-scan" the system.
Maybe this helper app could even enable livna, but that might be tricky
as the livna repofile must not be in that package (retrieving the data
from the net OHOH should be save). The app should have a command line
interface to be scriptable. And in the default usage the GUI should not
ask to many question that might confuse people that are new to linux --
it should "just work" ;-)
Yes, apps that do parts of this exist already (like Autonine/Autoten).
But some do stupid things and all ask way to many questions. And
everyone could benefit from a sane official install that is provided by
RPM Fusion.
==== Jockey for Fedora ====
Another small app (either tied into or separate of the install helper?)
could things similar to the one jockey does in ubuntu (see
https://launchpad.net/jockey and
http://people.ubuntu.com/~pitti/screenshots/jockey/ ). Firewing1 is
thinking about doing something like this already, which should make the
"users don't know which graphics driver to choose" part easier. But the
goal should remain: make things "just work", so no configuration options
if they are not strictly needed
==== mirror lag / skip broken by default ====
RPM Fusion packages with hard deps on Fedora packages (kmods, xine,
qmmp, audacious, ...) often create lots of problems for Fedora users due
to mirrors lags (RPM Fusion mirror might be have a newer
xine-lib-extrs-nonfree while the Fedora mirror yum doesn't have the
matching xine-lib yet or vice versa; details:
https://www.redhat.com/archives/fedora-devel-list/2008-August/msg00041.html
) we really need a solution for this
==== kmod-plugin ====
There is a plugin for yum that should improve handling of kmods; that
plugin needs adjustments for the current kmod scheme to automatically
install the PAE kmod if a PAE kernel is installed (and perhaps to deal
with akmod-generated kmod packages in a better way)
==== form a real steering committee and meet on regularly ====
Activity to improve the project as a whole (not meaning the repo or the
individual packages) went down a lot since we started :-( we just do
"business as usual", which might be very dangerous in the long term.
Would a steering committee help? Or how can we make people feel
comfortable to "just do things" to improve RPM Fusion without being on a
steering committee?
==== improve reliability of RPM Fusion ====
We have lot's of "Single Points of Failure" within the RPM Fusion
project -- hardware without backup systems or plans how to keep things
running in case of a problem; only one person has access to things like
DNS, buildservers, or signing keys
==== improve the docs ====
There are lots of FAQ, Howto and other docs on the net that describe how
to use RPM Fusion; often those are misleading, not fully right, outdated
or they disagree with each other; should we try to not only be the
inoffical official 3rd party repo for Fedora, but also be the offical
3rd party source for all the docs that can't go straight to Fedora?
==== automatically rebuild all kmods ====
ThrostenLeemhuis has a plan how to do that; it's not that hard, he just
needs to sit down and do it
==== misc ====
* rpmfusion-buildsys-list is broken;
* no announcement mailing list; no real planet.rpmfusion.org or other
way to get important information out to the users
* no RPM Fusion Fedora remix maintained within the project; do we want
one? Or even proper install DVDs that already contain packages from RPM
Fusion?
* improve docs for contributors and users; document processed
* a small script or rpmfusion-packager package with a script that does
things like
{{{
alias
plague-client-rf='PLAGUE_CLIENT_CONFIG=~/.plague-client-rpmfusion.cfg
plague-client'
alias cvsf='export CVSROOT=:ext:USERNAME at cvs.fedora.redhat.com:/cvs/extras'
alias cvsrf='export CVSROOT=:ext:USERNAME at cvs.rpmfusion.org:/cvs/free'
alias cvsrnf='export CVSROOT=:ext:USERNAME at cvs.rpmfusion.org:/cvs/nonfree'
}}}
More information about the rpmfusion-developers
mailing list