这不是一个关于我找到开源的故事——而是关于开源如何选择我的故事。
那时我对开源的了解仅限于 Linux 和所有 GNU 的东西。安全领域的许多工具都是以免费形式发布的,但不是开源软件。实际上,根本不是开源。它们是人们需要的工具,所以他们将它们发布在自己的网站上,并附带源代码,供其他人使用——既作为一种贡献,也是为了炫耀他们构建的酷东西。这是一种为极客信誉而挥舞的旗帜。
对我来说,开源最初是一个我必须跨越的法律障碍。我刚刚离开了一份工作和一个国家。在开始下一篇章之前,我开始研究一种方法论。由于是在另一个国家,我必须获得工作许可并处理繁文缛节。在长队中等待让我有大量时间思考。那时,我想开发一种最佳的安全测试方法论,既要彻底又要正确。我想让它基于科学事实,而不是某些人编造的最佳实践。然后我想用它来为渗透测试带来效率、准确性和质量,我把所有时间都花在思考这个问题上。
在又一次从领事馆访问回来的火车上,一切都水到渠成了。我想通了。我把它规划出来了。它有道理。它奏效了。
我把它发布到网上征求意见。人们也确实提出了意见。方法论得到了改进。就在那时,我注意到科学领域发生了一些变化。一些重大的变化。
也许艾萨克·牛顿看得更远,因为他站在巨人的肩膀上。但是有了开源解决方案,我们不再需要巨人。开源软件意味着我们可以像普通人一样看得一样远,就像我一样。我们并不总是需要伟大的学者和科学家来做伟大的事情。我们只需要许多真诚的人,他们渴望伟大的事物,并且愿意帮助实现它。
你看,事实证明,在科学中,事实并非来自伟大的发现飞跃,而是来自小的、仔细的验证步骤。这使得它非常适合开源,因为我们不需要巨人来进行伟大的飞跃,我们只需要许多人来帮助我们一次一小步地验证我们的方法论。
早点弄清楚这一点让我的开源软件事业非常令人满意。这意味着开源不是一种让社区帮助编写方法论的手段。而是关于编写一种方法论,并建立一个社区来帮助我使其成为我们所有人都需要使用的方法论。
所以开源选择了我。它非常适合科学和发现,所以它就自然而然地发生了。我不能为此邀功。但这并不是我决定在开源领域工作的原因。
现在,当你在信息安全领域工作时,很难长期失业。你必须积极尝试保持失业状态。因此,在我拿到工作许可的那一刻,我就开始工作了。雇用我的大公司甚至帮助加快了我的工作许可审批速度,以便我可以更快开始工作。
工作几周后,出现了一个测试安全性的项目。我们必须为团队创建一种进行测试的方法。“太完美了,”我想,“我正好有这个东西。” 但有一个问题,公司不知道我们是否可以使用互联网上随便找来的方法论。我告诉他们是我写的。他们说他们需要和律师谈谈,因为如果我把它带到工作中,我可能会把所有权交给他们。而那是我从未考虑过的事情。
你看,协作是生活的一部分。许可不是,而且我对将其开源持怀疑态度。正如我所说,当时人们对将其用于文档知之甚少。有一个用于文档的 GPL 版本,但这更适合支持软件的技术文档。它不适合方法论。有一个以 GPL 形式发布的开源食谱,但它只是从社区收集不同人的食谱,而不是构建工具。
我需要一些东西,让像我这样的公司可以使用它,但不能改变它或以任何方式降低工作质量。作为一种方法,它需要标准化安全测试的方式,这在数百个版本到处流传的情况下是不可能实现的。
所以我认为我只需要称它为开源,然后它就成了开源,就像魔法一样。我不知道我当时为什么会这么想,请原谅我的年轻和愚蠢,但我相信你们年轻时也都做过一些蠢事。所以我把它命名为开源安全测试方法手册,即 OSSTMM。对于一项美丽的科学成果来说,这是一个非常难听的名字,我每天都后悔给它起了这个名字,而不是更具市场价值的名字。但我这样做只是为了尽快使其开源和免费,这样我和其他人都可以工作中使用它。
但是,正如律师指出的那样,没有许可证。甚至没有版权。
与此同时,OSSTMM 已经发展成一个来自世界各地的小型社区。在与他们讨论之后,有人建议我为其注册版权,并将版权留给一家非营利组织来推广它。所以我们与ISECOM一起做了这件事。
后来我们了解到,方法论不能注册版权,因为它在法律上被认为是商业秘密。我所做的只是为书面文字注册版权,但没有保护方法。我们需要的是一个开放的商业秘密,但这并不存在。所以我咨询了律师。
我花了一个周末创建了开放方法论许可证 (OML),它最初大量借鉴了 GPL,唯一的目的是将某些东西标记为商业秘密,所有者是所有人。一个开放的商业秘密。想想看。这让我们可以在保持方法论开放和免费的同时,限制文档的分支和重写,使其成为行业可以为监管要求维护的标准。
最终,我公司的律师接受了 OML,我的团队可以使用它,并通过验证每个小步骤进一步改进它。
这就是我快乐、胜利的开源故事。
本文是名为我的开源故事系列文章的一部分。要参与并分享您的开源故事,请通过以下方式联系我们:open@opensource.com。
11 条评论