在自由和开放源码软件上大赚一笔

我写这篇文章的第三天,OpenSSL中的“心脏出血”漏洞摧毁了互联网安全,虽然从我第一次看到OpenSSL源代码以来,我一直对它非常挑剔,但我只有钦佩OpenSSL团队和他们的努力。

特别是考虑到他们为此付出的代价。

灵感来自于 Wall Street Journal 这篇文章绕开了OpenSSL开发缺乏资金的问题,我决定详细地写下我自己在资助开源软件开发方面的经验。

我已经在软件行业工作了30年,在最近的15年里,我或多或少地直接依靠开源软件谋生。

有时钱来自帮助客户使用开源软件,有时我根据他们的需求编写开源软件,有时,就像 Varnish Moral License 为了更大的公共利益,我得到了开发和维护开源软件的报酬。

免费BSD社区基金

我的第一次众筹是在2004年,当时我 solicited the FreeBSD community 为了钱,这样我就可以把三到六个月的时间花在FreeBSD磁盘I/O子系统上。

当时,我已经做了10年的核心和主要的FreeBSD开发人员之一,所以我的能力或是否适合手头的任务是毫无疑问的。

但在2004年,众筹还没有流行起来,我不得不自己想办法。

我的父母从小就认为,理财是一件私事,但我得出的结论是,让陌生人向你扔钱的唯一方法,就是打开一本书,让他们看到自己的遭遇,所以我确实打开了书。

我的下一个困境是关于我的价格,同样,我一直认为我的价格是我和我的客户之间的私人问题。

我的效率大约是大多数人预期的一半--因为我不会为大多数人工作:我只做我真正想做的事情 care 关于.。

因此,我的担忧之一是,公布我的收视率会削弱以咨询为生的朋友和同事在FreeBSD项目中的地位。

但同样,没有办法绕过它,所以我公布了我的费率,但尽一切努力将其与咨询费率区分开来,我从未听到任何抱怨。

因此,在苦苦思索了确切的文本,并向FreeBSD项目中的几个密友试探后,我提出了这个建议--并想知道接下来会发生什么。

我有一个绝对安全的后备计划,当你有两个孩子和抵押贷款要养活的时候,你必须这样做,但我真的不知道会发生什么。

最坏的情况是,我会让所有的母亲 bikesheds 被赶出了FreeBSD项目,并因我在自由和开放源码软件方面的“意识形态不洁”而受到谴责。

最好的情况是,我预计可能会得到一两个月的资金。

Free BSD社区做出了压倒性的回应,我的公司从来没有像2004年那样发送过如此多的发票,我的会计几乎烧断了保险丝。

突然,我发现自己陷入了一个我从未考虑过如何处理的境地:如何阻止人们给我寄钱。

我只是建立了一个PayPal账户,(稍后会详细介绍),至少在那个时候,无论你多么想阻止他们,都没有办法阻止人们往里面扔钱。

最后,我设法大喊大叫,只得到了几个百分点的超额资金,我相信,我试图将盈余转移到自由BSD基金会,那一年给了他们一点提振。

关于PayPal:他们做的第一件事就是关闭我的账户,并要求向他们传真各种文件,包括我的护照副本,尽管丹麦法律对这一点非常明确。当时和现在一样,他们的纠纷解决过程不太友好,最终向贝宝的一名高级官员提出上诉,花了相当长的时间才真正拿到人们捐赠的钱。

我对自己发誓,下一次,如果还有下一次,贝宝不会参与进来。此外,我发现他们的费用相当高。

我总共赚了27K欧元,在我工作的六个月里,这让我的孩子们吃饱了,银行也开心了。

以及我所做的工作。

我从来没有遇到过比这六个月更严厉的老板,这让我感到惊讶,因为我感觉自己就像在舞台上工作,整个FreeBSD项目都在观众席上,想知道我是否会交付产品。

结果,187个捐赠者的钱肯定物有所值,在我半年的大部分时间里,我每周工作80个小时,这让我决定不再继续工作,尽管许多捐赠者表示,他们完全愿意再资助几个月。

Varnish社区基金

五年后,在为Norways“Verdens Gang”报纸开发了Varnish1.0之后,我决定再次尝试社区基金。

从经验来看,我更明智地构建了 Varnish Moral License 为了解决第一次让我感到悲伤的问题:

首先联系,然后寄钱,而不是反过来,也关注较少的较大赞助商,而不是人们寄给我10欧元或15美元,甚至在某种情况下,碰巧留在他的贝宝账户上的1欧元。

