“ contrib”和“非免费”软件包存储库有什么区别?


17

尽管由于各种原因我喜欢Debian,但要找到有关此发行版及其政策的特定方面的一些文档并不总是那么容易。

我的问题是:contrib和之间有什么区别non-free软件包存储库有什么?

如果我没记错的话,我从一些小的解释中可以找到:

  • non-free 适用于许可证不是免费的软件包
  • contrib用于non-free软件包的依赖关系(这使它们不属于Debian)

但是对于我来说,拥有两个用于相同目的的存储库似乎很奇怪,这就是在Debian内部提供非自由软件。

我想知道我是否在这里缺少什么。

Answers:


27

非免费软件包是不符合 Debian自由软件准则定义的软件包。例如:

nvidia-driver 提供专有的驱动程序。

contrib软件包是符合DFSG的软件包,但依赖于非免费软件包,或依赖于某些非免费软件下载(通过软件包或必须手动下载)才能正常工作。所以他们不会结局main。例如:

bumblebee-nvidia尽管它符合DFSG,但没有non-free软件包并没有真正的用处nvidia-driver,因此将其放在一contrib节中,或者

vice 这要求下载(同时尊重版权和法律)ROM才能正常工作。

如果某人不想或不能使用非自由软件,则该人很可能不需要或无法使用依赖于该软件的软件,因此将它们分别放在贡献部分中会更有用。。该人员甚至不必下载contrib部分。

更新:该软件的贡献其来源仍然可以免费使用。有趣的部分可以在其他项目中重复使用,或者不自由这取决于(或不使用)部分可以更换(如:更换显卡在游戏引擎,音乐等资产的contrib)。将其与非免费分开可以帮助您了解哪些部分可以重复使用。

琐事:开源定义最初是通过删除DFSG中对Debian的任何提及而创建的。


2
我真的不明白Debian或它的用户分离non-free和受益的好处contrib。实际获得的好处是什么?至于谁不关心,如果程序中包含非免费代码,无论是最终用户non-free,并contrib通过我的罚款。至于谁最终用户关心,都是禁地我。实际优势是什么?
MechMK1

1
像MechMK1一样,我对此感到困惑,即使我应该在问题中写得更清楚一些,这也是我想回答的一个方面。
悖论

1
您可以重用contrib的代码并对其进行修改,以使其适应其他项目,因为该源可以作为“ main”中的任何源使用。当它来自非免费版本时,您可能无法执行此操作,或者源许可证不允许您做足够的事情,或者根本没有源。如果最终用户是“正常的”最终用户,除了分发内容之外,她没有尝试做任何其他事情,那么我可以想象contrib和non-free看起来是一样的
AB的

3
同样,有时您可以用自由零件替换非自由零件。从理论上讲,可以使用某些游戏引擎进行贡献,而将其资产(图形,音乐等)置于非自由或无处可做的事情。拆分清楚表明可以执行此操作。
AB

9

在《 Debian政策手册》上定义:

2.2.2。贡献档案区

contrib档案区包含旨在与Debian发行版一起使用的补充软件包,但是需要发行版外部的软件才能构建或运行。

每个包装都必须遵守DFSG。

另外,软件包的贡献

  • 一定不要马车到我们拒绝支持他们的地步,

  • 必须满足本手册中提出的所有政策要求。

contrib中包含的软件包示例包括:

需要有贡献的免费软件包,非免费软件包或根本不在我们存档中的软件包以进行编译或执行,以及

包装程序或非免费程序的其他免费配件。

2.2.3。非免费档案区

非自由档案区包含旨在与Debian发行版一起使用的补充软件包,这些软件包不符合DFSG或存在其他使发行版产生问题的问题。由于修改限制或其他限制,它们可能不符合本手册中的所有策略要求。

如果包装不符合DFSG的规定,或者由于专利或其他法律问题(使分销存在问题)所困扰,则必须将其非免费放置。

另外,套餐中非免费

  • 一定不要马车到我们拒绝支持他们的地步,

  • 必须满足本手册中提出的所有可能的政策要求。

进一步阅读:


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.