非营利性组织的思考--以Open SSL为例
非营利性组织的思考——以OPEN SSL为例
王子洋 2013200511
上了非盈利性组织的课,结业让写一篇论文,正好我最近在了解一个非营利性组织的事情,OpenSSL 。这是一个开源的解决手机端的互联网开源代码解决隐私问题的互联网软件公司。这篇论文,我想聊聊开源软件的模式和OpenSSL 存在的问题,以及到底谁在捍卫我们的隐私。我也会写到在“心脏出血“这个漏洞从发现到公布的过程中,惊心动魄和争分夺秒的故事,这个过程暴露出OpenSSL 严重的管理问题。
先从开源说起。
1 开源是一种商业模式
首先,把OpenSSL 描述成没有捐款就没法生存的组织,但开源组织并不是这样,开源和免费一样,是一种商业模式,他们之间有诸多不同,但有一个基本的相同点,就是都希望尽量多的人免费使用它。大家已经免费使用了很多互联网服务,对于免费模式应该非常理解,我们从未给Google 付款,从未为我们每一次搜索买单。但我们搜索的行为,我们的注意力、数据,都会变成Google 的广告收入。我们每一次使用Google 搜索,都是在帮助Google 赚钱,尽管没直接付钱给他们。
开源软件也是如此。开源软件的世界是激烈竞争的,任何一个组织,都可以从当前代码分支一份继续开发新的版本,这个行为叫做Fork 。一个开源组织要想生存下去,最重要的基础就是普遍被使用,不然很快就会被竞争者替代。一个软件被普遍被使用之后,就会因此衍生出相关服务,团队可以通过这些服务获得比较好的收入,商业模式就成型了。最著名的例子应该算是Red Hat Linux,中文叫做红帽,他们免费提供Linux 发行版,企业可以通过付费订阅获得技术支持,他们收入相当不错,现在已经是一家市值100多亿美金的上市公司。 OpenSSL 采用的也是同样的开源和服务收费的方式运转,OpenSSL 基金会的负责人Steve 说他们最多一年有将近100万美金的商业咨询项目(资金来源是美国国防部和美国国土安全部),这已经是相当不错的状况。开源软件的全职工作人员都不会太多,大部分项目的核心贡献者同时也都会承担商业性项目,这是很正常的情况。在开源社区中,像Linux 创始人Linus 这样全职为开源项目工作的程序员,反而不是普遍现象,Linus 得以这么做,一方面是Linux 基金会财力丰厚,另外一方面也是因为Linux 衍生项目太多,影响力也太大,Linus 本身又是精神领袖,他不得不全职为Linux 工作。同时从事商业服务和开源项目,并不是界面那篇文章描述的那么悲情。
再来个例子,最好的开源UNIX 操作系统FreeBSD ,其核心开发者Poul-Henning Kamp(社区内叫他phk )到今天仍然承担商业性项目。即使从1994年到现在,他的一直在FreeBSD 代码贡献的排行榜上排第一,也仍然不是FreeBSD 基金会的全职员工,他对自己的描述是“自雇”。phk 在自己主页上公开了最近正在做的一个商业项目,报酬每月3000美金。以OpenSSL 的项目规模,有一个全职开发者已经是相当不错的状况了。
为什么有这么多人会放弃传统的卖软件的方式,转向免费软件和开源软件?除了个人兴趣和理想之外,开源软件是一个成熟可靠的商业模式,这个商业模式有自己的收入方式和生态。界面这篇文章极力制造普通互联网用户对于OpenSSL 的愧疚感,指责普通用户从来没付钱给他们,这是一种道德绑架。任何一个用户,只要在使用OpenSSL ,就是在帮助这个组织获得市场份额,在竞争中获得更大优势,无论有没有直接捐款给他们,用户都已经做出了贡献。
2 为什么OpenSSL 之前只能收到很少捐款?——基金会、捐赠和募资
虽然开源组织可以通过商业服务来让自己生存的不错,但是一般也都很愿意接受捐款。有足够的捐款,可以少做一些商业项目,把精力往开源软件方面倾斜一些,这当然是好事。大部分软件和IT 企业,每年都有不小的一笔钱用来支持开源项目们,同时也争取自己在开源社区的影响力和发言权,开源组织们每年接受的捐款按照各自项目状况,都不算少。但为什么一年前,OpenSSL 这个项目每年只能收到几千美金的捐款呢?答案很简单,因为他们从来没有搞过募捐活动。
开源组织通常会设立一个注册为非盈利机构的基金会,通过这个基金会募集资金、组织活动、推广自己的开源产品,视项目情况给专职或者兼职开发者付报酬,其中募集资金是基金会相当重要的工作。如果经常使用维基百科的用户,应该会有印象。维基百科每年都有一个固定时段,会在网站上放置非常明显的筹资通告,设定好本年度预算目标,让大家捐款。达到数额之后,捐款就停止,不再接受更多。几乎所有开源组织,都会通过这种方式募集捐赠。
OpenSSL 基金会从来没公开募集过资金,如果没有捐款目标,没公开募捐,就很难有成批的捐款进入,毕竟,需要资金的项目实在太多了。对于OpenSSL 这种项目,募资相当容易,他们只需公开发一份筹款通知,各大企业的钱就可以立刻到手。当“心脏出血“发生之后,诸多企业惊讶的不是只有一个全职开发者这件事,而是,为什么你们一直没筹款。OpenSSL 从来没公布过自己的财务状况,没有设置过募款目标,这让人们如何去捐款给他?
更有意思的是,OpenSSL 基金会并没有注册为非盈利机构,而是一个盈利性企业。捐助OpenSSL 的人和企业无法从美国政府获得减税。按照他们自己的说法,是他们没有时间维护一个非盈利组织,这不是个好理由。对于一个开源项目,注册一个非盈利组织比注册公司难不了多少,再说,基金会之所以成立,不就是为了去做这些事吗?盈利性企业已经定义了他们是希望靠商业活动获得收入,而不是靠捐款生存。捐款给盈利性企业,钱的利用率就会变低很多,按照美国税法粗算,最多的情况下要多交出30%~40%的税,是巨大的浪费。这也解释了为什么美国企业很少捐款给OpenSSL 基金会。
不过,就算如此,事情也是在快速好转的。“心脏出血“事件之后,Linux 基金会在极短的时间内就成立了核心基础架构联盟(CII, Core Infrastructure Initiative),这个联盟和以往最大的区别是,他们主动挑选缺乏资金的重要开源项目进行资助,无论对方是否募款,OpenSSL 是他们资助的第一个项目。这个联盟集结了世界各国的科技企业共同出资,其中包括了Google 、Amazon 、Facebook 、思科、富士、惠普、IBM „目前已经有了10多家企业。其中中国企业只有一家,是华为。特别值得一提的是,除了给CII 出资,华为也单独资助了OpenSSL 基金会每年5万美金。可惜,界面的文章似乎把华为忘了。参加CII 联盟的企业每年出至少10万美金,按照2014年的数字,CII 每年总共有170万美金基金可以使用,第一期资金主要用来资助OpenSSL 和OpenSSH ,资金相当富裕。
上面这些事情都发生在去年5月,也就是“心脏出血“事件之后的一个多月时间里。无论是各大科技企业,还是Linux 基金会,他们的行动都非常迅速,这是开源世界的做事方式和效率。到去年5月,OpenSSL 的资金问题就算解决了。从这个结果看,之前OpenSSL 没有得到足够捐款的直接原因就是其基金会失职。
做为对比,再看看去年OpenBSD 募款的经历。OpenBSD 是最关注安全的开源Unix 操作系统,他们同时也是OpenSSH 的维护者(看到SS 是不是觉得和加密也有关系?没错,这也是一种加密工具,只不过不是给客户用的,是给服务器管理者和程序员用的),去年的募款目标仅仅是15万加币。相比起来,170万美金实在已经是太多了,如果CII 给的钱不够让OpenSSL 变好,恐怕再多的钱也不会好了。
除了直接捐钱,各大企业支持开源项目的方式还有很多,比如捐献自己员工的时间。任何一个开源项目中,都有来自各大公司工程师的贡献,这些公司给自己员工发薪水,他们写
的代码会回馈给开源项目,比起捐款,这是更直接的支持。比如去年发现“心脏出血”漏洞的工程师,是Google 员工,他在上班时间全职对OpenSSL 代码做安全审计,找到了这个Bug 。他确实不是OpenSSL 基金会的直接雇员,但这份由Google 买单的全职劳动成果是贡献给了OpenSSL 项目的,说所有大公司都没支持过这个项目,未免太不公平。而这种错误言论,正是界面文章宣传的论调,按照这篇文章的说法,一个中国小公司救了全世界互联网用户,这是何等荒唐。
说到这里,再说说捐款问题。我非常反对界面渲染的这种捐款情绪,这是利用人们的愧疚捐款。钱是非常宝贵的资源,需要用钱的地方太多了,正确的捐款是在捐款者对项目的充分了解后,基于对其价值观和方向认同,按照自己的愿望进行长期而小额的固定捐助。在这个过程中,税务问题也是必须要考虑的,这直接决定了资金利用率,比如美国税务居民,捐赠给OpenSSL ,资金的利用率就很低,而捐款给CII 再由他们资助OpenSSL ,就可以得到一部分免税,利用率高了很多,如果是加拿大税务居民,想对操作系统方面的项目捐款,应该首选OpenBSD ,因为它是加拿大注册的非盈利组织。捐款是一个非常理性的行为,隐藏部分信息,利用人们对开源项目的不了解,煽情,制造愧疚感,这是不可持续的,也是不公平的,这些都是界面的文章和之后的运营所做的事情。
互联网的安全,不取决于一个特定的软件,即使这个软件是用来加密的。发现“心脏出血“漏洞的Google 员工Mehta 说过,libjpeg 如果出问题,可能会有极大影响。libjpeg 用来生成和显示大部分网站和软件的图片,被普通人用到的范围比OpenSSL 更广,威胁也会更严重。当人们被媒体把关注转向OpenSSL 上时,大量更重要的问题就会缺少关注。希望能有更多人关注更多的基础项目,而不是和汶川地震一样,盯着看各大企业谁给OpenSSL 捐款更多。一年了,炒作也应该结束了。