前不久,中国公布了首起开源侵权案件,被告因未遵守原告使用的GPL3.0开源协议而被勒令支付50万元。最近,还有一件事,一个波兰小妹妹想把一个系统移植到UMIDIGI手机上,但缺少一个显示屏驱动程序,一个必须在GPLv2协议下开源的Linux内核分支。但Yumi回复了邮件,说:"如果你想来深圳拿吧!"著名的Youtuber Naomi帮助从Youmi那里获得了代码,这很好,Youmi后来在其官方网站和github上发布了代码。
对于不熟悉开源协议的人来说,这可能有点令人困惑。显然是开源代码是不是要上线就用了?怎么还能被侵犯?这个 GPL 协议是什么?开源对社会意味着什么?在本文中,让我们来谈谈开源。
我相信开源这个词对互联网行业的人来说当然并不陌生。在计算机发展的早期阶段,在1950年代和1960年代,这些不同的开源协议并不存在。因为当时卖了一块硬件,上面的软件都捆绑在销售价格里,提供软件源代码是业界的默认行为。基本上,没有制造商认为软件也是一种商品,他们只是认为软件是你的电脑配件。而此时能使用电脑的人,大多是该领域的专家。所以软件源代码对他们来说是一种知识,我们一起维护和分享是一件非常合理的事情。随着计算机的发展,软件行业正在兴起,该软件的商业化是不可避免的。在此期间,大量软件公司成立。
然而,此时,用户习惯上仍然不把软件当成商品,那么电脑爱好者如果想交换电脑,就会去一个叫"家用电脑俱乐部"的社区交换信息。在俱乐部,他们剖析软件修改代码,根据需要添加软件的功能,然后使用软盘将其带回家中。
这种情况一直持续到1975年,当时微软,一家初创公司,觉得这是不对的,当时他们的第一个产品,基本编程软件,非常受欢迎,市场上的计算机基本上被安装,只要他们能安装它。虽然软件销量不错,但卖更多的拷贝的人会更多,显然也可以赚很多钱,但是因为私人传播的软件就不见了。
然后,当时20岁的比尔·盖茨(Bill Gates)写了一封公开信,明确认为那些分享复制软件的人是抄袭者,并告诉所有人,没有一个业余爱好者可以在没有任何收入的情况下长期开发和维护一个软件。这封信一发出,软件世界就处于沸腾状态。主要的中小型软件公司已经同意了这一点。因此,闭源软件才是真正的方法。
从开源到闭源,它几乎是瞬间的,而这种短暂的变化对那些推广开源的人来说是令人厌恶的。理查德·马修·斯托曼(Richard Matthew Stallman)是最受欢迎的。他当时正在麻省理工学院试验人工智能,在软件商业化后,最初开发Unix的公司AT-T开始对Unix系统收取高昂的许可费。在那些日子里,成本约为20万至20万美元,而且由于许多代码不再是开源的,斯托曼无法通过查看代码或修改驱动程序来解决机器的问题。
出于所有这些原因,斯托曼憎恶软件的关闭。因此,斯托曼先生直接辞去了工作,转而从事自由软件事业。在出海之后,像比尔·盖茨一样,他发表了一个GNU宣言,主题是重建软件社区的团结,之后,斯托曼成立了自由软件基金会,用他的员工和资金来支持他的自由软件程序。
也正是在此期间,他起草了文章开头提到的协议,即通用公共许可协议。该协议的主要思想是,您可以使用此协议的源代码进行修改,传播和货币化,但您必须保留原始版权信息并披露您修改的所有代码。也就是说,只要你的软件使用GPL协议代码,你的软件就会遵循开源。
讨厌闭源软件的程序员选择加入Stallman的团队,如果他们能从中得到最大的收益的话。像著名的Linux一样,使用的是GPL协议。在此基础上,GPLv2、GPLv3、AGPL、LGPL等协议相继开发。
问题在于,这些协议看起来不错,表面上保持了开源,并使您从修改后的代码中获利。但事实上,这两者本身就是相对的。
有一个著名的词叫GPL感染或GPL病毒,只要你的项目包含GPL代码,整个项目就变成了GPL。这使得基于GPL的软件难以商业化。当然,也有例外,基于Linux的Android避免了GPL的传染。更宽松的Apache 2.0协议允许在基于Android的开发后关闭手机。谷歌已经使用了一种复杂的方法将Linux包装在内核层中,以避免GPL的传染性,否则其他基于Android的UI根本无法开发。
但它是如此有争议,以至于许多人仍然认为Android违反了GPL协议。其他商业公司正试图尽可能避免陷入GPL协议代码的困境。因此,只有那些对开源有浓厚兴趣的人才会支持 Storman.Com 这种自由软件运动。那么,商业化开源的方法是什么呢?
这个问题直到1998年才取得成果。在那之前,开源这个词还不存在。基本上,当时的软件会使用"免费"这个词,这引起了当时人们的误解,Free代表免费。所以今年。来自Linux用户组的一群大佬们召开了一次会议,从The View浏览器中汲取灵感,并认为应该丢弃"免费"这个词,而是使用"开源"一词来指代开源软件,并重新定义了开源是开源的,与后续使用分开。这意味着,即使您的代码是开源的,您也可以使用开源代码作为封闭的发行版,为了更好地制定开源规则,开源促进会组织已经建立了一个组织,其主要任务是评估开源许可证。
从那时起,开源世界分裂成两个阵营:自由软件基金会(FSF)和开源组织(OSI)。这两个阵营代表了两个开源思想,自由软件基金会代表绝对的代码自由,而刚才提到的Apache 2.0是开源组织的典型特征,开源协议相当自由,除了要求用户披露原始作者之外,还可以对用户关闭。通常,除了Apache 2.0之外,BSD,MIT协议Google的AOSP和Chrome,华为的Open Harmony都基于Apache 2.0。这些松散的开源协议已经形成了强大的商业价值,曾经微软出于商业原因选择关闭,但现在越来越多的公司也出于商业原因选择开源。
2019年,中国信息通信研究院发布《开源产业白皮书》对多个行业进行调查,国内已应用开源技术的企业比例达到86.7%,计划应用开源的企业比例占10.6%。大型科技公司在拥抱开源方面更加积极,百度拥有700多个开源项目,阿里1,200个,谷歌超过2,000个。
今天,对于那些制造商来说,代码不是开源的,这不仅仅是软件不卖钱的问题。那些厂商更是将开源作为自己先发制人的商业市场,以赢得口碑为武器,利用自身资金充足、研发速度快、流量渠道等优势,迈出了实现一定功能源码发布的第一步。这种方法会吸引很多小公司那些没有办法做研发的公司,在大工厂开源的基础上开发产品,当使用更多的人上来时,依靠这套开源代码也成功地建立了自己在某个方向上的一个产品业务标准, 实现自己在某一领域的垄断。因此,在这个方向上有绝对的支配地位。这种方法的最好例子是谷歌的Android。
但现在选择代码开源的公司或多或少都有了自己的细心思考,想要回到计算机开发初期那种开源热潮,这是不可能的。此外,随着计算机逐渐变得平民化和简单化,以及大量不同功能的程序的诞生,自己对程序的修改已经成为一项非必要的技能,所以,从现在开源开始就被各种各样使用,甚至有这么多的缺点,并不是所有的闭源。如果这个程序员先不同意,编程最重要的一点就是不命名规范,不添加注释,不可读性,而是不要重复轮子,我可以按Ctrl-C为什么还要再玩一遍?
说实话,开源确实让很多程序员活了下来。今天,互联网上丰富的开源框架和开源库也允许程序员在短时间内完成大量的功能逻辑,否则他们需要花更多的时间。例如,著名的Opnecv,一个BSD许可的机器视觉学习库,已经让很多编程爱好者工作。之前许多变脸的视频,用于训练这些变脸AI的软件,基本上都使用了这个库中的代码。正是因为开源,你才不必学习什么是机器学习,什么是计算机视觉,只要你调用接口,就会有一些基本的代码,比如C和Python,你可以鼓动一个你自己的变脸软件。

今天的开源协议已经从软件世界影响了知识界,激发了CC共享许可证,从而引发了学术界的OA期刊运动,促进了知识共享。正是通过这些,全人类继续前进,创造了一个又一个奇迹。
结束 -
随着技术的快速发展,阿木实验室将紧跟技术步伐,不断向大家推荐机器人行业的最新技术和硬件。看到我们训练有素的学生在技术上取得进步是我们培训的最大价值。如果您从事机器人行业,请关注我们的公众号,我们将继续发布机器人行业最有价值的信息和技术。阿木实验室致力于前沿的IT技术教育和智能装备,让机器人研发更高效!