创建开放源码策略的最佳实践

需要创建一个开源策略,但不确定如何开始?您并不孤单,因此我们编写了这个手册,其中充满了编写开源软件策略的最佳实践。了解如何开始,要包括什么,以及邀请谁参加政策编写聚会。

123 第2页
第2页3
  • 确保所有请求快速的周转。如果审批过程需要几个星期,因为他们需要下载的开源软件,并完成他们的工作开发者将跳过它。批准过程应该采取一两个星期最多。
  • 确保所有评审委员会成员承诺的过程。你应该准备作为原始成员移动到其他利益,或发现他们没有足够的时间了,以取代人。
  • 有一个真正好的“预先批准的开放源码列表”。您可以通过许可、包名和/或使用模型预先批准。
  • 获取大量的参与律师。虽然可能有对审查委员会的律师,它将帮助,如果你有律师接近所涉及的团队。他们将最能理解开源软件将被如何使用,他们可以帮助现场的问题。教育这些律师随着时间的推移。
  • 创建一个异常处理,但是尽量将其设置在异常的使用最小化的方式。
  • 在组织内公开所有开源请求以及审查委员会的结果。如果人们可以看到所请求的内容以及为什么某些包被批准或拒绝,他们就可以适当地调整他们的请求,为您节省大量时间。
  • 为组织定义一些标准的商业原因。根据您的开源策略,这些可以从“使用现有的技术节省时间”向“消除授权费用的节省资金”因人而异“使他们可以看到产品的开发正从技术的采用买入”。

审计

虽然你的策略可以要求所有的开源软件,通过一个定义的过程进行审查和批准,这是不可能通过蛮力开源软件实施可以轻松自由地从互联网上下载。为了确保您的审批过程是有效的,并且员工遵守它,你需要定义一个审核过程。

下面的流程图说明了一个典型的开源审计过程:

采购

你的政策应该明确说明,通过它允许员工获得开源软件(采购),以及如何决定一个特定的开源包是否是软件作业(选择)右边那条网站和方法。谁可以下载软件?他们可以在哪里下载?难道他们在下载之前需要获得批准?使用前?发行前?

很多公司允许开发者下载软件之前通过审批的过程会尝试。律师往往与此不舒服,因为员工可以使用该软件的许可证审查之前。然而,企业通常与平衡的事实,风险相对较小,而开发商只是评估软件这个问题。

大多数公司最终采取免费为所有需要的开源软件包,开源下载和维护计划,每一支球队被允许下载它,并找出自己的支持选项。这是非常低效的,往往会导致某公司使用同一个软件包的许多不同的版本,以及重复评估和升级过程中的每一个新版本发布时的情况。

其他公司采用了开放源码存储库的想法,在其中存储经过批准的开放源码包。需要使用开源软件的员工必须从存储库下载,而不是从因特网上下载。虽然这是一个很好的想法,但这种方法常常会导致失败,因为对于一个不从事开源软件业务的公司来说,创建和维护一个全面的开源存储库是很困难的。存储库经常会过时,并丢失许多有用的开源软件包。如果采用这种方法,则需要一个非常好的流程来处理向存储库添加新的开放源码包或版本的请求。或者,您可以使用第三方提供的开放源码存储库,如OpenLogic交易所(OLEX)从OpenLogic。

策略定义如何以及在何处的员工能够获得开放源代码软件可能是这样的:

或者,您的策略可以让员工做出判断电话,当涉及到采购:

注意,虽然许多律师建议在许可证审查和批准之前不要下载软件,但很少有人遵守这一建议。在律师有机会审查之前,您的政策需要考虑为测试或试用目的而下载软件的法律风险。添加这样的条款可以帮助降低风险:

选择

选择是决定某个软件包是否满足您的需要和质量标准的过程。除了已经存在的测试和标准过程之外,您可能还需要考虑检查开源软件的其他方面,例如:

  • 支持:对于很多选择对开源软件的支持,但是可用的选项和应该选择的选项在不同的包中可能有所不同。
  • 社区:是否有包装的活跃的开源社区?被虫子迅速修复?
  • 质量:是软件包可靠吗?它是如何比较类似的开源软件包?

对于其他因素的列表要考虑各地的开源软件包选择,请参阅OpenLogic认证过程白纸

政策可能会接近开源选择用这样的语言的问题:

你的策略也可以勾勒出怎样的情况下做的一个开源项目,“目的”或叉子。例如,政策可能定义一个时间段中,球队已经找到了不同的开源软件包,以取代原来的包:

合并和收购

不要忘记,包括你对兼并重组政策的部分。企业往往不查开放源代码使用或政策,直到目标公司被收购之后。它更有道理事先检查。你需要确保你的公司的兼并和收购团队是了解内部的开源政策,以及需要在调查完成之前任何收购目标公司的开源政策和使用。开源工具,如FOSSologyOSS发现,OSS深层发现可以运行,以确定目标组织内部署开源软件。

一项政策可以用这样的语言来处理并购问题:

支持

在开源世界的技术支持有一个不好的名声。虽然很多人认为有没有可用的开源软件的支持,真正的问题是,有对开源软件的选择太多的支持和他们几个像什么人都习惯在专利的世界。

选项从改变做自己动手(按照邮件列表,甚至自己修复关键错误),以支付第三方的完整支持和维护合同。下面显示了一些常用选项的表格:

类型 邮件列表 内部 商业
联系方法 网上只有 不定 网络和电话
资源 其他用户和项目开发人员 您的内部员工 专家-提交者和贡献者
服务水平协议(响应速度) 无 - 可能是5分钟,从来没有 也许 是的
更改接纳进入源代码 有时 depends - 依赖于必须提交并接受 通常是的
成本 免费的 取决于 不同-每个项目,每个服务器,每个事件,固定的费用,等等。

