Home Wiki > Restricted formats
Sign up | Login

Restricted formats

tagline: From openSUSE

Functionality which is considered to infringe on some software patents, or it is possible copyright violation, prevents various frequently requested packages to be included in openSUSE. Here is explanation of the issues and suggestions how to solve the problems.
Warning Please do not add links to software packages which contain intellectual property protected by patent laws.

openSUSE supports the use of Free and Open Source Software. However, retail versions may include additional packages that have been licensed by Novell or other distributors for distribution.

The reasons why a certain software package is not included in the main openSUSE are the following:

  • The software is proprietary software, it does not conform to the Open Source definition.
  • The software is providing functionality which is patented and the patent holder is preventing distribution of the software - e.g. multimedia-related patents affect a number of free software projects like ffmpeg, mplayer, xine, lame, mythtv, lastfm and x264.
  • The software violates laws concerning software distribution in jurisdictions where Novell conducts business.

Some proprietary software and drivers may be available from their respective owners and licensed vendors. Patent-encumbered software may be obtained from vendors which have been able to strike licensing deals with the patent holders.

MPEG-2

MPEG-2 patent holders (assembled in the Moving Picture Experts Group (MPEG).) do not provide patent licenses which are compatible with the distribution of free software. This means that MPEG-2 decoders and encoders cannot be part of openSUSE. Even though Kaffeine and Xine are included in the distribution, the required decoder modules cannot be provided, at least not under a free license. This also effects GStreamer based projects like Totem.

DVB TV viewers

All DVB video data is encoded using MPEG-2. Some more expensive DVB cards contain an MPEG-2 decoder and at least some of them are supported under Linux.

DVD video

All video data on DVDs is usually encoded using MPEG-2.

In addition, region-coded DVDs are encrypted with the Content Scrambling System (CSS). There is an opensource project called libdvdcss that bypasses this encryption. Though the encryption is weak, using any method or device to bypass this is classed as a 'circumvention device' in jurisdictions such as the US, Australia and many EU jurisdictions, and distribution of such software is considered illegal in those jurisdictions and may be prosecuted if it is not certified. For certification, it may not allow copying and has to forbid fast-forward over some DVD tracks which often contain advertising.

Possible solutions

Fluendo offers a complete set of playback plugins for GStreamer, which includes not only MPEG-2, but also MPEG-4, H.264, WMA/WMV and AAC codecs fully licensed and pre-packaged for major distributions like openSUSE. This way one can get all GStreamer-based programs to work with patented mainstream video and audio codecs. The Fluendo DVD player is a proprietary software that can be bought and installed as RPM for openSUSE. It offers fully licensed MPEG 2 codecs via GStreamer and has a legal CSS key.

If you do not require compatibility with a DVD player, consider encoding videos as Ogg Theora.


MP3

Even though MPEG Audio Layer 3 (MP3) is an ISO standard, the MP3 patent holders do not license MP3 encoders or decoders under an open source license.

Possible solutions

You can use the Fluendo MP3 decoder which is a fully licensed GStreamer plugin for MP3, available free of charge. It can be used via Amarok or Banshee. The tutorial MP3 on openSUSE – 5 Minute Fix demonstrates how to get up and running with MP3 on openSUSE in a few minutes.

As an alternative, encode your audio files in Ogg Vorbis, FLAC, Speex, or other such freely used and available audio codecs.

The mp3 licensing FAQ and royalty pages state that that "no license is needed for private, non-commercial activities (e.g., home-entertainment, receiving broadcasts and creating a personal music library), not generating revenue or other consideration of any kind or for entities with associated annual gross revenue less than US$ 100.000".


NTFS

There are no NTFS patents known. Instead of patents (which are made public), Microsoft apparently chose to use Non-disclosure agreements to impede the ability of open source projects to implement support for NTFS. Everything which is known to the public about the internals of NTFS has been reverse engineered therefore. As that reverse engineering has been conducted in compliance with respective laws, the information about the NTFS data structures obtained by this reverse engineering can and is legally used in free software.

Unfortunately, the data format of the NTFS journal log has not been successfully reverse engineered yet, so if the NTFS journal log is dirty (contains data of not committed transactions), the free software cannot read the current state of the NTFS partition, only the state which is committed in the filesystem itself. This is however not an issue if the NTFS partition is in clean state.

Possible solutions

NTFS-3g provides read-write support to NTFS partitions, excluding transactions which are not committed to the filesystem itself, but only present in the NTFS journal log. If the partition is clean and properly disconnected by Windows, this is however not a problem.

FAT32 (see in wikipedia)is well-supported by both Windows and Linux, but has some limitations:

  • Does not support some characters in filenames which are allowed by POSIX, e.g. the colon: “:” (can be circumnavigated by using additional layers, e.g. posixovl)
  • For formatting partitions greater than 32GB, the Windows XP automatically switches to NTFS, but a command line tool can be used to create FAT32 partitions which are bigger than 32GB.

There are drivers and software for Windows which allow limited access to ext2 (see for ext2 in Wikipedia):

  • Ext2 IFS is a “freeware” (not free software) installable ext2 file system for Windows. It integrates with the Windows kernel thereby providing access to files on ext2 (and ext3) partitions seamlessly to all applications. It may however lead to blue screens under Windows XP.
  • explore2fs supports ext2 and ext3 from within Windows.
  • ext2fsd is an open-source ext2 (and ext3, with some limitations) driver for Windows. While still under development, its current feature set may already suffice.

cifs allows Linux to access Windows shares and Samba enables a Linux host to provide Windows shares itself to a network.


Proprietary Linux kernel modules which include Linux headers

NVIDIA graphics drivers

Three classes of drivers support NVIDIA cards:

  1. The open source nv driver which has severe limitations (does not even support some new cards like the Quadro 570FX, does not have proper dual head support and has no 3D support) It is included in X.org and is used by default. As of openSUSE 11.3 it has been replaced by nouveau driver. Anyway, on NVIDIA without KMS (Kernel Mode Setting) the nv driver is still used.
  2. The closed source, proprietary nvidia driver which requires the nvidia kernel module which many kernel developers regard as being in violation of the GNU General Public License.
  3. There is the reverse engineered nouveau driver which is based on the nv driver. It aims to provide proper dual head support and 3D support.

ATI graphics drivers

Three classes of drivers support ATI cards:

  1. X.org includes F/LOSS drivers for many (older) ATI graphics adapters. These are used by default.
  2. The closed source, proprietary ATI graphics drivers which requires the ati kernel module which many kernel developers consider this driver to violate the GNU General Public License license of the kernel.
  3. ATI has released some register specifications of their recent chipsets but has not released any documentation about the 3D functionality of their newer cards. The new ativivo and radeonhd drivers support (alpha quality) newer ATI R500/R600 graphics adapters. See the corresponding openSUSE news item

See also


External links