事 实上与开源相关的有三个方面:商业软件(Business Software)、自由软件(Free Software)和开源软件(Open Source Software,此处为狭义的开源,以下简称OSS)。它们之间的根本区别并不是在是否收费上——这是国内对开源的最大误解。
其实这三者的根本区别在于License。
商 业软件用的是商业License,以保障软件商的利益为第一位,基本没有考虑用户的利益。不相信的请自行查阅手上的商业软件License——其 实我不但很怀疑绝大多数人根本从来没有看过自己用的软件的License,我甚至很怀疑那些FUD开源软件的人手里怕是连正版的商业软件也很难找到。
自 由软件用的是GPL,目的是在最大程度上保障用户的自由。这种自由表现在,用户除了可以自由使用软件以外,还可以自由分发和自由修改。但是因为 GPL的派生性(就是说基于GPL软件派生的软件也要使用GPL),用户对自由软件作修改和再分发后,用户也成了作者之一,所以GPL对用户自由的保障其 实也保障了作者的权益。
而OSS类似于自由软件,但用的License更加宽松,并不局限于GPL。只不过这些License有一个共同点就是开放源代码,赋予用户更多使用自由的同时,还赋予用户选择的自由。BTW:我个人偏爱OSS,曾经写过《选择的自由》来谈这个事情。但是后来有一次跟令狐聊起,他认为GPL的强制派生性是有其重要意义的,因为它保障了自由软件的持续发展。
既然如此,我们就可以很明白地看出来:开源软件并不排斥商业。
不 论是自由软件还是OSS,都可以在其基础上通过提供增值服务取得商业利益——只要不违反其License就行。所以你完全可以把下载来的Linux刻成光 盘拿出去卖,当然如果你修改了下载的内容,那么发行时要带上修改过的源代码。事实上,在不违反License的情况下,你可以用开源软件进行一切你能想到 的商业活动。
但是在对待商业软件的态度上,自由软件与OSS还是有区别的。
对于自由软件来说,商业软件是另一个世界的东西,二者是井水不犯河水,自由软件走的是独立自主的道路,不允许商业软件进入自由软件体系,也禁止自由软件的成果进入商业软件中(因为商业软件肯定不是用GPL,这违反了GPL的派生规定)。
但对于OSS来说则要宽松得多,一般没有派生限制,很多开源License都允许其派生成果不开源,即允许这些成果进入商业软件。从这个意义上说,OSS不但不是商业软件的敌人,反而可以说是一种必要的和有益的补充。
反 观商业软件,由于开源软件的存在,它们失去了原有的垄断利益。这里的垄断不一定是指绝对垄断,还包括经济学意义上的“垄断竞争”。所谓垄断竞争是指在产品 中增加不兼容特性,给用户增加替代壁垒,实现一定程度上的事实 垄断。所谓增加不兼容特性是比如对通用标准的不完全支持——例如Windows的所谓Posix兼容,以及对通用标准的不规范扩展——例如IE对W3C标 准的不规范扩展。
垄 断的好处就在于:用户没有别的选择,我做得再不好,卖得再贵,也能混得很好。但是开源软件的出现给了用户更多更好的选择,这就给它们带来了威胁,所以要 FUD开源软件。但我认为这是没有出路的,商业软件要想在这样的竞争环境下生存下去,唯一的办法就是把你的东西做得比开源软件更好!对于那些因为开源软件 的出现而死去的商业软件,我一点也不同情,因为那完全是咎由自取自由、免费和开源这三个词语的意义和区别,用自己的体会去理解这样
开源是一种行为,指的就是把软件的源代码开放,但是开放源代码也有
免费,这个词也许就是从Free Software或freeware中翻译而来。也是大部分人对自
Free Software,正确的翻译应该是自由软件。我的Blog标题借
FSF的GNU作为自由软件的最主要的倡导者,已经成为自由软件的
自从我去年真正接触到自由软件以来,它也已经成为我日常生活中不可