为什么黑客马拉松应该坚持使用自由软件

黑客马拉松是为数字开发项目提供社区支持的一种公认方法。社区邀请开发人员参加活动,提供鼓励的氛围、一些有用的资源以及参与有益项目的机会。大多数黑客马拉松会根据既定标准选择他们将支持的项目。

黑客马拉松符合人们彼此采取合作和尊重态度的社区精神。符合这种精神的软件是自由(libre)软件,自由如自由。自由软件带有允许其用户(包括程序员)合作自由的许可证。因此,黑客马拉松在自由软件社区中是有意义的。硬件设计项目也应该并且必须是自由的。

对自由的尊重不能被认为是理所当然的。相反,我们周围充斥着无耻地发布专有(非自由)软件的公司,这些软件仅供那些屈服于其权力的人使用。这些公司开发软件是为了统治和控制他人的手段。

这些公司有害的成功激励年轻的开发人员效仿他们的榜样,开发自己的程序或硬件设计来统治用户。他们有时会将他们的项目带到黑客马拉松,在拒绝社区精神的同时寻求社区的支持:他们无意回报合作。接受这种情况的黑客马拉松会破坏他们所基于的社区精神。

一些变态的黑客马拉松专门致力于帮助某些公司的计算:在某些情况下,欧洲加拿大银行以及Expedia。虽然他们没有明确说明,但公告给人的印象是,他们的目标是促进某些非自由软件的开发,并且与会者应该帮助这些非慈善项目。

这些例子表明黑客马拉松可以下滑到何种程度。让我们回到更常见的情况,即黑客马拉松不是专门用于商业目的,而是接受专有的项目。

当开发人员将项目带到黑客马拉松,并且没有说明它是否会是自由的时,这不是对社区精神的公开反对,但它会破坏这种精神。黑客马拉松应该通过坚持黑客马拉松项目承诺按照这种精神发布来加强他们所基于的社区精神。

这意味着告诉开发人员:“为了你值得我们的支持和帮助,你必须同意,如果你认为你的项目成果足够好,可以使用或发布,就将这些成果以自由的形式提供给社区使用。”

作为一名黑客马拉松参与者,你可以支持这一原则:在加入任何黑客马拉松项目之前,请询问“你将使用什么许可证发布此项目?我想在加入开发之前确保它是自由的(libre)。” 如果项目开发人员说他们稍后会选择许可证,你可以回应说你稍后会选择是否参与。不要害羞——如果其他人听到这次讨论,他们可能会决定遵循同样的道路。

要查看哪些许可证是自由许可证,请参阅GNU 许可证列表。大多数“开源”许可证都是自由的,但一些开源许可证是非自由的,因为它们限制性太强

个人的坚定态度会产生影响,但是黑客马拉松本身的政策会产生更大的影响。黑客马拉松应该要求每个参与项目承诺遵守以下规则

如果你发布或使用此代码或设计,你将以自由(libre)许可证发布其源代码。如果以可执行形式分发代码,你也将使其自由(libre)。

许多黑客马拉松由学校赞助或主办,这也是他们应该采用此规则的另一个原因。自由软件是对公共知识的贡献,而非自由软件则对公众隐瞒知识。因此,自由软件支持教育的精神,而专有软件则反对它。学校应坚持要求其所有软件开发都是自由软件,包括他们支持的黑客马拉松的软件开发。