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