开源技术知识

先看看我转自http://www.cnbeta.com/articles/123233.htm的这篇吧

在当今竞争激烈的软件业,开源的崛起,以及人们对开源产品的青睐,为 Oracle, 微软,苹果,Sun 一类的技术巨头带来了压力。在数据库和服务器领域这种情形已不鲜见,而各种迹象表明,开源的力量同时也正在移动平台,乃至操作系统这些消费级市场中凸显。

近年来,基于 iOS 系统的设备的流行(尤其是 iPhone),使得对一个新平台的呼声越来越高,这个新平台不仅可以同 iOS 展开竞争,还可以弥补 iOS 的不足,于是就有了 开源的 Android。时至2010年,在几次版本更迭之后,Android 已经入驻超过30种手持设备,Android 已经成功进入几乎所有新的手机与平板电脑系统。Android 的流行让开源以前所未有的方式贴近大众用户。

Chrome 与 Ubuntu
在 PC 领域,基于 Windows 的上网本正遭受来 Chrome 上网本的威胁。和派生于 Linux 的 Ubuntu 等系统一样,Google Chrome 操作系统同样派生于一个基于开源操作系统 Chromium OS 的项目,在同 Windows 展开竞争的时候,Chrome 操作系统拥有别的系统所不具备的优势,因为 Chrome OS 和 Chrome 浏览器很像,这款被 17% 的上网用户使用的浏览器,加上正在使用 Gmail, Docs,Calendar 等服务的用户,组成了一个1亿7600万的庞大用户群,当这些人上网的目的主要是使用那些便宜的设备浏览网页,收发 Email,编辑简单的文档的时候,他们会很容易接受 Chrome 操作系统,这正是 Google 伟大之处。

Ubuntu 之类 Linux 平台的开发者们,似乎也希望他们的产品像 Google 那样被普通大众接受,然而,虽然 Ubuntu 对那些初次接触 Linux 用户来说已经做得相当不错,但它们仍然过于限于一个技术的圈子,同时,他们也不具备苹果那样的资源,可以让他们对手的用户,知道自己与众不同的地方。
Wordpress, Drupal & Joomla
除了前面说到移动平台以及操作系统等领域的开源系统,在 Web 领域,诸如 WordPress,Drupal,Joomla 一类的开源内容管理系统(CMS),正在支撑着网络上数量庞大的博客与网站。你是否好奇 Wall Street Journal, Forbes, TechCrunch, Mashable, CNN 之类的主流新闻站点是基于什么系统的?它们都基于开源系统。如今,多数博客都运行在 WordPress 上,还有一些基于 Drupal 和 Joomla 等开源 CMS 平台。越来越多的商业用户希望通过博客接近他们的用户,人们对这类低投入系统的需求越来越旺盛,使得这些系统最终超越它们的收费对手。

开源的今天
可以看出,开源已经从之前的服务器领域扩展到 Web 领域,然而,这种依赖开源社区的模式也存在一些问题,最好的例子是那些基于 Android 的移动设备。当运营商或设备制造商推出基于某个版本的 Android 设备时,他们往往会加入一些自己的定制功能,这时,如果 Google Android 推出新版本,而运营商和制造商还来不及针对新版本重新定制的时候,他们的用户就无法获得官方升级,只好冒险直接升级 Google 的版本,最终,运营商和制造商为定制所付出的所有努力都付诸东流。
在 WordPress 等 CMS 领域,则存在另一个问题,插件。插件是这些开源 CMS 系统最受欢迎的东西,可以帮助用户定制自己的主题,或实现主程序所不具备的功能。然而基于某个版本的 WordPress 的插件往往并不兼容 WordPress 的后续升级,虽然很多插件的作者会孜孜不倦地跟随 WordPress 主程序同步推出自己的升级并提供免费的支持,更多插件的作者往往不再维护自己的产品,导致使用了这些插件的用户迟迟不敢升级。
开源的未来
开源应用越来越强大,并被越来越多的用户所接受,而非技术用户对开源产品的接受,将为那些传统的靠付费软件获得收入,且尚未从免费软件找到获利模式的软件公司敲响警钟。如今,WordPress.com 可以借助广告,VIP 账户以及技术支持获利,Google 可以靠将搜索条置入成千上万的 Android 设备获利,对于这些,微软和苹果将如何应对?

