企业使用开源软件的风险

很多时候,我们过高地估计了开源软件面临的版权威胁,开源软件并非天生就比专有软件存在更多风险。虽然在企业中开源软件越来越普及,但开源软件始终难以摆脱知识产权带来的阴影。2007年,微软声称开源软件侵犯了它235项专利,让这个问题又一次摆在我们面前。如果说微软的声明还只是加剧了人们对开源软件的疑虑,那么围绕开源软件许可证和专利在软件开发中的作用则是火上浇油。

  事实的确如此,但是这种情形并非只有开源软件独有,实际上,这是所有软件都会遇到的问题。今天,商业的开源软件已经成为一个成熟的行业,领先的开源软件服务商们并不认为开源软件会比专有软件有更多的风险。

  可以肯定地说,像微软这样的专有软件供应商是非常愿意提醒人们开源软件存在风险的。毕竟,如今开源软件已经成为IT部门一个非常重要的资源,严重威胁到专有软件的市场份额。但是,虽然版权、商标和专利等问题值得关注,我们却不应该夸大。相反,正确地理解开源软件和知识产权的关系有助于IT人员更好地在其组织内推动开源软件的使用。

  代码版权属于谁?

  有关开源的代码有可能侵犯知识产权这种观点肇始于2003年SCO公司的指控,SCO声称,Linux的内核非法使用了SCO拥有版权的代码。的确,关于知识产权的问题大多数与版权相关,因为正是有关版权的法律让开源的许可证非常有效。

  开源模式倡导开放、协作的开发方式。大多数开源项目来自众多人的共同努力,因此很多商业的开源软件供应商实际上并不真正拥有它们销售的软件的版权。实际上,它们只是从原来代码的作者那里获得了授权,可以分发这些软件。

  协作开发和分发被认为是开源的最有力的武器,但是这也可能引发一些问题。有时候(尽管不多)开源项目的参与者会把一些其他许可证下的代码拷贝到项目中,而这些许可证与开源项目的授权方式并不一致,或者更严重时,这些代码直接侵犯了其他人的版权。如果这部分代码必须被删除,对客户来说,软件本身的价值就会大打折扣。

  为了降低风险,一些开源项目(如MySQL)要求项目的参与者把他们所编写的代码的版权交给一个统一的机构。但是,从整个开源行业来说,的确存在一些并不能真正给客户提供更好保障的项目。

  这里非常重要的一点是,我们必须知道,开源项目决不仅仅是把很多人(或者组织)的代码合并到一起。Novell的总顾问助理Greg Jones介绍说,“在你提供的软件中,第三方的代码作用大小各有不同,但是,知道你提供的软件中有第三方的代码这一点非常关键,不管是专有软件还是开源软件都是如此。”

  通常,侵犯版权给软件的最终用户带来的风险很小。但是,对于那些准备把开源代码嵌入到自己的软件中的用户而言,这个问题可能稍稍复杂些。即便如此,为了降低风险、保证争论能尽快解决而不会给客户带来经济上的损失,来自开源软件供应商的指导和支持非常重要。

  商标的含义

  在IT采购决策中,商标的影响非常小,但有时它们也会扮演一个非常重要的角色。商标相当于一个印章,它告诉客户,供应商保证用它的信誉来提供对某个产品的支持(Linux本身就是一个商标,它的拥有者是Linus Torvalds)。但是,因为开源软件的用户通常有权在原来的代码基础上开发新的产品,所以,有时候开源项目的衍生产品是无权使用与原来的项目同样的商标的。

  对客户来说,不能使用原来的商标并不能直接理解为不如原来有用了。例如,Debian项目根据Debian的计划对Firefox的Web浏览器进行了修改:对源代码进行了很小的改动,删除了一些装饰性的功能,这样不能再按照自由软件许可的方式继续分发了,而Mozilla也拒绝让Debian继续使用Firefox这个商标。结果,Debian版的浏览器被命名为“Iceweasel”,尽管在功能上它与Firefox几乎完全一样。

  有时候,开源项目的衍生产品比原来的产品更有用。例如,X.org的Windows系统就是源于一个商标为XFree86的项目,但是大多数Linux的分发者更愿意把前者作为图形显示。因此,客户应该仔细地对开源项目的功能、社区以及商业上的支持进行评估,而不仅仅是看商标。



