首页 > 其他分享 >开源治理·聚光灯| 面对“百家争鸣”的许可证,企业如何做出明智选择?

开源治理·聚光灯| 面对“百家争鸣”的许可证,企业如何做出明智选择?

时间:2024-01-25 11:32:05浏览次数:26  
标签:百家争鸣 GNU Hancom 选择 开源 许可证 聚光灯 企业

本文我们将一同探寻那些常见的开源许可证类型,它们各具特色,有的宽容大度,有的则严格苛刻。同时,我们还将讨论企业在面对许可证问题时,应该如何审时度势,做出明智的选择。毕竟,在这个开源的世界里,只有尊重规则,才能走得更远。

在开源许可证中“择婿”

“好好先生”  MIT/X11许可证

MIT/X11许可证:可以算是开源界的“好好先生”,他特别大方,基本上就是:“你用吧,分发吧,甚至私有化都没问题!但记得,别忘了给我留点面子,在软件和所有副本里加上我原始的版权声明和许可通知就行。”

个性标签:宽松得就像路边的野花,随便你摘。

代表作品:React, Rails, Node.js

 

“霸道总裁”  GNU通用公共许可证

GNU通用公共许可证(GPL):这位可是“版权自由派”的代表,他强势地推行“copyleft”,也就是说:“你改了我的东西,或者基于我搞出了新东西,那不好意思,你也得跟我一样,用这个许可证发布出去,确保我的自由精神一直传递下去。”

个性标签:copyleft的坚定捍卫者,有点“霸道总裁”的味道。

代表作品:Linux,GCC,MariaDB

 

“绅士”   Apache许可证2.0

Apache许可证2.0:这位“绅士”则比较“随和”,他说:“任你用,任你改,甚至拿去赚钱都没问题。但记得,如果用了我的专利,你得给人免费许可。还有,别忘了保留我的原始声明哦。”

个性标签:商业化友好,但原则性问题绝不含糊。

代表作品:Kafka,Hadoop,Maven

 

“学者”  Mozilla公共许可证

Mozilla公共许可证(MPL):这位“弱copyleft”派像一位学者,他比较灵活:“你可以把我的代码和你开发的代码放一起,用其他的许可证发布,我不介意。但你要是改了我的代码,那就要想我一样公开出去。”

个性标签:既开放又有原则,很像一位“学者”。

代表作品:Firefox,Thunderbird

 

“侠客”  BSD许可证

BSD许可证:这位则更像是个“侠客”,他的要求很简单:“你用吧,改吧,分发吧,我无所谓。但记得给我留点痕迹,保留原始的版权声明和许可证通知就行。我不争不抢,但我的存在你不能忽视。”

个性标签:低调奢华有内涵,接近公有领域的“侠客”。

代表作品:FreeBSD,Django,Nginx

 

企业“烦心事”与开源“选择题”

近年来,因违反开源许可证规定而引发法律纠纷的企业数量越来越多。以Artifex Software与Hancom之间的诉讼为例。自2013年起,韩国Hancom Office办公软件公司为强化字处理功能,整合了开源的Ghostscript PDF解释器。Ghostscript有两种许可证:免费的GNU GPL(需遵循开源规定)和付费商业授权。Hancom既不愿遵循GPL规定,也不愿付费,因此未采取任何行动。

2016年,Ghostscript的开发者Artifex对Hancom提起诉讼,指控其滥用GNU GPL并侵权,要求停止侵权并支付许可费。Hancom反驳称双方无合同,且许可证非合同,但法官裁定GNU GPL具有合同约束力。

此案使Hancom陷入困境,再次证明无免费午餐之理。利用他人成果须遵守规则,否则须承担后果。

上面案例虽然揭示了企业在面临开源软件选择时会遭遇的侵权风险及其严重后果,但实际上,企业在挑选和使用开源软件的时候,将面对非常复杂的许可证选择问题。选得好不好,直接关系到企业的“身家性命”,长期发展可就在此一举了。

因此,在作出这一关键决策时,企业需要综合考量多个因素。下面我们将对这些因素进行一下梳理:

侵权风险

谈及侵权风险时,这是企业首要谨慎选择因素,在选择开源许可证时,这一风险尤为显著。上述提到的许可证表面看似“诱人且无害”,但实际上可能隐藏着专利侵权或地域性法律问题的隐患。因此,在做出决策之前,企业在商业化时务必寻求专业法律专家或开源专家咨询,对这些许可证进行全面而细致的审查。此外,一旦选择了许可证,企业必须严格遵守其规定,以免不慎触犯法律。

商业需求
企业在选择开源许可证时,不只要清楚技术研发上的需求,更要充分考虑自身的商业模式和策略。不同的许可证,对商业使用的限制和要求有天差地别。比如说,如果企业打算把开源软件当成商业产品的一部分来卖,那就要选择能允许企业商业化的许可证,可别到时候选了某个限制多的许可证的技术,虽然完成了产品研发,但最终让企业的商业计划泡汤了。

开源共建
开源共建也是一个重要因素。不管是选择一个合适的许可证来开源你的技术,还是选择一个拥有合适许可证的开源技术来赋能你的产品,都有助于企业更好的融入开源社区,从而获得更多的支持和资源。 因此,在选择许可证和开源技术的时候,一定要看看其背后的社区活跃不活跃、基金会支持情况如何,这样可以让你的产品走得更稳定、更长远。

 兼容性

