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