| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

业界评论

业界资讯
业界评论

本类阅读TOP10

·手把手教你做传奇私服
·一个号码可以让你取消手机的任何服务项目
·破解MD5和SHA-1不意味密码破解
·中国版Tumblr:点点网
·探明Outlook无法发邮件的问题
·山东大学王小云教授成功破解MD5
·十大免费网盘推荐
·开启雅虎替身邮 免受垃圾邮件骚扰
·为什么要担心无线安全性
·中国互联网十五年的22个创新模式

站内搜索

开源软件许可证知识产权问题

  自由软件的英文是“Free Software”,此处的“Free”是自由(Freedom)的含义,而不是“免费”的意思,它本意强调的是软件代码自由的流动,即允许任何人基于一定的许可规则来使用、拷贝、修改、分发的软件。开源软件(Open Source Software)也具有自由软件的大部份属性,但开源软件从其价值取向上不完全等同于自由软件。开源软件的定义着重于通过源码的公开,为社会提供创造功能完善和高质量软件的潜力,并回避了自由、社会和原则等概念。使用开源软件这一说法也有助于避免“Free”歧义性,即避免将“自由”与“免费”相混淆。通常情况下,一般将自由软件与开源软件作为同一个概念进行讨论,在欧洲将其统称为 FLOSS(Free / Libre Open Source Software),它们是与专有软件(或商业软件)相对应的一个概念。

  随着开源运动的普及,开源的理念已经被广泛接受,众多的开发者和用户也通过不同的方式使用着开源软件。但在这一过程中,在享受开源软件带来的自由与方便时,我们不得不正视开源软件的许可授权问题。

  同传统商业社会的软件一样,开源软件也从一开始就在寻求保护知识产权的方法。一般意义上知识产权保护包括四个方面的内容:版权、专利、商标、商业秘密。开源软件在对其自身的知识保护方面是通过开源软件许可证进行的,每款开源软件在发布时,其目录中都包含一个关于该软件许可授权的许可证及其说明,用以向后续者明确能否对该软件进行使用、修改和再发布等。

  在使用开源软件时,特别是需要基于开源软件进行商业开发时,圈定了一类能满足基本应用的开源软件后,就需要对开源软件许可证进行研究,需要了解其许可规则对自已的后续开发和使用是否有限制,如有限制,则需要选择带有合适许可证的软件。为了减少不必要的麻烦和不对开源软件的许可授权造成伤害,对开源软件的许可授权进行分析是非常必要的、必需的。

  公认的开源软件许可证需要通过OSI(Open Source Initiative,简称 OSI)的认证,当前通过OSI认证的许可证有63种。OSI一般从9个方面来确认许可证是否是开源软件许可证:(1)发布的自由、(2)关于对源代码的要求、(3)关于演绎作品、(4)关于源代码的完整性、(5)不得歧视任何个人或团体、(6)不得歧视任何应用领域、(7)关于许可证的发布、(8)关于程序的部分、(9)许可证不能影响其它软件。具体的许可证的名称及其内容可以访问OSI的网站(http://www.opensource.org/licenses/alphabetical)。

  而这些开源软件许可证又可以分为五大类:(1)严格开源规则;(2)可以存在非开源部分;(3)可以兼容非开源软件;(4)允许软件专利;(5)彻底开放。

  通过OSI认证的开源软件许可证具有以下5个共同特征:(1)承认版权;(2)发布的义务——将获得的源代码再发布;(3)对发布的源代码的要求——须保证源代码的完整和可以被获得;(4)允许修改——可以根据获得的源代码产生演绎作品;(5)没有担保。

  在选用开源软件许可证时,需要考虑它们的不同点,下图从是否允许同其它开源代码混合、是否允许同基于其它许可协议的开源软件混合、是否必须公开源代码、是否明确了专利许可授权、是否明确了专利侵权导致授权终止、是否明确允许与函数库连接、是否只能按按本许可证发布代码(传染性)、是否允许多重许可、是否对应用接口做规定、是否对商标做出规定、是否可以自由选择许可证版本和是否明确规定诉讼管辖地及准据法等12个方面对开源软件许可证进行了比较,比较内容如图中所示:

  选用开源软件的四个基本原则:

  (1)从开源软件开发的角度来看,如果想对开源程序包做的只是利用其作为工具来生产与其分离的作品,那么绝大多数开源许可证都是可以的;

  (2)如果想将软件用于商业性发行且不愿意发行自己所修改的源码,那么可以选择BSD许可证,它能使修改保持专有;

  (3)如果希望源码总是自由的,GPL许可证及LGPL许可证是最佳选择;

  (4)如果想在与其它人共享代码时提供相应的保护,可以选择MPL许可证,该许可通过将软件(和任何对它的改进)分为受保护的(“封闭的”)部分和贡献(“开放的”)部分,在完全开放的GPL许可证和封闭的BSD许可证之间架起一座巧妙的桥梁。

  需要注意的几个问题:

  在选用开源软件和研究分析开源软件放可证时,需要关注当前开源软件发展中的非开源趋势,诸如Google,Apple等公司大量基于开源软件来构建自己的服务或将开源软件并入自己的硬件产品中,虽然与开源软件许可协议(如GPL、LGPL)等不构成实质上的矛盾,但最终的结果是相关的企业基于开源软件做了修改和定制,却没有公布源代码。新近推出的GPL v3没有对这类现象进行限制,而Affero GNU Public License却希望能对这些形成进行限制。从这个问题的反面我们也可以看到,只要不将基于开源软件所开发或修改定制的软件做为产品来销售,企业可以在此基础上创造出自己的商业模式而又不违反开源软件许可证的约束。

  美国联邦上诉法院在Jacobsen v. Katzer的判决中,历史上第一次承认“开源协议”是一种著作权协议,违反协议就是侵权行为。这一点是企业和用户在选用开源软件时不得不考虑的:开源软件的许可协议同样受到司法的保护。

  商标:开放源码不等于免费使用商标。众多的开源软件都有其商标,如Linux、Apache等,可以在其放许可协议的规定的范围内去使用其代码,但不能未经其附加授权而使用其商标,对这些商标的滥用恫同样也是不允许的。

  由于开源软件集市化的开发模式,开源软件商业化应用的过程中,如何解决代码的知识产权瑕疵和恶意陷阱?以及如何保证开源软件的质量问题都是需要重点考虑的。一个通俗的观点,对开源软件的使用比使用传统商业软件的过程要复杂得的多,这个复杂不是由代码所产生,而是由开源软件特点的授权模式所决定。

  来源:赛迪网    作者:飘摇




相关文章
  • 阅读优秀代码是提高开发人员修为的一种捷径
  • 你是世界上最优秀的开发人员吗?
  • 计算机科学专业应该传授的三件事
  • 五个htaccess文件的常用技巧
  • Spring框架研究
  • 十四条实用的MySQL 查询语句
  • 十个JavaScript页面布局技巧
  • 十个最著名的JavaScript 库
  • PHP的新浪微博发信接口
  • 常见的开源软件许可证协议介绍
  • 应用最广的十大Javascript框架
  • JAVA程序的加密和反加密
  • 在JAVA中编程实现数字签名系统
  • PHP开发框架的现状和展望
  • 网站标准重构的基础知识
  • Linux扫盲篇:CentOS、Ubuntu、Gentoo
  • 每个PHP开发者应该知道的五个开发要点
  • 如何在您的网站中加入“搜索本站功能”
  • 花十二个月建立一个成功的网站
  • 经典正则表达式
  • 相关软件

  • Photoshop中文教程
  • TURBO C教程  
  • CUG输入编缉,打字教程的C语言源程序  
  • C语言教程  
  • 功能强大的 TC 教程  
  • TURBO-C 教程的C语言源码  
  • 超级文本C++教程  
  • 操作符重载C++教程  
  • C 语言教程  
  • PHP中文教程  

  • 下载首页关于我们广告服务联系方式常见问题隐私声明法律条款本站声明下载帮助发布软件站点地图谷歌卫星地图