牢牢记空包代发官网:为什么需要了解自由软件,而不只是开源软件?

你为什么写这篇文章

看到jsiepkes在hacken news[1]中爆料,github要求删除EdgeFS开源项目分支,原因是上游项目已经关闭。

事实上,这种事情不仅发生过一次,而且发生过很多次,包括在中国。类似的事情以前也发生过,所以历史问题没有解释太多。如果你感兴趣,你可以自己用谷歌搜索。

大多数国内软件从业者可能不知道为什么会这样。从头开始理解整个开源世界的起源是很有必要的。大多数国内顶尖的开发者都提倡开源,并且做开源项目或者为开源项目做贡献。当然,为开源项目做贡献是一种非常好的行为,但是当引入开源软件时,很少提到或者根本没有引入自由软件。因此,笔者真的认为,国内开源社区的氛围真的不是很好,太浮躁,利益太重,这可以说违背了开源运动的初衷,也肯定符合利益至上的实用主义价值观。

为什么开源软件在关闭后不能继续使用?

事实上,这个问题本身并不难理解。例如,我们常见的自由软件/开源软件许可协议有:

GPL/LGPL

BSD

阿帕奇

Mozilla

麻省理工学院

开源许可协议的主要要求如下。例如,当根据BSD协议代码开发自己的产品时,

需要满足三个条件:

如果重新发布的产品包含源代码,源代码必须在原始代码中包含BSD协议。

如果仅二进制类库/软件被重新分发,原始代码中的BSD协议应包含在类库/软件的文档和版权声明中。

你不能用开源代码的作者/机构的名字和原始产品的名字来营销。BSD代码鼓励代码共享,但它需要尊重代码作者的版权。

BSD允许用户修改和重新发布代码,也允许在BSD代码上使用或开发商业软件

布料和销售,所以这是一个非常友好的业务整合协议。许多公司在选择开源产品时更喜欢BSD协议,因为他们可以完全控制这些第三方的代码,并在必要时修改或重新开发它们。

Apache许可协议和BSD许可协议是相似的。现在你知道为什么会有这样的问题了吧?

事实上,麻省理工学院的许可协议是这些许可协议中最宽松的,也是大多数开源项目作者避免一些专利问题的首选,因为他们不知道他们的开源项目最初会开发什么。

什么是自由软件[2]

由于自由软件本身的引入,官方网站已经有了一个很好的解释,而中文版是由政府提供的,以避免信息不佳的问题,所以我就不细说了,有兴趣的可以去政府那里了解信息(链接见脚注)。在这里,作者简要解释了GPL,作为版权的反对者,是一个特立独行的理想主义者的最佳选择。其理念是软件代码本身是免费的,用户可以自由运行、复制、分发、学习、修改和改进软件。

然而,一些人和许多其他人批评GPLV3的新版本,因为它太激进,使用GPLV3许可的代码的项目和项目也必须使用GPLV3作为开源,这意味着GPLV3具有病毒传染性。当然,作者是一个支持者,因为如果是我的开源代码,我不希望别人不打开源代码就使用它(对于这种人/公司来说,这叫做“取血而不是输血”),我支持一种双赢的合作方式。然而,值得承认的是,目前国内大多数商业公司都在积极参与自主软件和开源软件的开发,这表明我们已经得到了国际上的认可,改善了前几年一些厂商造成的不良影响。

自由软件不是免费的

在许多非专业人士的眼中,自由软件被误导并被归类为自由软件。很多时候,这个问题应该是由自由软件的“自由”这个词引起的,在英语也是自由的意思。因此,很多人错误地认为它是自由的,把自由等同于不可靠。

事实上,在我们的日常生活中,自由软件的影子随处可见,它的出现几乎等于加速了软件产业和互联网产业的整个进程(表达不一定准确)。例如,普通的智能手机(Android系统)、平时访问的互联网网页等,大多是基于GNU/Linux使用或开发的,而且大部分软件是由GCCTools链编译的(当然,现在有了更多的选择)。笔者过去研究过这个工具链开发软件,一直从事于GNU/Linux平台下的开发。

没有自由软件,就没有开源软件

如果没有自由软件,那么绝对不会有开源软件。开源软件的出现是由于自由软件世界的分裂,自由软件世界主要分为两个派别(理想关注和实用主义)。由于双方的分歧,这些实践实用主义的开源领导者发起了开源运动。你可以参考埃里克雷蒙德写的《大教堂与集市》 [4]。

使用自由软件或开源软件,而不是反复制造轮子

学了这么多,为什么我推荐使用自由软件或开源软件?主要原因是这些软件足够国际化,在大多数情况下都经历了很大的测试,非常成熟和稳定,与重建车轮相比,可能会加速项目或产品的失败。那么你如何选择要使用的软件或软件代码库呢?正如作者之前所说,事实上,作者是自由软件的支持者或粉丝,所以仍然不推荐使用开源许可协议的代码。原因是开头提到的问题。如果一个开源项目被广泛使用,原作者没有良好的道德和底线原则,随之而来的危害将是无穷无尽的。但是不是说GPL也有相应的问题吗?例如,如果你想打开你自己的代码,事实上,只要你不使用GPLV3的许可,它就不会像你想的那么严重。LGPL对商业用途更宽容,但从道德上来说,这取决于你的良心能否承受。

事实上,在选择自由软件和开源软件时,我们更关注项目作者的道德问题。没有完美的解决方案,但是它给了你足够的机会去理解代码,不是吗?

赞(0)
未经允许不得转载:京东空包 » 牢牢记空包代发官网:为什么需要了解自由软件,而不只是开源软件?
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址