开源审计是从来没有那么简单,他们似乎。您已经成功地完成了您的第一次开源审计,您可能正在问自己,要做些什么来帮助将来的审计工作。答案是:准备。您在开始审核过程之前所采取的步骤将使项目更加成功。为了帮助将来的审计,让我们在开始审计之前看看你可以使用的一些提示和技巧:
了解审计目标:了解审计的目标,可以彻底改变您进行审核的方式。审计的目标,范围可以从发现未知成分来产生所有开源的完整列表被用来确保充分许可证和法规遵从。这些不同的目标将改变你如何审核的代码基础,你怎么可能彻底是。任何审核进行之前,应该有旋转围绕审计目标的一个内部的对话,建立一个明确的最终目标。
带着一个已知的开源列表进来:这是我能为你下次审计提供的最有用的建议之一。在进行下一次审计之前,请询问开发人员或管理人员,他们对代码中包含的内容有一定的了解,并可以帮助您提供已知的开放源码列表。(拥有一个代码中使用的已知开放源码列表将会有很大帮助。)如果您正在审核过程中,那么很有可能您已经有了某种形式的内部策略(无论是否正式的或非正式)关于开源,并记录正在使用的。一个好地方,保持信息像这样在OLEX,或在一个基本的电子表格中。
例如,您可能会发现自己正在查看一个文件,其中的代码属于两个可能的包之一。让我们来看一个真实的例子,假设一个文件属于两个包中的一个:一个属于GPL v2许可下的jssha256,另一个属于BSD 3-子句许可下的jssha。这两个包看起来很相似,执行相同的功能,但是在开放源码许可方面是截然不同的。拥有一个已知开放源码的列表可以潜在地帮助您确定您正在查看的包并避免遵从性失败。在审计前可以收集到的关于代码的信息越多,以后遇到的麻烦就越少。
如何使用代码:进行开源审计并不要求是计算机工程师;但是,了解一些基本知识,即。,what the build components are versus the runtime components will make your life easier. A great deal of open source licensing revolves around how the open source is being used. For example, is it modified, distributed, or linked to other open source? If the goal of the audit were full license compliance, then you would be interested in knowing the usage of all open source identified.
假设您接受了一次审计,其目标是分布式软件中所有开源软件完全符合许可证。理解哪些组件是运行时的,哪些是构建时的,将极大地减少所需的工作量(例如。, Apache Ant[构建时间]vs.查询插件[运行时])。
完整性:确保您拥有所有的代码,这听起来是显而易见的,但是很容易忽略一些东西,这可能会阻止您准确地达到您的目标。在准备审计时,您应该问自己:是否包含了所有的源代码和二进制文件?是否需要查看任何辅助组件,比如Maven存储库?
在审计之前收集尽可能多的信息只会有助于创建一个成功的审计。“在任何事情之前,准备是成功的关键,”Alexander Graham Bell说。1你在准备审计时投入的精力越多,你在进行审计时就会越舒服、越成功。
有关审计过程中的一些有用提示,请参阅我之前的帖子开放源码管理:一个开放源码审计人员对另一个开放源码审计人员的建议。您采取了哪些步骤来准备您的开源审计?
1“亚历山大·格雷厄姆·贝尔。”BrainyQuote.com. Xplore Inc, 2012. 4 December 2012.www.brainyquote.com/quotes/quotes/a/alexanderg387728.htm
更多详情http://www.brainyquote.com/citation/quotes/quotes/a/alexanderg387728.html#dQPa6TOuybVWyxeI.99