应对Debian中的非自由软件

我是如何从Debian的家中搬出来,为自己的道德计算找到了两个新家,其中有Trisquel和Guix,同时也解决了我对Debian进一步贡献的困惑。

Debian公司他对自由软件社区的贡献是巨大的。Debian是20世纪90年代早期的发行版之一,它将全球导航卫星系统工具(编译器、链接器、shell、编辑器和一组Unix工具)Linux内核并发布了自由软件操作系统。当时,关于如何发布自由软件二进制文件的指导很少,更不用说整个操作系统了。缺乏既定的社区进程和冲突解决机制,也缺乏激励工作的指导原则。与技术工作同时进行的社区建设努力,在过去几年中产生了稳定的释放量。

来自理查德·斯塔尔曼自由软件基金会(FSF)在20世纪80年代和90年代初,当时已经有一个自由软件的定义受自由软件定义的启发,以及社会契约有助于建立社区和解决冲突的信念,Debian与自由软件社区的社会契约(DSC)于1997年出版DSC包括Debian自由软件指南(DFSG),这直接导致了开放源代码定义.

Slackware 3.5英寸磁盘
我早期的一个Slackware安装磁盘集,出于怀旧原因而保留。

我是通过以下途径被介绍到GNU/Linux的发行版在20世纪90年代初(哦,天哪,那些夜晚正在计算XFree86车型调试sendmail.cf)主要用于RedHat Linux系统大约1995年至2003年。我在伍迪发布周期,当原始RedHat Linux被遗弃,Fedora上线。正是Debian明确的社区流程和基础设施吸引了我。社区流程的缓慢特性也让我长期使用RedHat:集中式和教条式的决策流程通常会产生快速有效的结果,我认为RedHat Linux在技术上优于Debian ca 1995-2003。然而,RedHat模式不可持续,导致RedHat与Fedora分裂。Debian迎头赶上,并在其社区进程停滞不前后达到了技术稳定。大约在2006年末,我开始加入Debian社区。

我对Debian的社会契约Debian应该是在免费许可下100%许可的作品发行版。Debian社区向来包容非自由软件,创建了控制/非自由部分,并允许使用bug跟踪器来帮助解决非免费作品的问题。这在社会契约中都有解释。自由工作和非自由工作之间一直有明确的界限,并且承诺Debian系统本身将100%免费。

当时,对RedHat Linux不是100%自由软件的担忧对我来说并不重要:我主要(并且很高兴)在Solaris、IRIX、AIX、OS/2、Windows等上运行GNU工具。在RedHat Linux上运行GNU工具是一种改进,我还没有意识到可以在自己的主计算机上删除所有非自由软件。Debian为我实现了这个目标。从那时起,我就一直相信这种模式。我可以使用Solaris、macOS、Android等,因为我可以选择使用100%免费的Debian。

虽然对非自由软件的包容性方法招致并值得批评(一些人认为,包容非决定性行为是一个坏主意),但我认为Debian的方法是一种成功的生存技巧:通过包容自由和非自由社区,并在两者之间达成妥协,Debian能够保持相关性并为这两种环境做出贡献。如果Debian没有为自由社区服务并做出贡献,我相信自由软件人会停止贡献。如果Debian完全拒绝了非免费作品,我认为它不会成功Ubuntu公司发行本应基于Debian。

我早在2022年9月就写了上面的大部分文字,打算把它作为一种为我的在Debian中保持现状的建议。我之所以没有发布它,是因为我觉得我说的是显而易见的,显而易见的东西不需要重复,而其余的帖子只是我在回忆。

Debian项目一直是一个100%免费操作系统的可持续生产商,直到Debian 11牛眼。非免费固件的解决方案社区决定放弃长期以来导致100%免费Debian的模式。Debian的目标不再是发布100%免费的操作系统,而是添加了以下内容:“Debian官方媒体可能包含固件”。事实上Debian 12书虫新闻稿证实,这不仅是一种可选的可能性。Debian社区本可以发布一个100%免费的Debian,与非免费Debian并行,并且仍然与他们新采用的政策保持一致,但选择了不这样做。结果是Debian的政策与他们的行动不一致。当Debian安装程序包含非自由软件时,声称Debian是100%免费的是没有意义的。行动胜于雄辩,所以我只能把这些政策读作精心准备的散文,不再用于指导,而是为了让生活在象牙塔中的人们安心。我想也是为了吸引资金。

那么,从个人层面上来说,该如何应对呢?早在2022年10月投票后,我就没有答案。我还不清楚我是否愿意根据推广非自由软件的新社会合同向Debian捐款。去度假了与此同时,Debian 12书虫被释放,证实了我的担忧。我不停地回头看这篇文章,我唯一的想法是在我的机器上使用Debian是不道德的。让行动说话,我转而PureOS(纯操作系统)十月份在我的主笔记本电脑上,几乎看不出有什么不同,因为它是基于Debian 11牛眼的。去年12月,我买了一台新笔记本电脑,并尝试了特里斯克尔吉他在它上面,因为他们承诺了一条通往ppc64升PureOS没有。

当我思考如何接近我的谦逊Debian贡献,我开始学习Trisquel获得信任我把一台又一台Debian机器迁移到特里斯克尔,并开始使用吉他在其他人身上。迁移很容易,因为Trisquel基于基于Debian的Ubuntu。使用Guix有其挑战,但我喜欢它的连贯的文档环境。我所有重要的自托管服务器(VM主机、DNS、电子邮件、WWW、Nextcloud、CI/CD构建器、备份等)现在都使用Trisquel或Guix。我迁移了许多GitLab CI/CD规则,以使用Trisquel而不是Debian,从而为软件开发和部署提供更符合道德规范的计算基础。我希望周围有官方的Guix docker图片。

