[Mageia-dev] Mageia repository sections, licenses, restrictions, firmware etc

Anssi Hannula anssi.hannula at iki.fi
Tue Oct 12 17:02:38 CEST 2010

Hi all!

Do people have any thoughts on what kind of repository/media sectioning we 
should use on Mageia, and what should those sections contain?

Note that I won't talk about backports / private repositories in this post, 
only about the basic sectioning and packages in those.

Some points to consider (I've written my opinion in ones where I have one):

== Do we want a separated core repository?

No separated core: Fedora, Debian, Opensuse
Separated core: Mandriva (main), Ubuntu (main), Arch (Core)

== What will be officially supported?

 - And what does that mean?

== How are the sections named? :)

I think I'm in favor of renaming 'contrib' to 'extra'.

== Where do redistributable firmware go (Radeon graphics, Intel WLAN, TG3 
ethernet, etc)?

To main repository: Arch, Fedora, Opensuse, Ubuntu
To the non-free repository: Debian
Case-by-case arbitrary decision: Mandriva

If we want to separate non-free firmware à la Debian, I guess one option would 
be a separate firmware repository... or we could make free-only installation 
an expert option. Certainly we want tg3 ethernet and radeon to work on a 
standard installation, and for this we really need the firmware.

I'd probably prefer to put them in main (as all non-Debian ones) but do some 
metapackage magic (or similar) to allow blacklisting them easily for those who 
want to.

== Where do firmware without license go (DVB, V4L, etc)?

To unsupported non-free repository: Ubuntu (multiverse) [1],
To unsupported repository without binary packages: Arch (AUR)
Nowhere: Debian, Fedora, Opensuse, Mandriva

I guess for this one I'd prefer a helper draktool to handle/download these 
instead of shipping them ourselves.

== What about patents?

Almost no software with patents: Fedora, Opensuse
 - Essentially no media codecs except theora/vorbis/ogg/vp8 etc.
 - Strange exception: libXft, Cairo and Qt4 are shipped with LCD filtering
   support enabled, even if it is disabled in freetype

No software with enforced patents: Debian
 - not included (at least): x264 (encoder), lame mp3 (encoder)
 - included (at least): MPEG/x decoders, H.264 decoders, MP3 decoders,
   AAC decoders, AMR decoders, DTS decoders, AC3 decoders,
   WMV/WMA decoders, realvideo decoders, etc

Some software covered by patents not included: Mandriva
 - see below for more information

All software covered by patents allowed: Arch, Ubuntu

IMO we should alter our policy to match either Fedora, Debian or Ubuntu.. The 
Mandriva policy makes no sense (for example, no AAC decoder but yes for H.264 
decoder and MPEG-4 encoder?).
I'm really not sure which way we should go, though. WDYT?

== If we choose a separate core repository, should we do something regarding
   OOo and java?
(there are a million java packages with tight interdependencies, and due to 
OOo requiring some of those, we need to ship the whole web in main)

== Do we allow P2P file transfer software?

Yes: Arch, Debian, Fedora, Ubuntu
No, except torrents: Mandriva
Unknown, at least torrents allowed: Opensuse

== And gaming emulators?

Allowed: Arch, Debian, Ubuntu
Mostly no, but at least fuse-emulator is shipped: Fedora
Unknown, but lots of them are in OBS 'Emulators' project (unofficial but in 
official mirrors): Opensuse
No, but at least zsnes is shipped: Mandriva

== And DVDCSS, etc?
Allowed: Arch
Not allowed: Debian, Fedora, Mandriva, Opensuse, Ubuntu

This should probably be 'no'.

============ Mandriva sectioning ===========
=== main
 - packages that are officially supported, with security updates handled by
   the security team

 - packages can only depend or builddepend on packages in main itself
 - packages need to have an open source license
   o unwritten exception: various non-free but distributable firmware (see
     kernel-firmware), for example radeon firmware and TG3 ethernet firmware
     are included despite their license; the selection is arbitrary
 - packages can't be covered by patents

   o unwritten exception: most patented codecs are shipped

     - these are the patented codecs that are *not* shipped:
       o official xvid encoder and decoder (another encoder and decoder is
         shipped in main ffmpeg)
       o libdca DTS decoder (another decoder is shipped in main ffmpeg)
       o lame MP3 encoder (decoders are shipped in libmad and ffmpeg)
       o any AAC decoders and encoders
       o x264 H.264 encoder (decoder is shipped in main ffmpeg)
       o opencore AMR decoders and encoders
     (Note: I may have missed some insignificant ones)

     - all other patented codecs are shipped (including H.264 decoder,
       MPEG-2 decoders and encoders, MPEG-4 decoders and encoders,
       MP3 decoders, DTS decoder, AC-3 encoder/decoder, VC-1 decoder,
       WMV/WMA decoders, realvideo decoders)  (I didn't recheck the patent
       status one-by-one, but this is the AFAIK situation)

   o as with Opensuse and Fedora, MDV has LCD filtering in libXft, Qt4, Cairo

 - packages can't break effective DRM (DVD CSS, AACS..)
 - p2p packages are not allowed, except torrent clients
 - gaming emulators that use rom files are not allowed

=== contrib
 - those packages not in main

 - same as main, except that packages can depend on other packages in contrib
   as well

=== non-free
 - those packages not in main or contrib
   o including most firmware files, for e.g. WLAN cards
 - same as contrib, except that only redistribution license is required, and
   packages can depend on other packages in non-free

============ Ubuntu sectioning ===========
== Main
 - packages that are fully supported
 - can't depend on outside packages (AFAIK)
 - applications and drivers need to be free software
   (non-free redistributable "documentation, images, sounds, video clips and
    firmware" are allowed "on a case-by-case basis";
    in practice all firmware is shipped as long it is redistributable)
 - packages can't break effective DRM (DVD CSS, AACS..)
 - must not require royalty payments
   o apparently patents are an unwritten exception..

== Restricted
 - non-free packages that are officially supported
 - it contains the minimal amount of packages, currently only:
   bcmwl, fglrx, lpia, nvidia, sl-modem

== Universe
 - packages without guaranteed security updates
 - same license policy as Main

== Multiverse
 - packages without guaranteed security updates that do not qualify
   for Universe (including firmware with unknown license)

== Partner repository
 - unspecified 3rd party packages
 - contains sun java, adobe flash, skype, realplayer, etc.
Not mirrored in normal mirrors (redistribution outside Ubuntu is probably not 
allowed for some packages).

============ Debian sectioning ===========
== Main
 - packages that are open source

== Contrib
 - open source packages that depend on non-free packages

== Non-Free
 - packages that are non-free but redistributable

============ Fedora/Opensuse sectioning ===========
Single repository, see the beginning of message for restrictions.

Opensuse seems to have a semi-official 'Contrib' repository nowadays,
though it doesn't seem to be precisely specified what goes there:
It is apparently less official than e.g. Mandriva's 'contrib' or Ubuntu's
'universe', though.

============ Arch sectioning ===========

== Core
 - Core packages (basesystem only, no X.org, etc)

== Extra
 - Other official packages

== Community
 - Voted and reviewed packages from Unsupported (below).

== Unsupported
 - User submitted packages
 - No binary packages. (users must build them themselves)

[1] http://changelogs.ubuntu.com/changelogs/pool/multiverse/l/linux-firmware-

Anssi Hannula

More information about the Mageia-dev mailing list