这一次我打开了更多的书,在VML的网页上,你可以看到我从2010年开始在VML下工作的每一天有多少个小时和我在其中做了什么的一行描述。

我也决定对我自己和我的捐赠者诚实,一小时的工作就是一小时的工作--没有人会因为我死于压力而受益。

实际上并不是这样的,淋浴、电子邮件和IRC全天的回复中有大量的思考,还有很多在下班时间发生的“只是检查一个细节”,因为我喜欢我的工作,无论如何没有什么能阻止我。

在2010年、2011年和2013年,我在社区的资助下,每年在Varnish上工作约950个小时。

2012年,我只工作了589个小时,因为我正在构建一个原型计算机集群,为ESO进行自适应光学实时计算 Extremely Large Telescope (“ELT”)--我不可能拒绝那份合同:-)

在2014年,我实际上有时间做更多的Varnish工作,我已经在4.0.0版本的准备阶段这样做了,但尽管我有不那么微妙的暗示,目前的前景仍然只有800小时的资金,但我祈祷现在V4发布了,将会有更多的赞助商出现。(轻推,轻推,眨眼,眨眼,他故意说!:-)

为什么免费和开放源码要花钱

Varnish大约有90.000行代码,VML每年带来大约90K欧元的收入,这意味着Varnish让我工作并关心大大小小的问题。

我并不是对我们的努力水平感到满意,我们应该有更好的文档,我们希望的功能列表太长了,我们花了太长的时间来关闭门票。

但我不会抱怨,因为心脏出血漏洞显示,尽管OpenSSL的代码量大约是OpenSSL的三到五倍,但OpenSSL Foundation Inc.去年只接收了大约70万欧元。

而这70万欧元中的大部分是用于咨询和认证,而不是用于如此迫切需要的OpenSSL源代码基础的“自由”开发和维护。

我真的希望心脏出血漏洞能帮助向其他社区传达这样的信息:自由与开放源码软件不是凭空产生的,它是由人们编写的。

热爱我们工作的人,这就是为什么我坐在这里,在一个周五晚上午夜过后的时候,写这本小册子。

但是软件 is 由人写的,有孩子的真实的人,汽车,抵押贷款,漏水的屋顶,生病的宠物,虚弱的父母和成年人所有其他完全正常的担忧。

提高自由和开放源码软件质量的最好方法,是让这些人有可能花时间在它上面。

他们需要时间仔细审查提交文件,花时间编写和运行测试用例,花时间响应和修复错误报告,花时间编写代码,最重要的是,花时间思考代码。

但要求这些人放弃与孩子玩耍的时间,让他们开发和维护驱动其他人公司的软件,这在道德上甚至是站不住脚的。

正确的方式--道德上的方式--也是迄今为止最有成效的方式,是向开发人员支付报酬,这样他们就可以制作他们热爱的软件。

如何为自由开放源码软件提供资金

一种方法是雇佣他们,前提是他们要花一些公司的时间在软件上。

经验表明,这些人几乎总是拥有非常令人向往的大脑,雇主喜欢用这些大脑来解决各种有趣的问题,这往往会侵蚀“捐赠”的公司时间。

但许多自由和开放源码软件一直是,现在仍然是这样开发和维护的,无论有没有书面协议,甚至是知道这种情况。

另一种方式是软件项目设立基金会筹集资金并聘请开发人员。这是一件相对复杂的事情,而且只适用于较大的项目。

阿帕奇基金会在他们感兴趣的领域内“采用”较小的项目,我相信这很好用,但我不确定它是否可以很容易地移植到不同的主题。

最后一种方法是简单地把钱扔给开发者,就像FreeBSD和Varnish社区对我所做的那样。

在参与程度、国界等方面,这是一个灵活得多的解决方案,但在许多方面,它对交易双方提出了更高的要求,特别是在文书工作、税收等方面。

结论

我显然是有偏见的,我相对较少的收入有很大一部分来自社区资金,我对此深表感激。

但尽管我可能有偏见,我相信我和Varnish社区已经证明,在自由和开放源码软件方面,一小笔投资就会有很大的帮助。

我希望看到互惠互利传播到其他社区和项目,不仅是OpenSSL,也不仅仅是因为他们前几天发现了一个非常糟糕的漏洞,而是传播到任何软件周围的任何社区,这些软件为严肃的公司做了重要的工作。

提前谢谢你,

保尔-亨宁,2014-04-11