我们似乎再次看到围绕自由和开源软件许可复杂性的讨论,以及对开源可能感染或污染您的软件的恐惧。格林·穆迪写道最近的黑鸭白皮书在Android上。(BlackDuck white paper希望它的读者能够充分认识到复杂性,从而能够将“19个许可证覆盖的185个组件”重复使用三次。)最近法庭对西屋公司违反gpl诉讼的讨论更是火上加油。就在昨天,我收到了另一家公司市场部发来的电子邮件,该公司提供的源代码扫描工具可以确保不受开源“污染”和“不干净的IP”的影响。让我们来解决一些问题。这不是一个开源问题。如果您使用c++编程,并且可以使用第三方ISV库代码,那么有人可能会无意中复制源代码。或者删除版权声明。或者,您的商店中的开发人员(包括您自己)经常从公共示例网站(如MSDN或IBM或Oracle developer networks)提取示例代码,而不注意版权声明。实际上,示例代码中的一些版权声明可能非常模糊或很难找到。 And when a developer copies example code from a book or journal article, did they have the right so to do? The Web massively removed friction from the system and it’s trivially easy to copy source code now. This is NOT an open source software problem. Next, Westinghouse Digital Electronics LLC got exactly what it deserved. The court found that it was indeed in violation of the terms of the software license associated with software it used. It’s pretty hard to miss the license and the copyright notices. It withdrew from the suit and failed to respond to multiple court orders. An excellent short write-up can be在这里找到。管理一个复杂的软件来源并不是那么困难。1995年到1999年底,我在一家初创公司管理产品工程组织。我们在Windows NT上将UNIX系统的功能作为本地环境子系统提供,以本地速度提供真正的UNIX语义。随着时间的推移,我们平衡了我们自己的软件IP,微软的原始POSIX子系统的IP,以及涵盖20多个不同许可证的300多个实用程序和库(即组件),范围从GPL和BSD到一些更深奥的许可证。这都是在我们有开源定义。对于所有的开发人员,我们有一个非常简单的规则:如果你要在产品中使用不是自己编写的软件,那么就需要得到研发部副总裁(我)的批准。。就是这样。我们在小学都知道剽窃是错误的,所以不要通过删除版权来声称你没有做过的作品。作为开发人员,我们都认识到重用是重要的,而且是必要的。研发部门的每个人都明白,如果我们“做错了”,无论是失去销售,还是失去与微软的合同,或者因为我们无法在收购中表达出自己的价值,我们作为一个公司的价值就会被忽视。自由软件基金会的法律老鹰也在密切关注着我们。我负责与适当的律师一起工作(他们在那个时候不像现在一样了解协作开发和许可)。我们使用一组简单的遍历树的差异脚本来支持我们的“策略”,以根据已知的良好输出检查版权,并在夜间提取和构建期间运行它们。我们保留了版权的文档最新的。我们中没有人受过专门的法律培训。作为ISV中的一组软件开发人员,我们在源代码配置、版本控制、自动化构建和测试等方面拥有非常良好的软件卫生,这使得我们可以轻松地将IP扫描添加到过程中。如果我现在这样做,我将进一步确保字符串被适当地插入到任何地方,并对一个已知的良好列表进行后端检查,作为二次检查,我将研究的集合自由可用工具以包含在构建过程中。协作开发和自由许可的开放源码软件,可能是软件重用设计的最好和最经济的策略。只要有一点预先的考虑和一些工具的使用,您就可以更好地使您的组织利用开源经济的优势,同时最小化法律风险。没有那么复杂。
没有那么复杂
自由/开源软件许可证的复杂性已经造成了太多问题。
版权©2010Raybet2