专利问题

  目前,软件的专利似乎给开源软件的使用者带来的风险更大一些,至少在美国是如此。在欧盟就有人曾试图对软件专利进行立法,但在大多数开源软件供应商的积极努力下被挫败了。美国允许软件开发者申请专利,但很多时候这些专利仅仅是一些没有太大价值的算法。

  2004年开源风险管理组织进行的一项研究表明,Linux的内核可能侵犯了283项已注册的专利。与此相似,被微软指责侵犯235项专利的开源软件中,Linux内核占42项。到目前为止,还没有人就这些专利提起诉讼。“但是,软件领域的专利实在是太多了,很少有软件绝对不会侵犯到别人的专利,说不准在哪个地方就会侵犯。”开源软件支持者Bruce Perens说。

  毫无疑问,对客户来说弄清潜在的风险,特别是准备购买的软件所采用的关键技术是否涉及侵权,非常重要。例如,近期Verizon 与Vonage之间发生了一起专利纠纷,这场诉讼对Vonage获得新的VoIP客户有很大影响,甚至可能影响到它继续提供服务。这里需要注意的一点是,Vonage的服务是基于专利技术,这表明: 并不能说在专有软件许可证下的产品比开源软件不容易陷入专利权的法律争端。

  “一些特殊的开源许可证,例如GPL,也许可以强制人们解决与专利拥有者之间的专利纠纷。”Novell的约翰说,“不过,从本质上说,无论部署哪种软件面临的风险都可能是一样的。”

  风险有多大

  软件专利的持有者究竟会如何把涉嫌侵犯其专利的开源软件的用户拖入法律纠纷之中呢?要准确说清楚这里有多少风险实在太困难,但是,风险很可能微乎其微。如前所述,软件专利实在太普遍了,最终结果往往是“专利的活局”,即处于一种相互威慑状态,相互之间都有可能摧毁对方。“如果大家真要保护自己的所有专利,整个软件行业就会慢慢停止下来,” Perens说。

  最近在微软与Novell之间所签订的协议中就有类似的条款,相互承诺不指责对方侵犯了自己的专利。现在看来,尽管我们不遵守软件专利的相关条款有可能违法,但似乎不太可能有任何一家厂商敢真正采取法律行动。

  “我认为,Novell并不想借助专利与别人达成交易,”Novell的Jones说,“我们是软件公司,一家技术型的公司,我们想为客户创造价值,因此,专利问题上我们并不想过多考虑。”

  即使是微软,在是否打算指控用户这个问题上也是吞吞吐吐。“如果我们想这样做几年前就这么做了,”微软的Hauser说,“知识产权除了可以保护权利持有人的利益以外,也是各组织之间合作的基础。我们更愿意把注意力集中到和其他人密切合作,寻找新的模式来解决知识产权面临的新问题上。”

  但是,MySQL的Urlocker认为,微软对它与Novell之间达成的协议的评价是在放烟幕弹,一边安抚用户,一边又让用户对开源软件的使用产生担心。不过,他认为,这一套没有什么用,“我的观点是微软在试图分化开源世界,因为他们不得不这么做。”他说。

  部署开源软件的决策过程肯定是很复杂的,需要考虑很多方面,但是,谁又能说部署其他软件过程不是这样呢?更重要的一点是,没有什么决策是一点风险都没有的。在选择开源软件解决方案时,必须知道的一点是,开源解决方案并不是天生就比专有软件的风险大。

  大型企业通常更想回避风险,同时,在企业的关键业务流程上,企业也需要有更多的保障。因此,对于关键的业务系统最好选择大型的、有信誉的开源供应商。本质上,选择标准与评估专有软件供应商时应该一样。

  开源软件的商业服务合同通常包含一些免责条款,在用户可能受到知识产权侵权指控时,它们可以为用户提供额外的保护。但是,这里有必要再一次重申,这些条款在专有软件许可证中也有,开源软件包含这些免责条款并不表示,开源软件就比专有软件更可能陷入知识产权的纠纷中。

  商业联盟,如微软和Novell之间,可能声称能给用户更多的保障,不过,在业界对这样的联盟的价值存在截然不同的看法。在没有遇到真正的法律纠纷之前,它们所说的“更多的保障”是否真的有效还未可知。

  那些计划对开源软件进行修改或者想把它嵌入到自己产品的公司的情况有一点特殊。它们有必要向其供应商和它们自己的律师咨询,它们使用代码的方式是否违反了许可证的某个条款或者侵犯了别人的商标权。

  不过,多于大多数普通的用户(通常可以归为最终用户),在使用开源软件时几乎不用担心。目前,商业的开源软件的经营模式已经成熟,开源软件供应商有能力像那些专有软件供应商一样为用户提供同样的保障。因此,只要能了解开源软件中的一些利害关系以及决策可能带来的风险,企业完全可以充满自信地购买或者部署开源软件。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/451681.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

杭电多校 Harvest of Apples 莫队

问题 B: Harvest of Apples 时间限制: 1 Sec 内存限制: 128 MB 提交: 78 解决: 35 [提交] [状态] [讨论版] [命题人:admin] 题目描述 There are n apples on a tree, numbered from 1 to n. Count the number of ways to pick at most m apples. 输入 The first line of the …

linux和GNU之间的关系

Linux只是一个操作系统内核而已,而GNU提供了大量的自由软件来丰富在其之上各种应用程序。 因此,严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各…