转自http://www.comsharp.com/GetKnowledge/zh-CN/TeamBlogTimothyPage_K934.aspx

开源界的 5 大开源许可协议

 

越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都有开源软件存在(象 WordPress,Drupal 这些开源CMS)。然而很多人对开源许可并不了解,本文介绍开源领域常用的几种许可协议以及它们之间的区别。

什么是许可协议?

什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供一定的权限。

不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。

开源许可协议使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。

GNU GPL

GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利:

  • 可自由复制
    你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。
  • 可自由分发
    在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。
  • 可以用来盈利
    你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。
  • 可自由修改
    如果你想添加或删除某个功能,没问题,如果你想在别的项目中使用部分代码,也没问题,唯一的要求是,使用了这段代码的项目也必须使用 GPL 协议。

需要注意的是,分发的时候,需要明确提供源代码和二进制文件,另外,用于某些程序的某些协议有一些问题和限制,你可以看一下 @PierreJoye 写的 Practical Guide to GPL Compliance 一文。使用 GPL 协议,你必须在源代码代码中包含相应信息,以及协议本身。

GNU LGPL

GNU 还有另外一种协议,叫做 LGPL (Lesser General Public Licence),它对产品所保留的权利比 GPL 少,总的来说,LGPL 适合那些用于非 GPL 或非开源产品的开源类库或框架。因为 GPL 要求,使用了 GPL 代码的产品必须也使用 GPL 协议,开发者不允许将 GPL 代码用于商业产品。LGPL 绕过了这一限制。

BSD

BSD 在软件分发方面的限制比别的开源协议(如 GNU GPL)要少。该协议有多种版本,最主要的版本有两个,新 BSD 协议与简单 BSD 协议,这两种协议经过修正,都和 GPL 兼容,并为开源组织所认可。

新 BSD 协议(3条款协议)在软件分发方面,除需要包含一份版权提示和免责声明之外,没有任何限制。另外,该协议还禁止拿开发者的名义为衍生产品背书,但简单 BSD 协议删除了这一条款。

MIT

MIT 协议可能是几大开源协议中最宽松的一个,核心条款是:

该软件及其相关文档对所有人免费,可以任意处置,包括使用,复制,修改,合并,发表,分发,再授权,或者销售。唯一的限制是,软件中必须包含上述版权和许可提示。

这意味着:

  • 你可以自由使用,复制,修改,可以用于自己的项目。
  • 可以免费分发或用来盈利。
  • 唯一的限制是必须包含许可声明。

MIT 协议是所有开源许可中最宽松的一个,除了必须包含许可声明外,再无任何限制。

Apache

Apache 协议 2.0 和别的开源协议相比,除了为用户提供版权许可之外,还有专利许可,对于那些涉及专利内容的开发者而言,该协议最适合(这里有一篇文章阐述这个问题)。

Apache 协议还有以下需要说明的地方:

  • 永久权利
    一旦被授权,永久拥有。
  • 全球范围的权利
    在一个国家获得授权,适用于所有国家。假如你在美国,许可是从印度授权的,也没有问题。
  • 授权免费,且无版税
    前期,后期均无任何费用。
  • 授权无排他性
    任何人都可以获得授权
  • 授权不可撤消
    一旦获得授权,没有任何人可以取消。比如,你基于该产品代码开发了衍生产品,你不用担心会在某一天被禁止使用该代码。

分发代码方面包含一些要求,主要是,要在声明中对参与开发的人给予认可并包含一份许可协议原文。

Creative Commons

Creative Commons (CC) 并非严格意义上的开源许可,它主要用于设计。Creative Commons 有多种协议,每种都提供了相应授权模式,CC 协议主要包含 4 种基本形式:

  • 署名权
    必须为原始作者署名,然后才可以修改,分发,复制。
  • 保持一致
    作品同样可以在 CC 协议基础上修改,分发,复制。
  • 非商业
    作品可以被修改,分发,复制,但不能用于商业用途。但商业的定义有些模糊,比如,有的人认为非商业用途指的是不能销售,有的认为是甚至不能放在有广告的网站,也有人认为非商业的意思是非盈利。
  • 不能衍生新作品
    你可以复制,分发,但不能修改,也不能以此为基础创作自己的作品。

