博客统计信息
  • 经验分:1269
  • 随笔:237
  • 文章:1
  • 评论:116

 

开源和开源软件是两码事

开源和开源软件是两码事
原文作者:Haacked
 
    这一切都是源于一个不知名的文件,内容关于ASP.NET MVC 3是否为开源的。我认为这是毋庸置疑的!源代码在OSI法律审查许可公认的MsPL下发布,以确保它符合OSD(开源定义)FSF(免费软件基金会)认为,要通过审核,让 免费软件许可”不仅符合OSS,也要符合FOSS免费开源软件)体系。

    后来,在Twitter中引起了一些争议。这种良性争议有时在Twitter发生。同时我也学到了一些东西。

    许多人也提出了异议。如果在开源许可下,产品的生命周期结束时,做完开发后,项目怎样才能以开源的形式发布出去?如果不接受供款又怎样发布呢

    下面是我遇到的一些情况:

    1.我在描述问题时,使用的语言不够专业,精准;

    2.许多人对“开源”有着不同的概念。

开放源代码和开源软件是两码事。

    第一个词儿是定义一个构建软件的方法。而第二个是最终产品。他们是同一有人说,他们说是一回事,就像Toyota Kanban品牌的汽车是一回事,这显然是不对的。

下定义的重要性

    我是开源软件和开发源代码的软件开源模型的粉丝迷。我认为,将所有的软件做为开源软件是没有必要的,但是我确实发现了这种做法的好处。我也不评论这种用封闭式方法写OSS是好是坏。我关心的是在我们使用这些术语的时候,我们不要将术语误解,要保证他们的准确,这样易沟通。所以我们要对这些术语下个精准的定义。

    定义很重要!如果你让任何代码本身作为“开源”,那么你会像MS-LPL一样。它看起来像开源许可认证,但是它有很讨厌的平台限制。

    微软开始用“共享源”来形容这些能够让你可以看到代码许可证的这一术语,但它们不是所谓开源最经常定义的术语。

开源软件

    回到现实中,我所谈论的“开源”的意思就是“开源软件”。在我看来,开源软件是符合开源定义许可授权下的开放源代码

    因此,这句话完全是就源代码属性下的定义。 更确切的说,它是就源代码的许可认证而定义的。

    所以,当我们讨论软件是开源软件时,这意味着什么,我尝试在软件中构建一些框架,而不是构建思考这个软件是谁做的,或者是怎么做的。

    这就是为什么我认为ASP.NET MVCOSS,虽然该小组目前不接受外界的供款。毕竟,源代码不能接受供款。人们的确也这么做了,实际上,开源许可证与供款完全没有关系。

    定义的OSS有权修改代码,并且可以自由地重新分配代码资源。任何人都没有迫使作者接受供款的权利。

开源

    在以前,我经常使用“开源”这一术语,在定义我所谓的“开源软件”,从现在开始,我会改正这个错误的。

    当我和别人谈论到“开源”这一术语的时候,他们总是有不同的观点。他们总是围绕构建开放源码产品,如开源软件,谈论它的文化,工艺,理念。典型的特征包括:

    1.包含社会参与的开放性开发。

    2.团队接受符合标准的供款。

    3.最终产品有一个开源许可证。这包括开源软件,开源硬件,等等。

    这三点对我来说,十分重要。尽管我完全相信,一个团队可以在不接受供款下开发出私人性开源软件,但是我认为他们没有遵守开源的文化和精神。像我同事Paul所说的那样。

    同时,Bertrand在我的评论中指出,“开源”适用于许多领域,不仅仅涉及软件方面,还有诸如开源硬件,食谱等领域。

为什么那么重要?

    那么为什么它那么重要?如果一个项目是在私下做的,并且不接受供款,那么这个产品作为开源软件,认证许可后,为什么很多人关注它?

    我认为这很重要。实际上,最重要的部分是一个开源许可认证允许的自由。在理想化下来看,在开放和接受供款下的开发是给予你许可认证最重要的一点,同时也是自由的。

    这是为什么呢?也许是一个人制定的,但这不是遥不可及的,实例有助于说明。

    想象一下,一个开发项目,在完全公开并接受供款之下,构建一个JavaScript库。他们就会建立了一个很好的良性生态系统和社会周围的项目。这里一些代码非常的神奇,使我的网站实现超级强大的功能。我可以告诉你们我所要的所有供款。

    但还有一个问题。代码许可证有一个平台的限制。也就是说代码可能只在Windows平台上运行。这再糟糕不过了。这对我来说就失去了软件的意义。由于我在Mac上运行的浏览器要访问我的网站,我甚至不能在自己的网站里使用一小部分内容,因此我只能在违反许可证的非Windows平台上,使用我自己的网站。

    但是如果它是一个个人开发的库,并且一旦他们有了开源许可证,那么许多资源就会被打开。我就可以选择其中的资源,还能创建一个单独的开放社群。我也可以通过我的网站来分配资源。其他人也能重新分配它们。

    我还要澄清一点,在理想的状态下,我想两者兼顾即一个开源许可和提交供款的能力,同时能够查看在开放形式下开发的软件。我的主要观点还是要有一份有用的软件许可证,当然它的来源是要正规的。


评论

# re: 开源和开源软件是两码事


一般的理解都会觉得是一回事。


2012-2-22 10:44 | 风萍

发表评论

(不对外公开)

 

Please add 6 and 1 and type the answer here: