您能否列出一些显示许可协议并要求接受的 deb 包?我想了解它们的内部结构。
答案1
如果我没记错的话,该msttcorefonts
软件包要求接受 EULA。
答案2
如果您打算通过软件中心销售商业软件,我认为他们会提供一种许可证展示和接受机制(尽管熟悉该流程的人可能会纠正我)。
否则,如果你打算以自由软件为基础分发某些东西,点击包装许可证就是馊主意。例如,它们使得以自动方式安装软件包变得困难(那么如何接受许可证?),并且(据我所知)目前尚不清楚点击包装许可证在实践中是否比软件包中包含的许可证更具效力。任何类型的限制性许可证也可能会减少软件的传播,因为任何有关权利的不确定性都会导致发行版和镜像不携带它,或将其降级到次要或非默认软件包集合。
这Debian 自由软件指南(常问问题) 是 Debian 项目接受软件进入其档案库时遵循的准则。需要注意的是,Ubuntu 虽然源自 Debian,但其软件自由政策通常比 Debian 更灵活。
答案3
您可以在这里找到 deb 包中的版权文件的文档:机器可读的 debian/copyright 文件
就我而言,这是 2012 年的,因此是一个非常年轻的发展。到目前为止,没有多少软件包包含机器可读许可证,我不确定管理人员如何处理它。
在 Stackoverflow 上获取有关此问题的更多信息:https://stackoverflow.com/questions/1884753/license-info-of-a-deb-package
我个人的意图是,大多数“接受许可”对话框都是由供应商自己制作的。
PS:许可证需要用户接受才能生效,或者被接受的许可证自动生效是一种误解。您需要告知用户有关许可证的信息,但这并不一定意味着您需要一个带有“接受”-“拒绝”的对话框。
答案4
Ubuntu 或 Debian 中的任何软件(即免费软件)都不应该要求用户在安装时接受任何许可证。但也有非免费软件包的 deb,其中一些是这样做的。另一位发帖人提到msttcorefonts
;其他一些(如果我没记错的话)是flashplugin-nonfree
和sun-java6-jdk
(最近由于许可证变更而从 Debian 和 Ubuntu 中删除)。
不过,你可能想要的更大的答案是,正确的方法是使用德布康夫。