0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Linus:为何选择非 GPL 许可而不是GPL

马哥Linux运维 2018-01-02 08:41 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Linux 开始发布时,Linus Torvalds 为何选择非 GPL 许可而不是 GPL ?让我们一起来看看 Linus Torvalds 的回答。本文是 LinuxFr 2011 年对 Linus Torvalds 的采访。
LinuxFR:截至目前,你已经从事了大约20年的Linux开发,我们知道这是一个辛苦的工作,不知道你现在是否还和当初一样感觉很有趣,很兴奋?Linus Torvalds:哦,当然!我仍然觉得这是一件有趣的事情,部分原因恰恰是因为我为它做了20年的工作。我不想将其称为一个“辛苦”的工作,它仍然充满挑战和趣味,但我认为我已经轻车熟路了。
LinuxFR:你为什么选择将Linux内核最初的非GPL版权转为GPL许可?是出于道德还是现实需要?Linus Torvalds:是为了现实需要。我最初选择的许可考虑到了道德方面的原因,但它显得过分严格,知名度也不高。转向GPL解决了原许可模式存在的问题,越来越多的人拥护,并主动为我宣传。LinuxFR:我知道你认为你自己是一个非常务实的人,而不是一个预言家,但不知你是否赞同GPL许可协议中关于道德部分的内容?Linus Torvalds:我用两个不同的方法来回答你这个问题,并说说我为什么要用两种方法。首先,我个人非常鄙视那些将道德和GPL相提并论的人。我认为这完全是胡说,为什么?因为道德是人们的隐私,无论何时,你在一份协议中使用道德来约束其他人应该做什么事情,你首先就是不道德的,你只是一个道貌岸然的伪君子。但第二个答案是,我个人觉得GPL(v2)和我的想法最吻合。我的确很喜欢编程,我希望将我的经验和别人分享,我认为只要你能想到就一定能做到,但要提高的确需要前人的经验,这对开发人员来说是一条捷径。因此,我个人认为GPL v2最符合我的口味,就好像生活找对了方法一样美好,但我认为正确的方法不应该只有一个,我也从事一些商业编程,我也喜欢分享,我觉得这是平等的(嘘,他们是付了钱的)。我认为GPL v2是一个伟大的许可协议,我出于个人原因而使用它,我想很多人也和我有同样的看法吧。但我真的想指出的是,许可协议和道德本身是没有干系的,好比很多人认为BSD许可协议具有更多的自由,所以它是一个更好的许可协议;但也有一部分人更喜欢使用保留所有权利的许可。当然每个人都有自己的选择权,我没有丝毫贬低他们的意思。但是,企图将任何特殊的许可当做道德选择真的让我愤怒。
LinuxFR:为什么桌面如此特殊,为什么比其它市场艰难?Linus Torvalds:因为它更加有趣。在这个市场中,人们可以做许多不同的事情。的确,服务器几乎没有做不了的事情,它可能有充足的CPU计算资源,快速的网络和大量的IO,但它一直做着相同的事情,而且是有限制的:它运行一个数据库,一个邮件或Web服务器,各种分析等。对企业来说,它可能是重要的,但它的工作负载不会经常发生变化,也没有哪个个体会喜欢它。相反,你的桌面是你每天都要看到的,即使有些东西你不需要,你也不会对它们产生反感,使用时间长了,你可能还会产生一种依赖。桌面做的事情更多,你在它上面玩游戏,编写文档,开发软件,对某些人来说,只有一个浏览器就足够了,正是要应付这么多的任务,桌面比服务器更复杂。有趣的是,智能手机也慢慢开始出现桌面的复杂性。
LinuxFR:为什么Linux桌面未被主流用户采用?内核社区能改善这个情况吗?还是这本身属于用户空间的问题?Linus Torvalds:我认为在内核方面没有太多的解决办法,但我们会继续想办法改进。我们不是没有主流用户 – Android用户就是Linux主流用户,问题是桌面是一个困难的市场,有巨大的网络效应,大多数人都不希望改变他们的环境,如果必须转移到新环境,他们也希望获得帮助和支持,这里的“支持”不一定非得是商业支持,只要有一个经验丰富的人在你身边给你提供一些建议即可。但这不全是技术问题,更多的是社会问题。
LinuxFR:下面这个问题可能有点唐突,你现在仍然完全了解Linux内核的所有部分吗?或者说你真正信任维护者吗?例如,就复杂的路径名查找补丁,你是如何在Nick Piggin和Dave Chinner贡献的补丁做出选择的?你是否接受了A1 Viro的一些建议,还是你一个人做的决定?Linus Torvalds:没什么,我肯定不能了解内核的所有部分,但我比大多数内核开发人员了解要多一些,不过有些地方我几乎完全依赖于维护者,因为我对某些子系统几乎一无所知,当然每个人都有自己感兴趣的领域。例如我非常熟悉VFS和VM层,因此在这些方面我可以自己做出决定,但这并不意味着我不希望获得别人的帮助。对于我不熟悉的领域,我一般不会做独裁决定,但我会敦促维护者认真思考问题,并给予一定的指导性意见,协助他们做出正确的决定。顺便说一下,“正确的决定”不一定需要正确的表达,有时你仅仅需要做一个决定,并不一定要明确“正确”答案是什么,有时说“我们不知道”可能更好,毕竟不能靠拍脑袋做决定,但有时我们必须做出技术选择,这是一个痛苦的过程,完全可能做出错误的技术选择,但有什么办法呢,在没有任何可供借鉴的经验之前,我们只有通过试错的方法来找出正确的技术。幸好这种情况并不多见,开发期间大多数时候不需要做出艰难的选择,前进的方向都非常明了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11548

    浏览量

    215151
  • gpl
    gpl
    +关注

    关注

    0

    文章

    26

    浏览量

    2319

