如果您在大学工作,如何发布自由软件

在自由软件运动中,我们认为计算机用户应该有自由修改和再分发他们使用的软件。“自由软件”中的“自由”指的是自由:这意味着用户有运行、修改和再分发软件的自由。自由软件有助于人类知识的进步,而非自由软件则不然。因此,大学应该鼓励使用自由软件来促进人类知识的进步,正如他们应该鼓励科学家和其他学者发表他们的著作一样。

唉,许多大学管理者对软件(以及对科学)持有一种贪婪的态度;他们将程序视为收入的机会,而不是为人类知识做出贡献的机会。自由软件开发者已经应对这种趋势近 20 年了。

当我在 1984 年开始开发 GNU 操作系统时,我的第一步是辞去我在麻省理工学院的工作。我这样做是为了防止麻省理工学院的许可办公室干涉我以自由软件的形式发布 GNU。我计划了一种许可 GNU 中程序的方法,以确保所有修改后的版本也必须是自由软件——这种方法发展成了 GNU 通用公共许可证(GNU GPL)——我不想不得不恳求麻省理工学院的管理部门允许我使用它。

多年来,大学的附属机构经常向自由软件基金会寻求建议,如何应对那些只将软件视为可以出售的商品的管理者。一种好的方法,即使对于特定资助的项目也适用,就是将您的工作建立在已根据 GNU GPL 发布的现有程序之上。然后您可以告诉管理者,“我们不允许以 GNU GPL 以外的任何方式发布修改后的版本——任何其他方式都将侵犯版权。”当他们眼中的美元符号消失后,他们通常会同意将其作为自由软件发布。

您也可以向您的资助方寻求帮助。当纽约大学的一个小组在美国空军的资助下开发 GNU Ada 编译器时,合同明确要求将生成的代码捐赠给自由软件基金会。首先与赞助商达成协议,然后礼貌地向大学管理部门表明,它不能重新谈判。他们宁愿签一份开发自由软件的合同,也不愿没有合同,所以他们很可能会同意。

无论您做什么,都要尽早提出这个问题——在程序完成一半之前。此时,大学仍然需要您,所以您可以强硬一点:告诉管理部门,如果他们书面同意将其作为自由软件(并同意您选择的自由软件许可证),您将完成程序,使其可用。否则,您只会进行足够多的工作来撰写一篇关于它的论文,而永远不会制作一个足以发布的版本。当管理者知道他们的选择是要么获得一个为大学带来荣誉的自由软件包,要么什么都没有时,他们通常会选择前者。

自由软件基金会有时可以说服您的大学接受 GNU 通用公共许可证,或接受 GPL 第 3 版。如果您不能独自完成,请给我们机会帮助您。发送邮件至 [email protected],并在主题字段中填写“urgent”。

并非所有大学都有贪婪的政策。德克萨斯大学有一项政策,使得在那里开发的软件可以很容易地根据 GNU 通用公共许可证作为自由软件发布。巴西的 Univates 和印度海得拉巴国际信息技术学院都有支持根据 GPL 发布软件的政策。通过首先发展教员的支持,您或许能够在您的大学建立这样的政策。将这个问题作为一项原则问题提出:大学的使命是促进人类知识的进步,还是其唯一目的是延续自身?

在说服大学时,以坚定的决心和基于道德的视角来处理这个问题会有所帮助,正如我们在自由软件运动中所做的那样。为了以道德的方式对待公众,软件应该对所有公众都是自由的——正如自由的概念那样。

许多自由软件开发者宣称这样做的原因非常狭隘且实用:他们提倡允许他人共享和修改软件,作为使软件强大和可靠的权宜之计。如果这些价值观激励您开发自由软件,那很好,并感谢您的贡献。但是,当大学管理者施压或诱惑您使程序成为非自由软件时,这些价值观并不能让您站稳脚跟。

例如,他们可能会辩称“有了我们能获得的所有资金,我们可以使它更强大、更可靠。”这种说法最终可能会或可能不会实现,但很难事先反驳。他们可能会建议使用一种许可证来提供“免费,仅供学术使用”的副本,这将告诉公众他们不配享有自由,并辩称这将获得学术界的合作,而这正是(他们说)您所需要的。

如果您仅仅从便利的价值观出发,很难有力地拒绝这些死路一条的建议,但是如果您将立场建立在道德和政治价值观之上,您可以轻松地做到这一点。以牺牲用户自由为代价来使程序强大和可靠有什么好处?自由不应该在学术界之外也适用吗?如果自由和社群是您的目标之一,那么答案是显而易见的。自由软件尊重用户的自由,而非自由软件则否定它。

没有什么比知道社区的自由在某种程度上取决于您更能增强您的决心了。