这些许可形式可以结合起来用,其中最严厉的组合是“署名,非商用,不能衍生新作品”,意味着,你可以分享作品,但不能改动或以此盈利,而且必须为原作者署名。在这种许可模式下,原始作者对作品还拥有完全的控制权,而最宽松的组合是“署名”,意味着,只要为原始作者署名了,就可以自由处置。

转自http://www.comsharp.com/GetKnowledge/zh-CN/TeamBlogTimothyPage_K631.aspx

开源的神话

Label作者: its|发布: 2008-11-24 (8:51)|阅读: 9639|评论: 0|静态地址|内容源码

开源如今炙手可热,大牌的如 Linux, PHP, Firefox 自不待言,小规模的开源项目更是多如牛毛,SourceForge 上总的开源项目超过30万个,其中最热门的10个开源项目总的下载次数已经接近13亿,在商业软件看来,这是一个令人伤心的数字。

SourceForge 上最热门的10个开源项目的总下载量

eMule: 462,250,797
Azureus: 274,741,181
Ares Galaxy: 178,585,507
7-Zip: 54,436,695
DC++: 53,443,443
FileZilla: 52,689,241
BitTorrent: 51,864,788
GTK+ and The GIMP installers for Windows: 51,620,427
Audacity: 50,295,070
Shareaza: 45,578,106

什么是开源

然而,什么是开源?需要指出的是,开源并不是简单的将源代码公开,这是对开源最大误解。开源的意义在于建立一个开发社区,这个开发社区在共同的代码基础上贡献自己的改进与扩展,所以,开源真正的意义不仅仅是代码的开放,更是开发团队的开放。

一个开放的开发团队,在共同的社区中,通过分工,共同完善开源项目,除了核心功能的开发,开发社区的成员还在测试,BUG 报告,项目管理,功能扩展与插件,文档,技术支持等方面贡献自己的时间。

总的来说,开源的真正意义在于社区,如果没有一个开放的开发社区,开源就失去了意义。

开源如何赢利

这是商业软件一直诟病开源项目的原因,开源项目无法通过出售使用许可获得收入,事实上,从传统意义上讲,开源没有任何可行的收入来源。然而,在一个良好的开源文化氛围中,开源仍可以获得必要的收入。

最早,开源的主要收入来源来自捐赠,比如,世界上最大的开源百科全书 WikiPedia 的主要收入来源就是捐赠,WikiPedia 一年的捐赠目标是600万美圆,这笔钱可以很好地支撑 WikiPedia 的运营。随着开源概念的深入人心,一些新的收入来源为开源项目带来更多曙光。比如,Firefox 通过将 Google 搜索定为自己的默认搜索,每年可以从 Google 获得 6600万美圆,占 Firefox 总收入的 88%。

而一些开源 CMS 系统(网站内容管理系统)  则靠建立主题与模板交易服务获得收入,在网络上,Drupal, Joomla, WordPress 主题与模板设计与交易服务多如牛毛,需要注意的是,提供这些服务的并不一定是这些开源CMS社区,任何人都可以基于这些开源 CMS 项目设计自己的主题与模板并获得收入。

商业支持也是开源项目的一个重要收入来源,开源项目在说服商业用户接受自己的时候,一个最主要的软肋是可靠性,商业用户需要获得可靠的稳定的支持,开源社区作为一个开放的社区很难提供象商业软件开发商那样的稳定服务。因此,为商业用户特殊的提供收费服务对双方都是有利的事。

中国有真正的开源项目吗?

也许有,但我并没真正看见过。根据上面的论述,开源的真正意义在于开源社区,国内有不少公司开放了自己的代码,但他们并没有形成开放的社区,开源的“开”字意味着开放,而不是公开。下面的几个例子也许很能说明问题。

VeryCD 版电驴

这个源自 eMule 的开源项目,在国内的影响力巨大,然而你千万不要以为 VeryCD eMule 多么先进,VeryCD eMule 是靠 VeryCD 网站获得大量用户的,VeryCD 是一个非常优秀的 eMule 资源站,它上面的内容非常符合国人的口味,而 VeryCD 版 eMUle 针对 VeryCD 网站做了专门优化,如果你的源主要来自国内,或者说是 VeryCD,那使用 VeryCD 版 eMule 是最好的选择。