二、【List、Set、数据结构、Collections】

主要内容 数据结构List集合Set集合Collections 教学目标 能够说出List集合特点 能够说出常见的数据结构 能够说出数组结构特点 能够说出栈结构特点 能够说出队列结构特点 能够说出单向链表结构特点 能够说出Set集合的特点 能够说出哈希表的特点 使用HashSet集合存储自定义元素…

@Java | Thread synchronized - [ 线程同步锁 基本使用]

对实现了Runnable或者Callable接口类,可以通过多线程执行同一实例的run或call方法,那么对于同一实例中的局部变量(非方法变量)就会有多个线程进行更改或读取,这就会导致数据不一致,synchronized(关键字)可以…

解决bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。 1. 报错: ### Cause: java.sql.SQLSyntaxErrorException: ORA-00911: 无效字符; bad SQL grammar []; nested exception is …

开源代码的使用 二次开发

开源开发,就我的理解,有三种。 1、当作底层基础,使用。例如大家使用mysql就算。有人会认为我说错了。但我认为,开发不代表就是要同一个语言,甚至修改代码。例如我们使用动态库,原先的动态库是什么写的并不重…

Java Application和Java Applet

Java Applet和Java Application 主要区别: (1)运行方式不同。Java Applet程序不能单独运行,它必须依附于一个用HTML语言编写的网页并嵌入其中,通过与Java兼容的浏览器来控制执行。 Java Application是完整的程序&a…

激活prompt

1.下载SQLPrompt 2. 断网, 打开注册机,拷贝验证码 2. 点击activate, 拷贝代码 转载于:https://www.cnblogs.com/zxhome/p/9459415.html

Map 四种获取 key 和 value 值的方法,以及对 map 中的元素排序

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到教程。1. 获取map的值主要有四种方法,分为两类: 调用 map.keySet() 方法来获取 key 和 value 的值; 通…

三、【Map】

主要内容 Map集合 教学目标 能够说出Map集合特点 使用Map集合添加方法保存数据 使用”键找值”的方式遍历Map集合 使用”键值对”的方式遍历Map集合 能够使用HashMap存储自定义键值对的数据 能够使用HashMap编写斗地主洗牌发牌案例 第一章 Map集合 1.1 概述 现实生活中&am…

五种开源协议的比较(BSD,Apache,GPL,LGPL,MIT) – 整理

当Adobe、Microsoft、Sun等一系列巨头开始表现出对”开源”的青睐时,”开源”的时代即将到来! 最初来自:sinoprise.com/read.php?tid-662-page-e-fpage-1.html(遗憾的是这个链接已经打不开了),我基本未改…

[转]自然语言处理中的Attention Model:是什么及为什么

自然语言处理中的Attention Model:是什么及为什么 https://blog.csdn.net/malefactor/article/details/50550211/* 版权声明:可以任意转载,转载时请标明文章原始出处和作者信息 .*/ author: 张俊林 要是关注深度学习在自然语言处理方面…

关西旅游地名读法学习

京都個人旅行ための自己勉強 京都篇 伏見稲荷大社「ふしみいなりだいしゃ」 京都府京都市伏見区深草にある神社。旧称は稲荷神社 全国に約三万社あるといわれる稲荷神社の総本社である。 初詣では近畿地方の社寺で最多の参拝者を集める。(日本第4位)。 清水寺 「き…

jsp页面c标签循环map , c:foreach 循环map

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 <c:forEach items"${customerMap}" var"item"> ${item.code} ${item.name} </c:forEach> map…

JSP上下文

上下文即ServletContext,是一个全局的储存信息的空间&#xff0c;服务器启动&#xff0c;其就存在&#xff0c;服务器关闭&#xff0c;其才释放。所有用户共用一个ServletContext。所以&#xff0c;为了节省空间&#xff0c;提高效率&#xff0c;ServletContext中&#xff0c;要…

python ERROR: Cannot uninstall ‘certifi‘.

解决方法 pip install xxx --ignore-installed certifigithub参考链接

HDU - 6383 百度之星2018初赛B 1004 p1m2(二分答案)

p1m2 Accepts: 1003Submissions: 4595Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 131072/131072 K (Java/Others)Problem Description度度熊很喜欢数组&#xff01;&#xff01;我们称一个整数数组为稳定的&#xff0c;若且唯若其同时符合以下两个条件&#xff1a…

整合营销推广该如何做?

思维方式太重要了&#xff0c;如果你认为你的产品只是推广出去就好&#xff0c;推广就能有销量的话&#xff0c;那你大错特错了。本文主要的分享给创业者和企业老板的&#xff0c;如果你想做好网络营销推广&#xff0c;这篇文章不看是你的损失。 首先记住&#xff1a;推广不等于…

如何使用git命令行上传项目到github

参考文献&#xff1a; 如何使用git命令行上传项目到github 感谢楼主分享&#xff01;