为您的项目选择开放源码组件

与许多企业软件工程师不同,我有幸为一家不仅允许而且积极鼓励其开发人员在项目中使用开源的公司工作。然而,本叔叔告诉彼得·帕克,“能力越大,责任越大。”1

世界上有大量的开源项目。要找到满足您的项目需求且自身没有太多潜在缺陷的代码可能很困难。

多年来,我使用自由/开源软件(FOSS,自由开源软件)开发了一个心理检查表,用于评估那里有什么,以及决定是否使用我找到的东西。在为我的项目寻找完美的自由/开源软件组件时,我考虑了以下几点。

避免使用厨房水槽

所有的软件都可以接受功能蔓延,并FOSS项目也不例外。如果你正在寻找一个解决一个具体问题,你经常会发现一个开放源码的解决方案,在市场营销的说法,不仅解决了你的问题,但也不会这么多!(对不起,我倾向于当我试图假装知道什么营销使用感叹词。)但是,除非有一个明确的,可衡量的效益的项目,坚持一个简单的解决方案。

偶尔,“多”是一件好事。有可能是你的项目的其他部分,将在FOSS项目的其他许多奇妙的功能中获益(现在为了你还会收到一个豪华的左手直奶酪™!)。虽然于一身,彻底的项目可以看看乍一看很大,这些各种各样的项目,往往使这并不适用于你的工作假设。这可能会导致花费更多的时间重写这个伟大的所有功能于一身的解决方案比你自己的代码工作。

另外,开源软件世界的一大优点是,有几乎对于一个给定的问题总是有多个解决方案。选择最简单、最可维护、只完成您需要的工作的项目将节省您的团队的时间和精力。请记住这句格言:“解决方案应该尽可能简单,但不能更简单。”2

检查许可证!

有之间的倾向开发商和最FOSS用户,认为“免费”和“开放”为代名词的中“完全支配。”我们看到一个很酷的FOSS项目,确实需要我们,只是抓住它,并开始编写一些东西。这是一个非常糟糕的主意,特别是在企业级。几乎每一个商业或开放源码软件组件带有某种规定的执照或许可证和那些小legalisms可以是一个成功的项目之间的区别在于船舶和项目,在版权法和未义务的黑暗海域创始人。

广义地说,软件许可证是为了使用项目的受版权保护的代码而同意的一组条件,也就是说,它的所有代码。许可可以是相对宽松的要求,比如包括许可和版权声明,也可以是提供源代码副本或(这是我的最爱之一)的广泛要求。你买笔者啤酒,如果你在她的家乡是。3

永远,永远,永远阅读许可条款,发现您是通过每个项目的代码提交到什么。要发挥它真正的安全,有律师阅读许可,并让你知道你进入或使用什么许可证分析工具得到的东西,你将有义务这样做的想法。通过最纯粹的巧合<笑容>,我的公司,OpenLogic,恰好使一个相当不错的许可证分析工具。

无论如何,无论何时您使用自由/开源软件项目,都要知道您的法律义务是什么。没有什么比因为无法满足的许可限制而取消和重写一个项目更糟糕的了,除非,您的公司可能因为您的项目没有遵守许可而面临诉讼。

不要用植物大战僵尸游戏

当您比较一个问题的自由/开源软件解决方案时,您可能会发现一个很有前途的项目,看起来很不错,只是代码三年都没有更新过。这是一个“危险,威尔·罗宾逊”4标志。

在最好的情况下,你已经在项目的老回购迷迷糊糊的,你只需要头到另一个站点查找当前活生生的项目。不太常用,该项目可能已经非常成功,项目经理决定把该项目的商业。这是另一种情况下将通常存在一个比较活跃的产品,但你必须为它付出。

在不是最佳的情况是,你会闲逛该项目的网站有点长,发现没有人在他们的博客,因为黎明的时间公布,他们的邮件列表中还没有看到任何邮件,因为第一个发行公告和他们的维基仍然是“如何建立一个网页”页面上。换句话说,你已经跨越了僵尸的项目,仍然可以跌跌撞撞,但由它的创作者和使用者抛弃。

想想漫长而艰难的使用僵尸项目。除非你愿意来更新和维护内部或到餐桌的代码和复活的项目,寻找一个替代。虽然代码应该是自我描述,试图窥探旧代码和破译开发者的假设,发现错误,甚至创造建立,既困难又费时。

在另一方面,活跃的提交,最近的版本,最新的最新文档,以及繁荣的用户社区的一个项目是没有价格的瑰宝。如果能够用他如何或为何做了一个特别的决定,或某一特定行为是否是设计或错误,可以使您的生活更轻松,你的项目的代码更易于维护开发者进行沟通。

简而言之:就像在僵尸启示录中一样,避免那些不死的自由/开源软件项目,并尽量坚持那些不会吞噬你团队所有脑力的项目。


1 http://en.wikipedia.org/wiki/Uncle_Ben#.22With_great_power_comes_great_responsibility.22

2http://c2.com/cgi/wiki?EinsteinPrinciple

3https://olex-secure.openlogic.com/licenses/beerware

4http://en.wikipedia.org/wiki/Danger,_Will_Robinson

加入对网络世界的社有个足球雷竞技app区Facebook的LinkedIn对最重要的话题发表评论。

版权所有©2013Raybet2

IT薪资调查:结果是