原文标题:Linus:鄙视用道德绑架开源的行为

文章出处:【微信号:magedu-Linux,微信公众号:马哥Linux运维】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    管理型 vs 管理型,工业网络如何选择以太网交换机?

    在工业网络建设中,很多人会纠结该选管理型还是非管理型交换机。管理型交换机即插即用、价格实惠,适合小型场景;管理型交换机功能强大,可监控、可优化,适合大规模、关键业务。实际应用中,两者往往不是“二
    的头像 发表于 08-25 15:37 72次阅读
    管理型 vs <b class='flag-5'>非</b>管理型,工业网络如何<b class='flag-5'>选择</b>以太网交换机?

    OpenOCD在NuTiny-N76S003AT上失败了怎么解决?

    打开片上调试器 0.10.0-dev-g84af658-dirty (2024-02-01-15:24) 根据 GNU GPL v2 获得许可 有关错误报告,请阅读 http
    发表于 08-18 08:02

    华为工程师总结Linux笔记

    使用 GNU 通用公共许可证(GNU GeneralPublic License,GPL)工程各种工具和数据库的操作系统。 GNU 是“GNU is Not Unix”,UNIX 是一种广泛使用的商业
    发表于 07-14 15:28

    华秋KiCad发行版 9.0.3 发布:图片生成符号、封装

    遵循 GPL 3.0 协议,且 跟随 KiCad 最新的分支同步更新 。原则是 通用功能优先贡献给 KiCad 主干 ,主干无法合并的功能才添加到发行版中,一旦主干可以支持,即刻合并到主干 。 因此发行版完全兼容 KiCad 的所有原理图、PCB文件格式,功能上也只是新增
    的头像 发表于 07-10 11:17 4548次阅读
    华秋KiCad发行版 9.0.3 发布:图片生成符号、封装

    迅为RK3588开发板helloworld驱动实验

    { 6 printk(KERN_EMERG \"helloworld_init\\\\r\\\\n\");//注意:内核打印用 printk 不是 printf 7 return 0
    发表于 05-15 10:21

    迅为RK3568开发板驱动开发指南helloworld驱动实验-驱动的基本框架

    的内核模块声明许可包括“GPL”“GPL v2”。 4 模块参数(可选择) 模块参数是模块被加载的时候可以传递给它的值。 5 模块导出符号(可选择
    发表于 04-02 14:47

    为什么选择蜂窝物联网

    、Wi-SUN 或其他 LPWAN 相比,蜂窝物联网(包括 NB-IoT 和 LTE-M)更适合您的物联网项目,以下是其中一些关键原因。 许可许可频段: 蜂窝物联网利用现有的全球基础设施,在
    发表于 03-17 11:42

    恩智浦为无线连接SoC开发的统一WiFi驱动程序多芯片多接口驱动(MXM)

    智浦专有的Wi-Fi驱动实现,可用于支持Linux和Android的恩智浦i.MX MPU。该驱动采用灵活的双许可方案,有GPL-2.0和专有许可,可有效避免许可冲突。 该驱动在恩智浦
    发表于 02-28 09:13 851次阅读
    恩智浦为无线连接SoC开发的统一WiFi驱动程序多芯片多接口驱动(MXM)

    为何选择GraphPad Prism

    节省统计分析的时间 专为科学家(而非统计学家)设计的多功能统计工具。直接将数据输入专为科学研究而设计的表格,并指导您进行统计分析,进而简化您的研究工作流程,无需编码。 做出更准确、更明智的分析选择
    的头像 发表于 02-18 09:23 373次阅读
    <b class='flag-5'>为何</b><b class='flag-5'>选择</b>GraphPad Prism

    DLS许可服务器的创建与部署步骤

    上一期讲到 CLS 许可服务器的创建与部署流程(点击此处跳转),本文详细介绍  DLS 许可服务器的创建与部署步骤 ,如果选择 DLS 服务方式,需要在本地部署 DLS 许可服务器虚拟
    的头像 发表于 02-14 14:51 1099次阅读
    DLS<b class='flag-5'>许可</b>服务器的创建与部署步骤

    ads1204基于fpga的sinc3滤波,为何输出的25位数据为什么都不是定值?

    我是用DSP给FPGA提供滤波时钟的(也就是CNR,设置为256),输入给的是恒定的值,不知为何输出的25位数据为什么都不是定值,有做过的高手吗?求助!
    发表于 01-15 06:40

    屏蔽网线对接头是不是不是屏蔽的

    屏蔽网线是在不具有强干扰环境下使用的,具有一定的抗干扰能力,因此可以满足日常较弱干扰情况下的正常使用需求。其网线内部没有额外的屏蔽层来抵御外部电磁干扰,价格相对较低,安装也较为简单。
    的头像 发表于 01-07 15:45 808次阅读

    分享关于编译器的科普

    产物比GCC更小。 Clang的错误提示比GCC更加友好。 Clang有静态分析,GCC没有。 Clang使用BSD许可证,GCC使用GPL许可证。 Clang从一开始就被设计为一个API,允许它被
    的头像 发表于 12-09 09:49 704次阅读

    请问各位大神,为什么用隔离电源max6675K 读数不是0就是775度啊

    请问各位大神,为什么用隔离电源max6675K 度数不是0就是775度啊换成USB的5伏电源就没事 换成隔离电源芯片搞出来的电压就不行读数不是0就是775度啊!!!求救啊求救啊!!
    发表于 11-06 07:53

    TAS5421的参考设计中,BOM表给出的470pF缓冲电容耐压值为何选择250V换成50V的耐压值可以吗?

    TAS5421的参考设计中,BOM表给出的470pF缓冲电容耐压值为何选择250V,换成50V的耐压值可以吗?
    发表于 10-12 08:53