一个开源的策略可能解决的,像这样的语言技术支持的问题:

维护

一旦决定使用开放源码,下载它并使其工作的过程通常是具有挑战性和令人满意的。但是,跟踪项目的安全更新、解决问题以及确定何时升级到新版本可能会令人沮丧。

你的开源政策应通过解决以下问题维护问题提供指导:

  • 安全更新:谁将负责跟上安全更新?这通常需要订阅邮件列表。
  • 新版本:谁去弄清楚时,你应该升级到新版本?因为开源软件项目发布新版本往往决定何时升级能吃苦耐劳。虽然有些项目是关于指定什么新的非常好,有什么变化,什么走了,有些则没有。有人会来评估每一个版本,并决定是否要升级。此外,你需要一个过程,以确保只有一个或两个版本(或尽可能少)都是在公司内部部署。特别是,你要确保公司太远也不落人后可从开源项目的最新版本,为社区很少支持以前的版本长。
  • bug:当一个bug被发现时,向开源项目报告它的过程是什么?您的策略还应该指定员工何时以及如何修复错误,并将错误修复提交给开源项目。(您可能希望提供一些关于如何最好地创建和提供补丁的培训,因为确保上游接受补丁对您来说是最有利的。)

您的开放源码策略的维护部分应该指定公司员工是否可以修改开放源码软件。虽然您可能希望鼓励人们不要修改开源软件(除非他们计划修复一个bug或添加一个新特性以便上游贡献),但有些包可能需要修改才能在您的环境或过程中工作。您的策略应该指定什么时候允许这样做,以及如何为维护记录更改。

一个开源策略可以解决以下语言的持续维护问题:

捐款

你的开源政策应包含关于雇员是否能够贡献代码修改开源软件项目一个明确的说法。有几种情况下,你可能会希望员工做出贡献。例如,如果员工修复一个bug,你会希望他或她的补丁有助于项目,这样你就不必维护通过每一个版本升级一个独特的补丁。此外,通过贡献代码您的公司可能在开源社区中赢得信誉。如果你的公司积极推动的一个项目,社区会更容易认识到员工和快速响应他们的电子邮件时出现问题。

考虑情况下,当公司员工是否可以贡献代码修改开源软件项目的思想包括:

  • 员工可以在邮件列表上发布问题和答案吗?虽然许多公司都担心员工会不小心在邮件列表中泄露一些信息,但最好还是给他们进行适当的保密培训,然后让他们处理邮件列表。他们不仅会为自己和公司建立信誉,而且通常是寻求帮助解决问题的最佳方式之一。不允许员工在邮件列表中贡献将妨碍员工使用和支持开源软件解决方案的能力。
  • 员工可以在错误报告bug跟踪系统?除非有很好的业务理由不,你应该让员工交的bug报告,以确保它们可以固定在及时将为该公司工作。
  • 员工可以修正错误并提交他们的补丁吗?员工通常需要修复一些简单的bug,以便让事情正常运行。当他们这样做的时候,确保以项目可接受的通用方式修复错误是公司的最大利益,这样就可以将错误提交到上游。这将简化长期的支持,并有助于建立公司的信誉。
  • 员工可以为开源项目贡献特性吗?他们能成为项目贡献者吗?
  • 员工可以在空闲时间从事开源软件项目吗?他们在办公室做的同一个项目?在不相关的项目?如何判断一个项目是否与公司业务无关?

一个开源的策略可能解决的,像这样的语言的开源贡献的问题:

一些开放源码政策规定,员工只能使用个人电子邮件地址与开放源码社区交互,而不能使用公司电子邮件地址。请注意,如果您将此规则包含在您的开放源码策略中,您的公司将永远不会在社区中建立任何信誉。

通讯

尽管许多公司试图掩盖他们使用开源软件的事实,但这很少是秘密——特别是对于那些决定使用内部资源提供自己支持的组织。即使您打算尽可能地限制关于开源使用的交流,最好还是为员工如何与开源社区和其他感兴趣的团体进行交流制定一个策略。

你的开源政策应通过解决以下问题提供指导沟通:

  • 员工如何与开源软件项目沟通?(如需更多关于这个话题,看到上面的维护部分。)
  • 员工如何在会议上交流开源的使用?员工可能会想参加开源软件会议,这是一个会见开源项目维护者的绝好机会。如果员工能够谈论他们正在使用哪些开源包,甚至能够提供案例研究,这将帮助他们遇到合适的人,并为您的公司赢得信誉。开源软件社区喜欢听到他们的产品是如何被使用的。
  • 员工如何能有关文件的开源使用率沟通?如果船包含开源软件产品,您可能需要显示产品文档中的开源软件许可证(取决于许可证)。您可能还需要说一下你使用,为什么什么,这取决于最终用户的类型的东西给最终用户。举例来说,如果你卖的是使用开源软件的电视,你可能需要以符合他们来显示一个或多个许可证,但你也许并不需要花很多的时间来谈论安装在电视机上的软件。如果,另一方面,你分发工具包,软件开发人员,你可能会想,让您的文档,了解有关您使用的开源软件,为什么它的一部分工具包的讨论更多的空间。

总结

一定要在对开放源码策略的总结中保持积极的态度,毕竟,您希望您的员工这样做要遵循该政策同时还明确说明何时以及开源软件的使用触发器检讨如何开放。例如,一个公司的开源政策的摘要部分可能是这样的:

有关:
123 第2页
第2页3
IT薪资调查:结果是