时间已经过去了,当我现在想到Debian的任何贡献时,我对排除100%免费Debian感到有点失望。我意识到今天我可以像使用macOS、Android、RHEL或Ubuntu一样使用Debian。是什么阻止我为那些平台上的自由软件做出贡献?因此,我将再次偶尔做出Debian贡献,因为我知道这也会间接地改善Trisquel。为了避免安装Debian,我需要一个Trisquel开发环境,它允许我构建Debian包。我找到了这样做的方法:

#系统命令:
苏多apt-get安装debhelper git构建的包debian-archive-keyring
苏多wget公司-O/usr/share/debootstrap/scripts/debian-common命令https://sources.debian.org/data/main/debootstrap/1.0.128%2Bnmu2/scripts/debian-普通
苏多wget公司-O/usr/share/debootstrap/scripts/sidhttps://sources.debian.org/data/main/d/debootstrap/1.0.128%2Bnmu2/scripts/sid
#运行一次以创建生成映像:
DIST=sidgit-pbuilder公司创建--镜像http://deb.debian.org/debian网站/--debootstrapopts“--exclude=usr-is-merged”--基本路径/var/cache/pbuilder/base-sid.cow
#使用debian/在目录中运行以构建包:
gbp构建包--git-pbuilder--git-dist=sid

如何可持续地提供100%的免费软件二进制发行版似乎是一个悬而未决的问题,与20世纪90年代或2000年代初相比,挑战并没有什么不同。我希望Debian能回来提供一个100%免费的平台,但我担心Debian会在自由软件理念上进一步妥协,而不是相反。通过添加非自由固件时使用的类似参数,Debian可能会损害Linux引导过程的自由软件精神(如Debian签署的非自由引导映像)和媒体处理(如web浏览器和DRM),正如Debian已经为非自由软件(Python pip)实现了appstore-like功能一样。要了解Debian打包中的其他自由问题,请浏览Trisquel的助手脚本可能会照亮你。

Debian的挫折和RHEL衍生分布的最近挫折令人难过的是,这将是对这些社区的一个挑战,以找到内部一致的一致性前进。我祝他们好运,因为Debian和RHEL对于更广泛的自由软件生态系统非常重要。让我们看看Trisquel、Guix和其他人周围的社区FSDG公司-分布会在未来发展。

尽管Debian和RHEL遇到了挫折,但今天自由软件的情况似乎比几年前要好,这一点值得记住!我不记得在现代笔记本电脑现代服务器就像我今天能做的那样简单。

快乐黑客!

附录2023年7月22日:此帖子的原始标题是应对非自由借记,有一个关于它的帖子其中包括对标题的反馈。我确实同意我最初的头衔是对抗性的,我已经把它改为更具体的了应对Debian中的非自由软件。我非常感谢Debian中所有优秀的自由软件,并希望它能够继续并改进,尽管我对大多数开发人员表达的意见表示怀疑。对于有哲学倾向的人来说,思考一下软件编译是自由许可的意味着什么是很有趣的。软件汇编在什么时候应该被贴上免费与非免费的标签?Windows可能包含一些发布为免费软件的软件,比如说Windows是1%免费的。苹果编写了许多自由软件(顺便说一句,苹果公司生产的自由软件可能比Debian公司生产的要多),假设macOS包含20%的自由软件。Solaris(或一些仍在维护的衍生产品,如Open印第安纳州)现在大多是免费许可的,不是吗?假设它是80%免费的。Ubuntu和RHEL更接近95%的自由软件。Debian过去是100%,但现在略低于99%。Trisquel和Guix是100%。在什么情况下称编译为免费是合理的?Debian值得被称为自由许可吗?macOS吗?有可能以任何有意义的方式使用这些标签进行汇编吗?所有数字都是凭空得出的。它甚至不清楚如何测量(二进制字节?代码行?CPU周期?等等)。有关许可证审查错误的警告适用。我忽视了Debian自己关于Debian是100%自由软件的说法,我认为这是不一致的,在任何合理的客观分析下都不再正确。在固件投票之前,情况并非如此,因为Debian在Linux内核中附带了非自由blob。

关于TLS-AUTHZ

TLS-AUTHZ文件(协议规范在这里)描述了在TLS协议中添加授权支持的机制。该想法是专利申请的一部分,请参阅向IETF发出专利通知。该协议具有IETF复杂的历史。现在是最后第三次通话愿意征求社区的反馈。我写过关于TLS-AUTZ的文章之前.

RedPhoneSecurity现在正试图通过将该文档作为“实验标准”发布来绕过IETF标准化过程。该文件早些时候未能就标准轨道的发布达成共识。

IETF区域负责人Tim Polk,争论因为存在独立的实现,所以社区从发布文档中受益。这个论点很愚蠢,因为唯一的独立实现是我的,我反对发布该标准。此外,由于该文件已作为互联网草案发布,社区中任何有权访问互联网的人都可以访问该文件。为了澄清我们对带有专利声明的标准没有兴趣,我们决定从GnuTLS中删除tls-authz实现。与FSF一起,我们提出了以下声明,这是GnuTLS 2.0.2发布公告:

**已删除TLS授权支持。
这项技术可能在未来获得专利,对互联网社区来说并不重要。经过深思熟虑,我们得出结论,在这种情况下,我们能做的最好的事情就是鼓励社会不要采用这种技术。我们决定以自己的行动引领潮流。

如果您担心IETF采用的专利标准,现在正是您发声的好时机!最后一次通话将于10月23日结束。请阅读该问题,并熟悉IETF流程(RFC 2026,中包含与专利相关的更新副本请求3989)并将您的反馈发送给ietf@ietf.org。