当企业使用多个开源组件时,必须确保这些组件的许可证之间能够相互兼容,以避免潜在的法律风险和技术难题。因此,在选择许可证时,企业需要对各个组件的许可证进行仔细审查,确保它们之间的兼容性,并选择最适合项目需求的许可证。

 话说回来,开源技术无疑是技术思想绽放后的结晶,其优点不胜枚举:推动科技创新、降低成本、提升质量等等。企业若能善用此道,便如同立于巨人肩头,得以借助全球开发者的集体智慧,加速产品研发进程,同时减少对专有技术的过度依赖,其益处可见一斑。

 然而,尽管开源技术优点众多,企业在选择和使用时却需格外审慎。不同的开源许可证所附带的使用条件和限制各异。一旦选择不当,不仅无法享受到开源技术带来的种种好处,反而可能给企业的长期发展和法律合规带来隐患。因此,企业在决定采用开源技术时,务必深入研究各类许可证的具体特点和要求。在此基础上,结合自身的业务需求和策略,做出谨慎而明智的选择,方能在尽享开源技术之利的同时,确保企业行稳致远,远离法律风险的漩涡。

 

标签:百家争鸣,GNU,Hancom,选择,开源,许可证,聚光灯,企业
From: https://blog.51cto.com/u_15891519/9408938

相关文章

  • 使用CPU运行大语言模型(LLM),以清华开源大模型ChatGLM3为例:无需显卡!用CPU搞定大模型运行
    教程视频地址:无需显卡!用CPU搞定大模型运行部署!【详细手把手演示】按照上面视频进行安装配置之前需要注意,python编程环境需要大于等于python3.10,否则会运行报错。下载好GitHub上的项目代码后需要运行pipinstall-rrequirements.txt配置好后运行效果:相关资料:【ChatGL......
  • 如何为开源项目和社区做贡献 -- 你应该知道的十件事
    1.前言 大家好,我叫颜国进,现为英特尔边缘计算创新大使、百度飞桨开发者专家。回溯至2021年12月,那时的我,身为机械专业研一新生,仅在C和Python编程语言上有些许基础,对于深度学习的殿堂还只敢在门口窥探,对于OpenCV图像处理以及模型部署等技术更是所知甚少。然而,通过不懈的努力和......
  • 怎么他们都有开源项目经历|手把手教你参与开源
    一、前言大家好,这里是白泽。有一些同学提问,希望在自己的简历上增加一些有含金量的项目经历,最好能够去参与一些开源项目的开发,但由于对一个庞大的开源项目缺乏认知,难以着手。同时也担心自己能力不足,不知道自己写的代码是否会被接纳。这里我总结了遇到的一些问题:如何找到适合我......
  • 二、nextjs API路由如何做好JWT登录鉴权、身份鉴权,joi字段校验,全局处理异常等(c-shoppi
    介绍在这篇文章中,我们将学习如何在C-Shopping电商开源项目中,基于Next.js14,处理所有API路由中添加身份验证和错误处理中间件的思路与实现。这篇文章中的代码片段取自我最近开源项目C-Shopping,完整的项目和文档可在https://github.com/huanghanzhilian/c-shopping地址查看。Next......
  • 二、nextjs API路由如何做好JWT登录鉴权、身份鉴权,joi字段校验,全局处理异常等(c-shoppi
    介绍在这篇文章中,我们将学习如何在C-Shopping电商开源项目中,基于Next.js14,处理所有API路由中添加身份验证和错误处理中间件的思路与实现。这篇文章中的代码片段取自我最近开源项目C-Shopping,完整的项目和文档可在https://github.com/huanghanzhilian/c-shopping地址查看。Next.js......
  • 开源网安“软件安全培训”荣获权威奖项,引领职业教育新方向
    近日,由现代职业教育研究院指导、全国职业教育社会培训合作联盟主办、威海职业学院承办的“现代职业教育体系建设高峰论坛”在北京顺利举办。来自全国各地近80所院校的150位院校代表参与盛会。开源网安受邀参加本次论坛,并凭借“软件安全开发职业技能提升培训”荣获由新华网和现代职......
  • 他凌晨1:30给我开源的游戏加了UI|模拟龙生,挂机冒险
    一、前言新年就要到了,祝大家新的一年:......
  • Java开源表达式计算引擎(转载)
    1) jfireEL——高性能EL表达式解析框架jfireEL是快速的EL表达式解析器,支持丰富的EL表达式,7倍于SpringEL的超高性能。2)Aviator——轻量级高性能Java表达式引擎Aviator是一个高性能、轻量级的Java语言实现的表达式求值引擎,主要用于各种表达式的动态求值。支......
  • 你和时间管理大师,就差一个开源工具「GitHub 热点速览」
    在这个快节奏的生活中,我们努力地在平衡工作、生活和个人发展,但常常感到时间不够用。如何在繁忙的日程中找到一丝丝“喘息”的机会,这个名叫cal.com开源项目能让你更轻松地管理日程。不管每天再怎么忙也不要忘记给自己充电,这份系统设计入门教程system-design-101,能让你利用碎片......
  • 【开源】基于JAVA的生活废品回收系统
    一、摘要1.1项目介绍生活废品回收系统是可持续发展的解决方案,旨在鼓励人们分离和回收生活垃圾,减少环境污染和资源浪费,生活废品回收系统涵盖了城市居民的日常生活,包括收集、分类、处理和收集废物的完整过程。本文提出了一种基于Vue技术的生活废品回收系统,该系统可以通过垃圾的收集......