然而 VeryCD eMule 并不是一个真正开放的开源项目,虽然它也是基于 GNU GPL 的,否则,它不可能专门针对 VeryCD 进行优化,事实上,一个不争的事实是,VeryCD 版 eMule 主要是根据 SourceForge 上的 eMule 源代码做了针对 VeryCD 的优化,离开 VeryCD, VeryCD eMule就失去了意义。

eMUle 在国内的另一个分支开发(所谓的分支开发)是 Vagaa,这是一个被国外众多 eMUle 服务器拒绝的吸血驴,Vagaa 让国内驴友蒙羞,把 Vagaa 叫做“开源软件”不仅是对开源一词的侮辱,也侮辱了软件这个词。

DeDeCMS

织梦(开源 CMS 系统,最早是技术狂人IT柏拉图一手打造,获得投资后,组建了专门的开发和运营团队。DeDeCMS 特别适合个人站长,然而我想知道的是,在 DeDeCMS 数万个人站长用户群中,真正能读懂其1%代码的人有几个,而参与 DeDeCMS 项目的非织梦人又有几个。

事实上,这么多年以来,织梦仅仅是公开了源代码,而并没有形成一个开放的生态系统,所以,DeDeCMS 的所有东西都带着织梦自己的团队的烙印,一个封闭的团队,将自己的代码公开,而这些公开的代码并无法直接为最终用户带来任何好处(因为他们根本掌握不了),又没有一个开放的社区可以在这个代码基础上提供扩展开发,所以,我们并不奇怪地看到,DeDeCMS 同时推出了商业版。

据说,帝国CMS 也即将开源,很想看到国内能建立起真正意义的开源社区。究竟如何只好拭目以待。

开源在国内为什么发展不起来

原因有三个,第一,国内不具备开源赖以生存的捐赠文化。为免费软件开发者提供捐赠,相信在国内没有任何市场,国人的捐赠意识一般限于济灾救困,单单出于对一种行为的尊重而慷慨解囊的少之又少。而求捐在很多人看来有行乞的意味,软件作者本身也并不热心。

第二,缺乏开源许可的法律意识。诸如 GPL 一类的开源协议是可以用来打官司的,相信国内的开源组织并不怎么认可。因为拿开源协议不当回事,也就无法按照真正的开源游戏规则行事,所以,才会有拿了开源代码自己修改,却不按协议将自己的修改贡献回去的事情,最终的结果,开源就象一眼井,大家都来取水,却并不关心井的命运,最终只能枯死。

第三,在国内,顾问服务是廉价的。现代的开源项目的最主要收入来源是为商业用户提供顾问式支持,国内的公司可以花大钱聘请一个法律顾问,当为自己的技术顾问支付报酬时却非常不情愿。所以,如果你的开源项目最终想通过为商业用户提供服务获得收入,需要好好评估一下,这种模式是否能养活自己。

个人的观点:

开源技术对于整个世界的计算机技术的发展,特别是对于像咱们中国这样的处于发展阶段的国家。我们更要学习国外的优秀资源,那些开放源代码的软件,我们可以先模仿人家的代码,然后自己学习后,加以消化,对我们影响最大的开源莫过于linux系统了。开放源代码给了我们很多机会,加上现在大红大紫的Ubuntu,更是让linux更接近普通的电脑使用者,我们国家该把握这个发展时机,大力推广这些linux系统,像欧洲的一些国家,已经在政府部门,学校强行推广linux了,我们国家感觉不管是从战略上,还是长远上考虑更需要推广开源技术。还有对于一些行业软件,开源未必有闭源的做的好,但是也给我们很多学习的地方,起码自己可以在他们的基础上做起,不用再从头再来,这样对我们的发展也是大大有利的。但是对与开源的企业,他们的盈利模式是个很大的问题,sun的被收购对开源又一次打击,sun曾经是开源的很重要的贡献者,从jdk开源到OpenOffice等等,我们都知道的。不过现在已经被收购了。这对于开源企业也是一个深思。开源的盈利模式一定要明确,这样才能让整个人类共享开源的盛会。对于我们也是有很大的借鉴作用。

你可能感兴趣的:(开源)