Saturday, May 14, 2011

» What's an orig-addon ?

Funny question eh? :)

Let me take a step back first. There are quite a few packages that the openSUSE project cannot publish on their main infrastructure, not because of legal reasons, but for reasons of potential software patent infringements. That, combined with the fact that the main sponsor of the openSUSE project (Attachmate, formerly Novell) also sponsors almost all the IT infrastructure, the fact that Attachmate (and Novell before them) is a business in the USA, and that the USA has the most ludicrous legal precedents regarding software patents (hey, the market regulates itself, right ?), puts us into such a situation. It isn't different for most other distributions by the way, except for a very few which probably only get away with it because they remain rather small and under the radar.

What am I talking about? Well, packages such as gstreamer-0_10-plugins-bad, MPlayer, vlc, xine, libmad, etc... Typically because they contain implementations of multimedia codecs such as for MP3 or H.264 which are heavily covered with software patents.

The Packman project and repository provides many of those packages (amongst other things) for openSUSE, hosted in a country where software patents do not apply. Now, don't confuse software patents and copyright: copyright is well established, precise and there are no groups of people on the planet who respect copyright more than open source and Free software developers, specifically because copyrights such as the GPL, BSD or ASL (to name just a few) protect our work and our ideals. Hence, what we are doing is not illegal in any way. As an example, the mad library might be subject to software patent infringement where applicable, but is under the GPL.

Okay, now back to the actual topic. The libraries of the gstreamer framework are maintained by several contributors of the openSUSE project in the multimedia:libs project in our famous openSUSE Build Service. However, as explained above, the download repositories of multimedia:libs may not host the packages that might infringe on software patents (where applicable). So what we are doing, is to link those packages on our Build Service instance at Packman (yes, the Build Service can do that, awesome feature :)). The difference is that on Packman, due to some macros, we do build those parts that potentially infringe on software patents, and also host them in our repository and its mirrors. The trick is that they're subpackages that end in "-orig-addon". For example, for the package "gstreamer-0_10-plugins-bad", its companion is "gstreamer-0_10-plugins-bad-addon-orig" (yes, I agree, the suffix "orig-addon" is stupid, too "geeky" and not intuitive in any way.)

So, to see whether you have those installed, first open a shell as root, then do the following:

zypper search orig-addon

It will probably result in something like this:

Loading repository data...
Reading installed packages...

S | Name | Summary | Type
--+--------------------------------------------------------+----------------------------------------------------------------------+--------
| gstreamer-0_10-plugins-bad-orig-addon | GStreamer Streaming-Media Framework Plug-Ins | package
| gstreamer-0_10-plugins-bad-orig-addon-32bit | GStreamer Streaming-Media Framework Plug-Ins | package
| gstreamer-0_10-plugins-bad-orig-addon-debuginfo | Debug information for package gstreamer-0_10-plugins-bad-orig-addon | package
| gstreamer-0_10-plugins-bad-orig-addon-debuginfo-32bit | Debug information for package gstreamer-0_10-plugins-bad-orig-addon | package
| gstreamer-0_10-plugins-ugly-orig-addon | GStreamer Streaming-Media Framework Plug-Ins | package
| gstreamer-0_10-plugins-ugly-orig-addon-32bit | GStreamer Streaming-Media Framework Plug-Ins | package
| gstreamer-0_10-plugins-ugly-orig-addon-debuginfo | Debug information for package gstreamer-0_10-plugins-ugly-orig-addon | package
| gstreamer-0_10-plugins-ugly-orig-addon-debuginfo-32bit | Debug information for package gstreamer-0_10-plugins-ugly-orig-addon | package

In order to install those bits, do the following:

zypper install gstreamer-0_10-plugins-bad-orig-addon gstreamer-0_10-plugins-ugly-orig-addon
and you're done :)

On a side note: if those results don't show up when doing the search, then add the Packman repository with the following command and try again:

zypper ar -r http://r.opensu.se/packman.repo

Labels: ,