Restricted formats
openSUSE supports the use of Free and Open Source Software. However, retail versions may include additional packages that have been licensed by SUSE or other distributors for distribution.
Reasons why a certain software package is not included in the main openSUSE distribution include:
- The software is proprietary software, i.e. 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 SUSE 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 with 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 affects 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 open source 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.[1] This way one can get all GStreamer-based programs to work with patented mainstream video and audio codecs. The Fluendo ONEPLAY 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.[2]
If you do not require compatibility with a DVD player, consider encoding videos as Ogg Theora.
MP3
The substantial 'core' patents for MPEG Audio Layer 3 (MP3) have expired, with the licensing program for these patents discontinued by Fraunhofer. (Note that implementation–specific patents or non-standard extensions may still have valid patents.)
Consider using modern and free codec formats like Opus, which provides significantly better quality than MP3 at the same bitrate. There are also free lossless formats like FLAC for archival purposes.
From openSUSE Leap 42.3 onwards and openSUSE Tumbleweed, MP3 decoding support is included for both FFmpeg (out of the box) and GStreamer (install gstreamer-plugins-ugly).
Possible solutions
- For openSUSE Leap 42.2 and earlier, applications using GStreamer can use the Fluendo ONEPLAY MP3 decoder, a fully licensed MP3 decoder available free of charge.[3] It can be used via Amarok, Dragon Player or Banshee.
- Firefox 43 has gained support for FFmpeg (but should still support GStreamer).[4] As of Firefox 46 from the Tumbleweed repositories, MP3 (needed by SoundCloud) works when libva1 and libavcodec56 are installed.
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. Therefore, everything which is known to the public about the internals of NTFS has been reverse engineered. 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:
- 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.
- The reverse engineered nouveau driver which is based on the nv driver. It aims to provide proper dual head support and 3D support.
- (DEPRECATED) 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.
ATI graphics drivers
Three classes of drivers support ATI cards:
- X.org includes F/LOSS drivers for many (older) ATI graphics adapters. These are used by default.
- 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.
- 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