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