受限制的格式
openSUSE 支持使用自由和开源软件。但是,零售版本可能包含已由 SUSE 或其他分发商授权分发的其他软件包。
某个软件包未包含在主 openSUSE 分发版中的原因包括
- 该软件是专有软件,即它不符合开放源代码定义。
- 该软件提供受专利保护的功能,并且专利权人正在阻止该软件的分发——例如,与多媒体相关的专利会影响许多自由软件项目,如 FFmpeg、MPlayer、xine、LAME、MythTV、lastfm 和 x264。
- 该软件违反了 SUSE 在其业务运营所在地有关软件分发的法律。
一些专有软件和驱动程序可能由其各自的所有者和授权供应商提供。受专利限制的软件可以从与专利权人签订许可协议的供应商处获得。
MPEG-2
MPEG-2 专利权人(汇集在移动图像专家组 (MPEG) 中)不提供与自由软件分发兼容的专利许可。这意味着 MPEG-2 编码器和解码器不能成为 openSUSE 的一部分。即使Kaffeine 和 Xine 包含在分发版中,所需的解码器模块也无法提供,至少不能以自由许可的形式提供。这也会影响基于 GStreamer 的项目,如 Totem。
DVB 电视观众
所有 DVB 视频数据都使用MPEG-2 编码。一些更昂贵的 DVB 卡包含 MPEG-2 解码器,其中一些至少在 Linux 下受支持。
DVD 视频
DVD 上的所有视频数据通常使用MPEG-2 编码。
此外,区域编码的 DVD 使用内容加密系统 (CSS) 进行加密。有一个名为 libdvdcss 的开源项目可以绕过此加密。虽然该加密很弱,但使用任何方法或设备绕过它在包括美国、澳大利亚和许多欧盟辖区在内的辖区中被归类为“规避设备”,并且在这些辖区分发此类软件被认为是非法的,如果未获得认证,可能会受到起诉。为了获得认证,它可能不允许复制,并且必须禁止快进一些 DVD 轨道,这些轨道通常包含广告。
可能的解决方案
Fluendo 提供一套完整的 GStreamer 播放插件,其中包括不仅 MPEG-2,还包括 MPEG-4、H.264、WMA/WMV 和 AAC 编解码器,这些编解码器已完全许可并预打包在 openSUSE 等主要分发版中。[1] 这样就可以让所有基于 GStreamer 的程序与受专利保护的主流视频和音频编解码器一起工作。Fluendo ONEPLAY DVD 播放器是一款专有软件,可以购买并安装为 openSUSE 的 RPM。它通过 GStreamer 提供完全许可的 MPEG 2 编解码器,并具有合法的 CSS 密钥。[2]
如果您不需要与 DVD 播放器的兼容性,请考虑将视频编码为Ogg Theora。
MP3
MPEG Audio Layer 3 (MP3) 的大量“核心”专利已过期,Fraunhofer已停止这些专利的许可计划。(请注意,特定于实现的专利或非标准扩展可能仍然具有有效专利。)
考虑使用现代且免费的编解码器格式,如Opus,它在相同比特率下比 MP3 提供显著更好的质量。对于存档目的,还有免费的无损格式,如FLAC。
从 openSUSE Leap 42.3 和 openSUSE Tumbleweed 开始,MP3 解码支持包含在 FFmpeg(开箱即用)和 GStreamer(安装 gstreamer-plugins-ugly)中。
可能的解决方案
- 对于 openSUSE Leap 42.2 及更早版本,使用 GStreamer 的应用程序可以使用 Fluendo ONEPLAY MP3 编解码器,这是一种免费提供的完全许可的 MP3 编解码器。[3] 它可以与 Amarok、Dragon Player 或 Banshee 一起使用。
- Firefox 43 已获得对 FFmpeg 的支持(但仍应支持 GStreamer)。[4] 从 Tumbleweed 仓库的 Firefox 46 开始,MP3(SoundCloud 所需)在安装 libva1 和 libavcodec56 时有效。
NTFS
没有已知的NTFS 专利。微软显然选择使用保密协议来阻碍开源项目实施对 NTFS 的支持,而不是专利(公开的)。因此,关于 NTFS 内部的所有已知信息都经过了逆向工程。由于该逆向工程已根据各自的法律进行,因此通过此逆向工程获得有关 NTFS 数据结构的的信息可以并且合法地用于自由软件。
不幸的是,NTFS 日志的格式尚未成功进行逆向工程,因此,如果 NTFS 日志是脏的(包含未提交事务的数据),则自由软件无法读取 NTFS 分区的当前状态,只能读取文件系统中已提交的状态。但是,如果 NTFS 分区处于干净状态,则这不是问题。
可能的解决方案
NTFS-3g 提供对 NTFS 分区的读写支持,不包括未提交到文件系统本身的事务,而仅存在于 NTFS 日志中。如果分区是干净的并且已通过 Windows 正确断开连接,则这不是问题。
FAT32(参见wikipedia)受 Windows 和 Linux 的良好支持,但有一些限制
- 不支持 POSIX 允许的一些文件名中的字符,例如冒号:“:”(可以通过使用其他层来规避,例如 posixovl)
- 对于格式化大于 32GB 的分区,Windows XP 会自动切换到 NTFS,但可以使用命令行工具创建大于 32GB 的 FAT32 分区。
有适用于 Windows 的驱动程序和软件,允许对 ext2 进行有限访问(参见ext2 in Wikipedia)
- Ext2 IFS 是一个“免费软件”(不是自由软件)可安装的 Windows ext2 文件系统。它与 Windows 内核集成,从而为所有应用程序提供对 ext2(和 ext3)分区上文件的无缝访问。但是,它可能导致 Windows XP 出现蓝屏。
- explore2fs 支持 Windows 中的 ext2 和 ext3。
- ext2fsd 是一个开源的 ext2(以及 ext3,有一些限制)Windows 驱动程序。虽然仍在开发中,但其当前的功能集可能已经足够。
cifs 允许 Linux 访问 Windows 共享,Samba 使 Linux 主机能够向网络提供 Windows 共享。
包含 Linux 头文件的专有 Linux 内核模块
NVIDIA 显卡驱动程序
三种类别的驱动程序支持 NVIDIA 卡
- 闭源的专有 nvidia 驱动程序需要 nvidia 内核模块,许多内核开发人员认为这违反了GNU General Public License。
- 逆向工程的 nouveau 驱动程序基于 nv 驱动程序。它旨在提供适当的双头支持和 3D 支持。
- (已弃用) 开放源代码的 nv 驱动程序具有严重的限制(甚至不支持一些新卡,如 Quadro 570FX,没有适当的双头支持并且没有 3D 支持)。它包含在 X.org 中并默认使用。从 openSUSE 11.3 开始,它已被 nouveau 驱动程序取代。无论如何,在没有 KMS(内核模式设置)的 NVIDIA 上,nv 驱动程序仍然使用。
ATI 显卡驱动程序
三种类别的驱动程序支持 ATI 卡
- X.org 包含许多(旧)ATI 图形适配器的 F/LOSS 驱动程序。这些默认使用。
- 闭源的专有 ATI 图形驱动程序需要 ati 内核模块,许多内核开发人员认为此驱动程序违反了GNU General Public License 许可协议。
- ATI 发布了其最新芯片组的一些寄存器规范,但未发布有关其较新卡的 3D 功能的任何文档。新的 ativivo 和 radeonhd 驱动程序支持(alpha 质量)较新的 ATI R500/R600 图形适配器。请参阅相应的openSUSE 新闻。