|
|
<!-- TITLE: 自由软件需要自由工具 -->
|
|
|
<!-- SUBTITLE: 原文: https://mako.cc/writing/hill-free_tools.html -->
|
|
|
|
|
|
# 自由软件需要自由工具
|
|
|
|
|
|
在过去的十年中,自由软件开发人员一再受到开发工具的诱惑,这些工具提供了更高效或更强大地构建自由软件的能力。
|
|
|
|
|
|
我们被告知,唯一的成本是工具本身是非自由的,或者作为网络服务运行,我们不能看到、复制或运行自己的代码。在他们使用这些工具和服务的决定中,诸如 BitKeeper、SourceForge、谷歌代码和 Github -自由软件开发人员已经做出了“终结正当手段”的决定,这些决定抵消了开发者社区和他们的用户的自由。这些拥抱非自由和私人开发工具的决定破坏了我们崇尚软件自由、损害我们的自由和我们的用户的可信性,我们应该拒绝这种方式。
|
|
|
|
|
|
在2002,Linus Torvalds 宣布内核 Linux 将移动到“BitKeeper”分布式版本控制系统(DVCS)。虽然这一决定引起了很大的警觉和争论,但 BitKeeper 允许内核开发者以一种分布式的方式工作,这种方式在当时不受自由软件工具的支持——一些Linux开发者认为,在开发者的自由中,利益是值得权衡的。三年后,当 BitKeeper 的老板 Larry McVoy 在 Andrew Tridgell 试图为 BitKeeper 编写自由的替代品后,撤销了几个核心内核开发者的免费许可证后,怀疑论者被证明是正确的。内核开发者被迫编写他们自己的自由软件替换:现在称为 Git 的项目。
|
|
|
|
|
|
当然,自由软件与非自由开发工具的关系要比BitKeeper大得多。自由软件开发支持服务SourceForge的源码曾经被用户使用过,但是它的作者已经返回到一个完全封闭的模型。当 SourceForge 是使用自由软件构建的时候,SourceForge 用户通过网络与软件交互。因为用户从来没有任何 SourceForge 软件的副本,他们永远不能要求源。类似的项目,如 CollabNet 的 Tigris.org,谷歌代码的“开源项目托管”服务和 Github ,每个都有类似的用途,并且保持了类似的代码。他们的服务通常免费提供,并为自由软件开发而推广,但这一承诺并不延伸到运行开发平台的自己的软件。这些系统的每个源代码仍然是私有的和不可修改的。
|
|
|
|
|
|
这些非自由开发工具给许多自由软件开发者带来了两难境地。这些工具的目标是,通过更高效的自由软件开发,更多的自由软件和更多的自由。CollabNet、谷歌和Github都声称想要自由软件成功,并声称他们想帮助它。出于一系列原因,这些公司选择通过软件自由来支持软件自由,而这些手段与他们所要创造的自由软件伦理不太一致。结果是开发者被剥夺权力。黑客产生的代码的软件自由取决于不可接受的排他性。
|
|
|
|
|
|
首先,非自由工具的使用给自由软件的用户发送了一个不可接受的信息。软件自由对于用户来说是很重要的,“开发人员似乎说,”但对我们来说并不重要。“这样的行为破坏了自由软件运动中心的强烈伦理承诺的基本效力。正如那些已经承诺自由软件,我们应该证明我们可以成功和繁荣-使用自由软件。我们应该支持私有系统的自由替代品,比如Savane,可以取代 SourceForge 或谷歌代码,运行 GNU Savannah,或 Gitorious ,可以取代Github——通过使用它们,并通过在它们短缺的区域进行改进。
|
|
|
其次,我们应该认识到,未来,我们生产的软件只有软件的自由,它依赖于它的持续使用、分配和进化。
|
|
|
|
|
|
GNU GPL许可证和源代码对于试图修改程序而不能自由访问进行修改所需的软件的用户来说意义不大。这不仅是开发者的自由,而且最终是他们的用户和所有未来的“下游”开发者。那些选择使用非自由工具的人会让每个人产生他们所依赖的工具的群体和个人。
|
|
|
|
|
|
虽然专有开发工具可以帮助自由软件开发人员在短期内创建更多的自由软件,但这是不可接受的成本。在备受争议的私人软件和网络服务领域,自由软件开发商应该在“太多”自由的一边犯错。在争取更多自由的过程中妥协我们的原则是对我们的用户和更大的自由软件开发社区的自我挫败、不稳定和最终不公平。
|
|
|
|
|
|
正如早期的 GNU 维护者首先专注于创建自由工具来创建自由软件一样,我们应该确保我们可以自由地生产软件并使用明确的自由工具。我们不这样做将导致软件间接地变得更加不那么自由。我们应该抵制使用不允许我们在开发软件时为用户提供自由的工具,我们应该对开发工具的生产者施加压力。自由软件没有通过妥协我们的原则取得成功。 通过妥协我们用于建立自由世界的工具的自由,我们不会在技术上,务实上或道德上得到满意的服务。 |