开源软件报告

开源软件报告
开源软件报告

开源软件技术及发展趋势专题分析报告

姓名:学号:

姓名:学号:

时间:

目录

一概论 (2)

二开源软件简介 (2)

2.1 开源软件 (2)

2.2 开源软件的特点 (5)

2.3 开源软件发展历程 (8)

2.4 开源软件与自由软件 (10)

图2-1 闭源、自由到开源 (12)

三开源软件核心技术理论与方法 (12)

3.1 开源之核心理念——Collective Intelligence (12)

3.2 开源软件之语言与平台 (13)

3.3 开源软件之框架和库 (16)

3.4 开源软件之服务器软件 (18)

3.5 开源软件之开发工具 (21)

3.6 开源软件之桌面应用 (23)

3.7 开源社区 (24)

四企业开发和应用开源软件现状调查 (24)

五开源软件存在问题分析及解决方案 (31)

5.1 安全问题及其解决策略 (31)

5.1.1 安全问题 (31)

5.1.2 安全问题解决策略 (32)

5.2 知识产权问题及其解决策略 (33)

5.2.1 开源许可证 (33)

5.2.2 知识产权问题 (36)

5.2.3 知识产权解决策略 (37)

六开源软件发展趋势分析 (38)

七参考资料 (48)

一概述

时至今日,开源软件早已成为软件领域不可或缺的重要组成部分。很多成功的开源软件项目如Linux、Apache、Eclipse等,由于其出色的质量和固有的开放性,被当作工业标准软件,广泛地应用于各个领域,产生了巨大的社会价值。更为重要的是,开源运动宣扬了自由、平等、协作的精神,实践了信息和知识共享的理念,并且实现了知识产权保护和分享之间的微妙平衡。从这个意义上来说,开源软件是人类对于理想和现实权衡之下的一个美妙产物,这也是开源运动能够如此成功的关键原因。在详细探讨和研究开源软件相关的各类问题之前,应当对开源软件的概念有一个基本的认识和理解。人们通常把能够自由地获取、修改和重新发布源代码的软件称为开源软件。对于没有商业目的的个人使用者来说,这样简单地理解开源软件也是可以的。但是,企业用户及需要参与开源项目的开发人员,就必须对开源软件有更深刻的理解,需要认识到使用开源软件和参与开源软件开发时潜在的法律因素,这样才能尊重他人的权益并合法有效地保护自身的利益,促进事业的发展。

本文就围绕着开源软件技术展开调查,调查报告包括如下内容:

第二章包括开源软件的定义、特点、发展历程以及开源软件和自由软件的区别,通过这部分的内容,可以初步了解开源软件;

为进一步的深入学习开源软件技术,接下来的第三章讲述了开源软件核心技术理论和方法,其主要的内容包括群智和开源社区;

第四章是企业开发和应用开源软件现状调查,通过图表的方式展示开源软件在实际应用中的现状;

第五章是开源软件存在问题分析以及解决方案,本章描述的问题是安全问题和知识产权问题;

第六章是开源软件发展趋势分析,通过目前对开源软件的调查分析,我们对其将来的发展趋势进行预测分析,总结出开源软件可能的发展方向。

二开源软件简介

本章主要是有关开源软件的基本介绍。2.1节讲述开源软件的定义,该定义来自开源软件促进会;2.2节介绍开源软件的特点,本节将列举开源软件的六个主要特点;2.3节介绍开源软件发展历程,该历程主要是有关开源软件的萌芽和发展过程;2.4节介绍开源软件与自由软件的对比,主要介绍这两种软件的不同之处。通过这一章的介绍,读者能够比较深入的了解开源软件。

2.1 开源软件

开源软件促进会OSI(Open Source Initiative)对开源软件有着明确的定义,

业界公认只有符合这个定义的软件才能被称作为开放源代码软件,简称开源软件(Open Source Software)。OSI对开源软件的定义一共有十个条款,具体内容如下[1][2][1]:

1.自由再发布(Free Redistribution)

开源软件的许可证不应限制任何个人或者团体将包含该开源软件的广义产品进行销售或赠予。许可证不能要求收取任何和这种销售相关的著作权授权费或者与此有关的其他费用。

【阐述】这条标准给予人们自由地再发布开源软件的权利,不管是为了个人目的还是商业目的,都不会受限制,并且都是免费的。

2.源代码(Source Code)

开源软件的程序必须包含源代码,必须允许发布源代码及编译后的程序。如果产品中没有包含源代码,那么必须提供一个公开的获取源代码的方式。这种方式可以收取的费用不能超过对源代码进行一次复制所需要的合理成本(例如制作一张CD的成本),最好是可以通过互联网提供免费的下载。源代码的形式必须易于程序员修改,不能故意对源代码进行模糊处理,也不得以预处理器或者转译器输出的中间结果的形式提供源代码。

【阐述】这条标准保证了程序源代码的公开性,同时确保源代码可以比较容易被修改,这样大大提高了开源软件的接受度和生命力。

3.派生作品(Derived Works)

开源软件的许可证必须允许修改和派生作品,并且允许使用原有软件的许可条款发布它们。

【阐述】派生作品主要是指基于原有软件代码开发的新作品。派生作品可能会改变软件原有的功能,但不一定会改写原有代码。允许修改和派生工作,可以促进开源软件的不断改进。

4.作者源代码的完整性(Integrity of The Autho r’Source Code)

只有在允许补丁文件盒原有源代码一起发布的情况下,开源软件的许可证才可以限制源代码以修改过的形式发布。许可证必须明确地允许发布由修改后的源代码构建出的软件。许可证可以要求派生作品使用不同于原有软件的名称或者版本号,以区别于原有软件。

【阐述】这条规则提供了一种保护原有软件完整性的可能性。作者可以通过限制源代码以修改过的形式发布,在一定程度上保证原有软件不会被无限地篡改,失去软件原来的目的和功能。同时,确保人们可以使用非官方的补丁,在提供便

利性的同时,又使这些补丁区别于原有软件。

5.不能歧视任何个人或团体(No Discrimination Against Persons or Groups)

开源软件的许可证不能歧视任何个人或者团体。

【阐述】这条规则使得开源软件的参与和受益群体最大化。

6.不能歧视任何领域(No Discrimination Against Fields of Endeavor)

开源软件的许可证不能限制任何人把程序使用于某个领域,比如,不得规定软件不能用于商业目的或者应用于遗传研究。

【阐述】这条规则提供了把开源软件应用于商业用途的可能性。

7.许可证的发布(Distribution of License)

程序所带的权利必须适用于所有接收方,而这些接收方必须执行附加的许可证。

【阐述】这条规则避免了开源软件许可证被附加条款覆盖从而并没有真正开源,例如保密协议这样的附加条款。

8.许可证不能只针对某个产品(License Must Not Be Specific to a Product)

程序所带的权利与程序是否成为特定软件的一部分无关。如果某程序从特定软件中抽取而来并遵守程序本身的许可证,那么该程序的所有接收方获得的权利与原特定软件所赋予的对应部分的权利相同。

【阐述】这条规则确保开源软件不会被局限在某个产品中。

9.许可证不能约束其他软件(License Must Not Restrict Other Software)

开源软件的许可证不能对同该许可证下的软件一起发布的其他软件有任何约束。例如,开源软件的许可证不能要求在同一媒介下发布的其他程序也必须是开源的。

【阐述】开源软件的许可证只能约束自己,不能影响商业许可证,这样可以确保开源软件和其他商业软件共存共通,互相协作。

10.许可证必须独立于技术(License Must Be Technology-Neutral)

许可证的条款不应指定任何特定的技术或接口。

【阐述】这条规则避免了许可证的应用因为某个技术原因而受到阻挠。

通过这十条条款,可以清楚地看到,OSI实际上是在定义一种软件许可证。定义中的每一个条款,都是在说明软件许可证应该如何规范开源软件的行为,包括软件的使用、发布、复制和派生等整个过程。如果一个软件的许可证符合这个定义并通过了开源软件促进会的认证,那么该软件就是开放源代码软件,反之则不是。开源软件的作者可以从已通过认证的开源软件许可证列表中选一个作为自己的许可证,或是联系开源软件促进会为自己制定的软件许可证进行认证。

2.2 开源软件的特点

⑴高质量

很多人认为免费是使用开源最大的好处,但其实他们忽略了一个更重要的东西---质量。如果一个软件无法帮助用户解决问题,就算白送,那也毫无用处,甚至会带来损失。很多流行的开源软件如今能够被大众接受,恰恰印证了其质量与专有软件相比已经处于伯仲之间。当然,优秀的专有软件层出不穷,商业公司大量资金和人力的投入在很大程度上保证了专有软件的质量。但开源软件以其独特的创新开发模式,如果运作得当,其质量也可以达到相当高的水准。而这一点却是很多用户误解的地方,他们总觉得大部分的开源软件是“业余选手”,质量不如专有软件,事实并非如此。开源软件在质量方面有如下优势:

首先,开源社区中的开发人员的素质毫不逊色于专有软件的开发人员。很多成功的社区中都有若干顶尖的技术领袖。Linux Torvalds、Richard Stallman、Eric Raymond这些在业界如雷贯耳的名字都是开源社区中的中坚力量。况且,随着开源商业模式的成熟,开源社区的成分与10年前相比已经发生了本质的变化越来越多的商业公司直接加入到众多开源软件的开发中并成为主导力量。有些商业公司是以赞助商的形式支持一个开源社区,有些则直接纸牌自己的员工加入到开源开发中。商业公司的加盟使得众多开源项目无论在资金还是人力上都有了更稳定的支持,Eclipse基金会和Apache软件基金会的大部分软件即是最好的例子,即使以非商业友好的GPL许可证发行的Linux内核,其在2005年到2008年四月的三年来更新的代码70%以上来自商业公司。

其次,开源社区的文化推崇高质量的代码,一切让代码来说话,优者生存。这是开发人员在社区里建立威信和影响力的最基本途径。由于开发活动完全透明,任何人所做的任何改动都能很轻易地追溯,因此开源开发人员对自己贡献的代码会有更高的要求,毕竟谁都希望自己的代码能够经得起众人的眼光和时间的考验;另一方面,如果有开发人员对当前的代码不满意,那么他就可以改进代码或者重新实现,这使得开源项目的代码能够不断汲取众人的集体智慧。相对于商业软件常常追求添加吸引眼球的新特性和新功能,开源社区通常更崇尚代码的精简、性能、稳定性和可维护性,而这些都是软件质量的根本,特别是对于服务器端软件而言。

再次,开源软件的基本开发流程之一是任何重要的技术决策都需要通过社区的表决,而提交给开源项目的代码,特别是那些比较关键的代码,也通常需要经过多人的评审通过后才会被接纳,然后由对代码库具有写权限的社区成员(committer)将代码提交到代码库中。虽然一个开源社区里不可能人人都是高手,但有了这样的规则,最后总是有高手把关,从而在流程上保证了代码的质量。Apache基金会就专门定义了一套这样的规则,其中最令人印象深刻的一条是:如果某次表决有一位成员给出否定决票,那么被表决的动议(无论是一个提案还

是一段代码)就将被否决了。

第四,开源开发过程开创并使用了敏捷开发中所提倡的一些最佳实践,例如频繁的发布、与用户的互动等。开源软件一般每隔几个月就会发布一个新的版本,并且用户也可以拿到包含所有最新的改动的仍处于开发中的未发布版本。通过及时地把改进后的版本交给用户使用,然后通过社区的邮件列表、论坛或者缺陷跟踪系统收集用户的反馈,再改进,再发行,从而与用户形成迅速有效的互动,使得开源软件更好更快地满足用户的需求。

第五,一个成功的开源软件通常拥有一个庞大的稳定用户社区,大量用户特别是一些乐于尝试新版本和新功能的核心用户,能够帮助检验开源软件的质量,从而弥补开源软件在测试上的薄弱。而且,这些核心用户中的一部分人本身就是技术人员,有时候会自己修改遇到的软件中的缺陷并将补丁提交给开源社区。很多人都会把开源软件视为社会的公共财富,所以也更愿意为此做自己力所能及的事情,并且以此为傲。而对于商业软件,人们就很难有这样的归属感。

另外,开源开发一般没有时间上的压力,所以不会因为要赶进度而牺牲质量,推迟发布也无伤大雅;而商业软件恰恰相反。有些开源开发人员纯粹是出于个人兴趣或者价值观而参与开源开发,其动机更加纯正,因此对代码质量也更加负责。最后值得一提的是,有些开源软件前身本来就是专业软件,比如Firefox,所以质量更是不在话下。

事实胜于雄辩。根据2008年底著名IT调查公司Garter的调查,目前已经有85%公司在使用开源软件,剩下的15%也将在一年内开始使用,其中不乏用于核心应用的案例---特别是在新启动的项目中。而Palamida公司在2008年底的一次调查中同样显示,有将近63%的被调查者相信开源软件的质量与商业软件的质量相同或相近。这些数据有力地说明很多开源软件已经足够成熟,可以用于关键业务。

⑵免费(零许可证费)

开源软件不仅质量高,而且是免费。所有开源软件确实都不要用户支付许可证费用的,这也是其最容易吸引人的地方。没有许可证费用,用户可以在不用向软件的作者支付任何费用的情况下安装和使用开源软件,这大大降低了进入门槛。用户可以自由地获得一个软件的复制并进行完整的评估。对于公司用户来讲,也就免去了需要事先向领导或者老板申请预算的烦琐,更少了购买和管理软件许可证的麻烦,再不用担心保留发票或者授权到期问题,这种效率上的节省对于大型企业来讲是非常有价值的。因此,很多新启动的项目都会考虑使用开源软件。前面提到的Gartner的调查结果也印证了这一点。但节省了许可证费用并不意味着就没有任何费用了。

除了免费使用,用户还可以在遵守许可证条款的前提下进行衍生品开发和重新发布开源软件。这就允许商业公司将开源软件----无论是修改过的还是原封不动的----打包在自己的产品中进行发布。通过重用现成的免费开源组件,这些公司可以大大节省开发成本。需要强调的是,重新发布一定要遵守被发布的开源软件的许可证。有些开源许可证限制很少,例如Apache许可证,但有些则有很严格的限制,例如GPL许可证。

免费是硬道理,这是绝大多数商业软件无法比拟的。在开源软件蓬勃发展的今天,几乎每款流行的商业软件都有可替代它的开源软件,是时候抛弃盗版而使用开源了,一方面摆脱侵犯他人知识产权的恶名,另一方面也可以更多地支持开

源软件。

⑶开放和自由

开源软件通常是符合开放标准的,从而具有良好的可互操作性,这就使得用户不会被某家商业公司的专有标准束缚。事实上,很多开源软件本身就是一些开放标准的参考实现(reference implementation),例如Apache Tomcat一度是Java Servlet和Java Server Page规范的参考实现,而Eclipse Equinox是OSGI部分标准的参考实现。著名的开源办公套件OpenOffice能吸引部分用户的重要原因就是其对开放标准Open Document Format的支持,使得用户能够以公开的格式来保存自己的文档从而获得完全意义上的所有权。正是在OpenOffice和ODF标准的压力下,微软也将其OOXML文档格式公布于众并大力推广使其成为开放标准。

开源软件通常也不会特别依赖于某一家供应商的软件,从而让用户自己可以自由地选择他需软件来配合该开源软件的使用,避免被锁定在一家供应商上面。

⑷灵活可定制

开源软件允许用户对其进行定制和扩展,更灵活体贴地适应用户的需求。因为开源许可证允许用户对源代码进行修改,有技术能力的用户完全可以为自己对某个开源软件进行量身定制,去掉一些自己不想要的功能,或进行一些局部的改动或者优化,甚至进行一些扩展。以Linux操作系统为例,用户就可以通过修改各种参数来编译构建一个个性化的版本。可以说,开源软件为用户提供无限的可能。虽然很多商业软件也允许定制化的安装,但那毕竟是有限的定制;如果要做个性化,那么即使很小的一个改动也会需要用户支付大笔费用。

开源软件还使得用户能够自己动手修复软件中的缺陷,因为代码就在用户手中。用户如果在使用过程中遇到问题,可以自己进行调试、修改然后重新编译构建,生成修正后的版本。这在商业软件通常是不可能的,用户一般需要等待一个较长的周期才能拿到问题的解决方案。

但正如很多人指出的那样,开源软件的灵活可定制扩展这个优点对有技术能力的用户才有意义,特别是那些在开源软件上进行二次开发的商业用户,而对于普通大众,恐怕还是只能享用现成的版本。

⑸公开透明

开源软件公开自己的源代码,无疑做到了完全彻底的公开透明,使得对代码的审计成为可能。如果需要,用户可以通过阅读源代码清楚地了解某个开源软件的工作原理和实现方法。这对设计国家或商业安全领域很有意义。很多政府组织青睐开源软件特别是Linux操作系统,部分原因可能是出于对国家安全的考虑。而使用商业软件就只能相信供应商的声明了,供应商说没有后门程序,用户其实也无从验证。一个有趣的例子是Borland公司当年开放其产品Interbase的源代码后,有人就发现其代码中就留有一个后门账户。这样的事情在开源软件中很难做到。在开源的压力下,一些商业公司也开始以协议的方式允许用户特别是一些政府用户来阅读其产品的源代码,以获得更多的信任,微软公司就是其中一例。

⑹良好的学习平台

由于代码的高质量及其开发的透明性,开源软件为广大用户提供了一个很好

的学习和交流的平台,特别是对于在源代码基础上进行修改或者扩展的用户。通过阅读邮件或论坛讨论、文档以及源代码,用户们可以理解开源软件的架构及设计中的要义,观察开发的各个环节特别是一些重要技术决定的决策过程,借鉴代码中的精深微妙之处。这些对于处于软件行业发展阶段的用户,比如中国的大量开发者来讲,意义尤为重大。开源软件是一个资源金矿,更是一个知识宝库。

2.3 开源软件发展历程

从上面的历史可以了解到,开源软件的发展是伴随着信息产业一起渐进发展的。在瞬息万变的软件产业,英雄辈出,他们试图影响着软件产业向着完全商业化或是完全自由、开放化的两个针锋相对的方向上发展。

起初,在个人电脑还未流行的20世纪60年代和70年代,并没有大规模销售的商业软件,也就没有明确的所谓"开源软件"的概念。当时,特定硬件平台上的软件的使用者同时也是软件开发者。他们会对自己的软件进行一些修改来满足一些特定的需求。使用相同硬件的计算机科研人员或爱好者会形成特定的小团体,共享技术上的心得和自己编写、修改的程序。20世纪70年代末,大多数软件都是随着购买的硬件而得到的,单独销售的软件并不常见。用户得到软件后修改软件、共享修改后的软件成为当时使用软件的主要方式。

但是软件的历史并没有如此一成不变地发展下去。1976年3月2日,比尔·盖茨在"给玩家的公开信"(An Open Letter to Hobbyists)中表达了对使用微软的Altair BASIC软件但不支付费用的用户的强烈不满。他在信中提到,大多数爱好者之间通过相互共享和复制来使用各种软件,并不在乎软件开发者的利益,但是好的软件必须得到应有的收入来保证质量。虽然他并没有对其他的软件共享进行特定的评论,但大多数人相信,私有的商业软件模式在此后的盛行和这起事件有着紧密的联系。不少软件开发者和公司看到了微软的商业化行为带来的利益,开始效仿开发和出售并不开放源代码的软件。微软引领的软件商业化潮流导致了闭源软件的流行。

与此同时,业界中有人对于软件过于商业化的趋势并不认同,传奇性的"最后的黑客"Richard Stallman便是其中的代表性人物。他出于对软件商业化所带来的种种弊端和对软件封闭性的痛恨,以及对自由的黑客文化的崇尚,在1985年发表了著名的GNU宣言,并成立了非营利性组织--自由软件基金会,旨在推广他关于自由地使用、修改和发布软件的自由软件运动,轰轰烈烈的开源运动从此兴起了。自由软件基金会初期的主要活动是编写GNU项目中的软件,打造一个完全"自由"的软件系统,替代已有的商业软件。20世纪90年代中期以后,基金会主要致力于支持自由软件运动和社区的法律和框架性工作。以Richard Stallman 为首的自由软件运动倡导者积极地推广自由软件的理念,试图改变商业软件一统天下的局面。

然而,像GPL这样的自由软件许可证具有传染性,所以自由软件运动并未得到大多数商业软件公司的支持。但是,开放、分享的思想却越来越深入人心,并有众多开发者和用户为其摇旗呐喊,使得整个业界也逐渐认识到开放源代码的重要性及其好处,开始探索能更好地平衡开放理念和商业利益的新模式。1998年,"开源软件"这一新的概念开始广泛流行起来。当时正值轰动一时的Netscape

浏览器的源代码被开放,有人用"Open source"这个短语来描述这一事件,但起初大多数用户、开发者和公司对这个新概念还是一知半解。1998年4月,著名出版商Tim O'Relly召集了一次社区会议,与会人员多是当时开源社区的中流砥柱,包括Linux社区的Linus Torvalds、Perl社区的Larry Wall、Apache社区的Brian Behlendorf、Sendmail社区的Eric Allman、Python社区的Guido van Rossum、GNU 社区的Michael Tiemann、BIND社区的Paul Vixie和Netscape的Jamie Zawinski 等。这次具有里程碑意义的会议后来被称为开源峰会(Open source summit)。会议讨论了开源软件的概念和定义,以及当时开源软件在业界的使用情况和发展方向,并最终决定使用Eric Raymond提议的Open source software一词来统一命名如今OSI所定义的开放源代码软件。会议当晚还举行了一个新闻发布会向记者们分享了会议成果。

但Richard Stallman并不认同开源软件,仍然觉得自由软件更能够体现他所倡导的自由使用、修改、共享、发布软件的思想:https://www.360docs.net/doc/ca12828930.html,/philosophy/open-source-misses-the-point.html。无论如何,这次开源软件峰会标志着开源运动的开始,它的理念比纯粹的自由软件运动更宽容,因此也受到了更多的支持。从此之后,越来越多的人知道了开源软件,而越来越多的开发人员、用户和商业公司也加入到了为开源软件添砖加瓦的运动之中。开源运动在业界大行其道。

2.4 开源软件与自由软件

经常有人会将开源软件和自由软件混为一谈,也常常会有人将开源软件和免费软件两个概念向混淆。要区分开源软件与自由软件,应首先从定义入手。开源软件是指在软件发行的时候附上软件的源代码,并授权允许用户更改、自由再散布、衍生著作,开源并不抵制商业收费。免费软件就是免费提供给用户使用的软件,但其免费的同时,通常也会有其他的限制,如其源代码不一定会公开,使用者对源代码也没有使用、复制、研究、修改和再散布的权利。

自由软件是一项思想运动,强调用户拥有对软件使用的自由,即用户可以自由地运行、拷贝、修改、再发行软件。这里的自由,并不是价格免费,而是与价格无关的使用权处置权上的自由。首先,先是将免费软件与开源和自由软件区分开来。免费软件,只是免费提供给用户使用,并不包含公开其源码的内容。提供情况下,免费软件免费的目的无非出于以下三个:当用户多了,免费软件再采取一些其他的增值服务等等手段来收费。

同样,开源软件,只是在软件发行的时候,附上软件的源代码,并且授权允许用户更改、自由再散布、衍生著作。商业软件并不抵制商业收费,所以,开源软件不一定就是免费的(当然,通常都是),而且,开源的目的,并不是做慈善,而是通过更多人的参与,完善软件的缺陷。

其次,是开源软件与自由软件的区别。“自由软件运动”是一项倡导软件这种知识产品应该免费共享的社会运动,它主要是从社会伦理学,道德的高度,强调我们每个人都有自由使用软件的权利。这种权利不应该被软件私有所破坏。

1984年,Richard Stallman启动了GNU工程。简而言之,GNU工程的目标就是让人不必为软件付钱。Stallman发起GNU工程实质上是因为他觉得构成运行程序的知识(计算机产业称之为Source code,即“源代码”)应该是自由的。否则按照Stallman的推理,则会出现由极少数强力任务统治计算工业的局面。

专有商业软件(proprietary commercial software,或者简称“专有软件”)的卖主看到的是工业界必须对商业秘密守口如瓶,而Stallman看到的则是必须被共享和发布的科学知识。GNU工程(GNU project)和自由软件基金会(Free Software Foundation,FSF启动GNU工程的组织)的根本原则是:源代码是计算机科学进一步深入发展的基础,而且对于持续的革新而言,可以自由地得到的源代码是必要的。

Stallman担心社会对于自由软件会做出的不同的反应。对于软件而言,仅仅让源代码进入公共领域,将会明显诱使商业公司为了其自身利益而选择代码牟利。为了应对这种威胁,Stallman提出使用GNU通用公共许可证,即GPL。GPL规定,用户可以随意拷贝和散发根据GPL许可证授权的软件,同时不能阻止他人做同样的事情。即用户既不能向他人就软件本身收费,也不能通过进一步的授权来限制他们这样做。另外,GPL还要求GPL作品的衍生作品也不许遵守GPL条款的约束。

Stallman所极力宣扬的是软件背后的自由,而非免费。这条原则导致许多软件公司公然地抵制自由软件,他们的目的是为了在市场上赚钱,而不是为了给用户增加知识。[9]

以Stallman为代表的自由软件运动者反对软件私有,首先反对的就是软件的知识产权、版权,所以自由软件运动明确反对以申请专利的形式将软件产品据为私有。为了表达对Copyright(知识产权)的憎恶,Stallman甚至生造了一个单词Copyleft。

自由软件运动有点太极端、太理想化了,生活在这么一个商品化社会,要完全如此的反商业,还是很有难度的。

于是,发展到了后面,一种“自由软件”和“商业软件”之间的折中------“开源软件”就此诞生了,它既继承了“自由软件”所提倡的知识共享的理念,同时又允许人们以专利的形式从知识产品中谋取利益,从而保护了人们生产、创造知识产品的积极性。

所以,我们可以认为:自由软件是开源软件的一个子集,自由软件的定义比开源软件的更加严格,自由软件是一种道德精神层面的维护用户使用的自由。

开源软件和自由软件一样,具备:一是可以免费使用;二是公布源代码的主要特征,所以在不刻意追究微小差异的情况下,可以认为开源软件和自由软件是两个等价的概念。

闭源软件、自由软件、商业软件和开源软件之间的关系可以通过下图进行简要的说明:

图2-1 闭源、自由到开源

三 开源软件核心技术理论与方法

开源软件开发活动以互联网那个软件社区为平台,其开发过程和制品数据对外开放,允许不同类型的开发者参与其中,能够有效汇聚来自互联网的创意和贡献。

3.1 开源之核心理念——Collective Intelligence

Collective Intelligence,可翻译为群体智慧、集体智慧、集体智能等。有关的定义可谓仁者见仁智者见智: George P r 将群体智慧定义为通过分化与整合、竞争与协作的创新机制,人类社区朝更高的秩序复杂性以及和谐方向演化的能力; [3] 维基百科将群体智慧定义为: 群体智慧是一种共享的或者群体的智能, 它是从许多个体的合作与竞争中涌现出来的。总结来说,群体智慧是由组成群体的个人贡献出自己的知识、技能、经验,通过个体间的协作、灵感互动、相互启迪等共享机制,产生的优于任何个人的智慧。群体因为其人数众多,比某一专家视角更为丰富, 覆盖面更广。当社会发展越来越依赖知识时, 这种群体智慧就变得越来越重要, 目前群体智慧已经成为知识社会中竞争、创造和发展的重要因素。

群体智慧的主要特征有:多样性,群体里的每个人都有一些独占信息;独立性,群体内成员不会因为其他人人的意见而改变自己的意见;明主性,成员的决策行为不会受到外在压力的强迫,而整个群体的决策则是由所有成员的决策汇聚而成。

开源软件、开源社区的发展离不开群体智慧的思想。群体智慧在开源发展的闭源软件不开放源代码自由软件

开源软件

商业软件

自由思想折中软件共享开放源代码

商业用途

过程中发挥着极其重要的作用。群体智慧实现大规模的协作以解决复杂问题。群体智慧注重用户的广泛参与,充分利用群体智慧解决复杂问题。Linux的开发和利用无不见证了群体智慧的力量大规模协作充分调动和利用个体的智慧, 集思广益, 极大地提高了解决问题的效率, 降低了知识生产和创新的成本, 使得各种复杂棘手的问题能够迎刃而解。开源社区的各个成员,利用自己的知识与能力,对开源软件进行开发和利用,利用集体的智慧推动软件的更新和发展。

3.2 开源软件之语言与平台

随着软件开发理念和硬件条件的不断进步,作为开发工具的开发语言随之更新换代,从最初的汇编语言到面向过程的C语言;到日渐成熟的各种面向对象的高级语言,如C++和Java;再到当前如雨后春笋般蓬勃发展的动态脚本语言,如Ruby、Python等,各种新的开发语言层出不穷,为开发人员带来了效率上的革命。这些语言使得开发人员逐渐摆脱了硬件的束缚,让软件开发的效率获得了

3.3 开源软件之框架和库

3.4 开源软件之服务器软件

随着网络技术的不断发展,Web应用越来越流行,从一般的网站到电子商务的应用,Web应用需要部署在Web服务器软件之上,因此Web服务器软件也在Web应用不断流行的同时变得越来越全面,从只支持静态页面的Http Server,到JSP/Servlet容器Tomcat;从嵌入式服务器Jetty到功能完备的J2EE容器JBoss 和Geronimo,开源的Web服务器能满足用户千差万别的需求。除了Web服务器外,数据库服务器也是其中一个重要组成部分。

开源软件许可协议简介

开源软件许可协议简介 很多软件开发者和设计者都有将自己的软件作品以开源的形式公之于众的想法。他们希望其他人也可以分享自己的作品,使用自己的作品。开源社区之所以能蓬勃发展就是因为人们有这样的愿望。开源软件如此的丰富,任何你能想到的应用领域里都能找到它们的身影。大部分的设计人员都已经把使用开源软件和开源代码作为日常工作不可缺少的一部分了(WordPress, Drupal 和许多其它的内容管理系统都是开源软件)。 但是很多的软件作者和设计者都对各种不同的开源许可协议的内容和含义不甚了了。当你选择了某种开源许可协议时,你都放弃了哪些权力?在没有能明白各种开源协议的确切含义前,在不知道它们最适用于什么情况下时,软件开发者不可能在关于哪个许可协议最适合自己的软件的问题上做出准确的抉择。 什么是软件许可协议? 关于究竟什么是许可协议的问题上有很多事实而非的说法。当你给软件附上许可证时,意味着你将保留对软件的所有权利。你将对你的作品拥有原创版权(或者是专利权,如果你申请到了)。许可协议用来授权其他人具有某种使用你的作品的权利。 依靠许可协议将你的作品对外开源或者对你的作品的各个方面逐一进行授权,是一个不错的方法。一旦对外开源,你将失去所有对你的作品的版权,别人也没有义务将你标注为作品的原创者或捐献者。而我说的后一种情况里,估计你需要从设计和开发的工作中抽出更多的时间来处理遇到的各种侵权问题。 开源许可协议使人们免去了研究那些专业的许可条款的麻烦,使人们更方便的对开源项目贡献出自己的代码。而且它还能保护你作为作品的原创作者,确保你至少拥有由于贡献参与而带来的署名荣誉。它还能用来阻止其他人企图声明对你的作品拥有所有权的行为。 GNU General Public License 通用公共许可协议 GNU General Public Licence 通用公共许可协议 (GPL) 可以说是在开源项目中使用最广泛的一种协议来。 GPL 对开发开源软件的开发者们在权利上进行了周详的认可和保障。本质上讲,它允许用户对软件进行合法的拷贝,传播和修改。这意味着你可以: ?随意复制。 把它拷贝到你自己的服务器上、你的客户的服务器上、你自己的电脑上,基本上任 何你能想到的地方。对你拷贝的数量也没有任何限制。(译者按:中国人用盗版用 惯了,估计对这点会很不以为然。) ?随意传播。 在你的网站上做一个下载链接进行下载。拷贝到你的移动硬盘里送人。把原代码打 印出来,站在屋顶散发(最好别这样做,会浪费纸,而且影响环境清洁)。

开源高手推荐十大最流行开源软件

对于开源软件来说,相信每个人心中都会有自己的TOP10,尤其是那些开源软件拥趸者眼中的TOP10,可能会与我们所列的TOP10有些不同。不过,这是经过全球很多开源社区高手共同讨论的结果,我们觉得这个版本的TOP10是我们所能做到的最公正、最准确的了。当然如果你不同意这样的TOP10,没关系,尽管保留你心中的TOP10。 1 Linux操作系统 Linux是一个众所周知的操作系统,有关它的介绍甚至是详细的分析讲解可以用数不胜数来形容,在此我们就不赘述了,用简短的语言给大家介绍一下Linux的历史吧。 Linux首先作为一个操作系统是由芬兰赫尔辛基大学的年轻学生Linus Torvalds编写的。起初,Linus 对Minix(一个小型的Unix系统)非常感兴趣,因此他决定开发一个优于Minix的系统。Linus从1991年开始直到1994年开发出了Linux Kernel 1.0版,它是在GNU General Public License(GPL)的许可下开发出来的,因此源代码可以被任何个人自由地使用。而Linux就是基于这个内核开发出来的,现如今世界上有成百上千的公司和更多数量的个人基于这个内核开发出了自己的操作系统。 除了免费使用和开源以外,Linux兼具功能强大和易于移植的优点,这使得它成为除Unix和微软Windows操作系统之外的另一重要选择。IBM、HP以及其他计算机领域的大企业们纷纷使用了Linux并支持Linux的再开发。在Linux诞生20年的时候,就已经作为服务器平台被世界各地广泛地使用了,而作为家用和办公操作系统的使用数量也在不断增加。同时,Linux在嵌入式系统中也大有作为,涌现出了一大批以其为系统的应用设备和仪器。 在上世纪90年代的大部分时间里,学者们普遍没有认识到Linux的潜在意义,错误地认为它不过是一个计算机爱好者的一个小设计,根本不适合大众的计算机应用。而随着诸如KDE、GNOME、OpenOffice 和Mozilla web browser(这些不过是开源中的很少一部分)的开发,现如今已经有大量的应用软件可以方便地在Linux上使用,即使你对计算机了解甚少。 在64位大行其道的今天,Linux在64位处理器上已经出现了很多版本,甚至于Linux已经开始作为新计算机上的标准操作系统,全世界对于Linux的认可在逐步深入。 编辑点评: 可以说,是开源给了Linux强大的生命力,而Linux也当之无愧地成为最有影响力的开源软件。 2 Mozilla Firefox浏览器 Mozilla Firefox(中文名为火狐)是一个免费的开源图形交互平台网络浏览器,它是由Mozilla公司以及很多志愿者共同开发的。Firefox包括了完整的弹出模块、标签浏览和即时书签功能,支持开放的标准,还为插件提供了扩展机制。虽然可能其他浏览器也拥有同样的特性,但Firefox是第一个包括以上所有特性并得到了广泛使用的开源浏览器。 其实,Mozilla并非传统的软件公司,而是一个全球性的公共服务组织,其致力于提高人们在因特网上体验。Mozilla的技术和产品全部属于非盈利组织Mozilla Foundation,Mozilla公司独特的经营模式使得其能够获得足够的财政支持,并在增加了竞争力的同时还激发了公众的创新精神。

Linux 开源协议

Linux 开源协议 现今存在的开源协议很多,而经过Open Source Initiative组织通过批准的开源协议目前有58种(https://www.360docs.net/doc/ca12828930.html,/licenses /alphabetical)。常见的开源协议如BSD、GPL、LGPL和MIT等都是OSI批准的协议。如果要开源自己的代码,最好也是选择这些被批准的开源协议。 这里介绍四种最常用的开源协议及它们的适用范围,供那些准备开源或者使用开源产品的读者参考。 1.BSD开源协议(original BSD license、FreeBSD license、Original BSD license)BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以“为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。但“为所欲为”的前提当你发布使用了BSD协议的代码,或则以BSD 协议代码为基础做二次开发自己的产品时,需要满足三个条件: ●如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 ●如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来 代码中的BSD协议。 ●不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 BSD代码鼓励代码共享,但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码,也允许使用或在BSD代码上开发商业软件发布和销售,因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD 协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。2.Apache Licence 2.0 Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD 类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和BSD类似: ●需要给代码的用户一份Apache Licence。 ●如果你修改了代码,需要再被修改的文件中说明。 ●在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协议,商标, 专利声明和其他原来作者规定需要包含的说明。 ●如果再发布的产品中包含一个Notice文件,则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可,但不可以表现为对Apache Licence构成 更改。 Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。 3.GPL(GNU General Public License) 大家很熟悉的Linux就是采用了GPL。GPL协议和BSD,Apache Licence等鼓

五个开源软件解决方案

计算机世界/2006年/10月/9日/第B15版 开源软件?方案评析 《计算机世界》方案评析实验室推荐 五个开源软件解决方案 在此次征集的开源软件解决方案中,经过组织专家评选,《计算机世界》方案评析实验室推荐了5个开源软件解决方案。本报在此摘登其内容概要,有兴趣的读者可登录计世网(https://www.360docs.net/doc/ca12828930.html,)查询方案全文。 开源软件解决方案 邮区中心局生产作业系统是全国邮政综合网非常重要的应用系统之一,红旗软件为其搭建了一个高效、稳定、安全的系统平台。 中科红旗 搭建邮区中心局作业系统 方案背景 邮区中心局生产作业系统是邮政综合网系统的一个重要组成部分,按照邮政生产的四大基本环节(收寄—处理—运输—投递)划分,邮区中心局主要负责邮件的处理和运输任务,它是一个邮区的邮件处理中心。 邮区中心局生产作业系统不仅要完成一个邮区中心局内邮政生产作业系统的计算机数字化、自动化和信息化的生产运作和管理,更要以此为基础构造一个全国性统一的邮政生产作业网络系统。因此该系统不只是在邮区中心局内的一个生产作业系统,更是作为全国邮区中心局间的邮件运输、交接、生产作业、业务查询、信息交换等系统的有机组成部分,承担着对局站间的物流和信息流处理的重要职责。 邮区中心局生产作业系统作为全国邮政综合网非常重要的应用系统之一,为更好地服务于目前及将来的业务需求,应尽量利用现有资源,该系统的设计、开发、实施、运行应遵循实用性、开放性、综合性、统一性以及安全性等原则。 部署实施过程 在中心机房采用了Red Flag DC Server作为操作系统,采用Red Flag HA Server对数据库及应用做系统热备份; 在生产车间采用Red Flag DC Server作操作系统。 ●生产中心 生产中心是邮区中心局生产作业系统的数据中心,在此设置枢纽服务器,存储管理邮区中心局生产作业系统的生产数据,同时还是邮区中心局内和综合网其他系统的数据交换枢纽。生产中心服务器系统分为数据库服务器和应用服务器两部分。 数据库服务器 数据库服务器是整个业务系统的核心,采用 Oracle作为数据库管理平台,数据库服务分为生产数据库和历史数据库两个实例,为了保证其7x24小时不间断地提供服务,采用两台IBM xSeries 255运行Red Flag DC Server操作系统,通过红旗高可用(HA)集群软件组成高可用系统。 应用服务器和Web服务器 邮区中心局生产作业系统的应用服务器采用Tuxedo作为中间件平台的生产作业应用系统,而对于历史数据系统采用的是在Weblogic系统上的B/S模式的数据管理及查询系统,应用服务器及Web服务器系统同样要确保其7x24小时不间断提供服务,这就要求系统同样具有极高的可靠

开源软件介绍

统计机器翻译开源软件介绍 1990年代初IBM 公司的Brown 等人提出了5个模型来刻画统计机器翻译,取得了不错的效果,但是在此之后很长一段时间内都没有被大家认可和接受,原因是他们的模型非常复杂,难以理解和实现。直到1999年,一些研究人员齐聚约翰霍普金斯大学(JHU)开办了一次讨论班,大家共同合作,重复了IBM 的实验,并在讨论班结束时发布了一个开源软件包Egypt,才使得IBM的模型被广泛研究和使用。 1. 第一个开源的统计机器翻译工具包Egypt 它包括四个模块: Whittle :语料库预处理模块; GIZA :用于从句子对齐的双语语料库中训练词语对齐; Cairo :词语对齐的可视化工具; Decoder:解码器,即用来执行具体的翻译过程模块,这一模块没有开放源码。 随着技术的快速发展,Egypt中很多方法现在已经过时了,然而, 其中用于训练词语对齐的模块GIZA 现在仍然被广泛使用,利用它能够非常方便地从大规模的双语文本中获取统计知识。 现在大家使用的是它的改进版本GIZA++,GIZA++实现了IBM 公司提出的5 个模型,其主要思想是利用EM 算法对双语语料库迭代训练,由句子对齐得到词语对齐。 以汉英翻译为例,假设我们有如下的语料库: 汉谄…已经勁「诃诰切兮」: 新华社it京二月+-0 m 斷隼社垃靜_月二日电记君先珍}

英诰: Xinnua News Agency . Be屮ng T February 12 , by wire Xlrhua News Agency , Lhasa P February 2 . (reporter Zhen Yang ) 这轉亍文件屮时应仃的汎诸和英诰足圧为儒枠的S ifiidGlZA++训瓠40冋以得到单词之詞的邮神骷牢. 低如“芾丰計”觀洋力-Xinhua"的概率AlP (Xinhua儲华利* =0.8, 同时.虫冊幷了旬F之阿小词的时应兀系 {祢之为词诒时齐h倒咖: 新电社北玄二月 +二日电 Xinhua News Agency , Buijing , February 12 , by wire 这一过程完全由计算机自动进行,不用人工干预,节省了很多人 力。而且GIZA是独立于语言的,能够对任何两种语言进行训练,这也是统计机器翻译的优点之一。现在几乎所有的统计机器翻译系统都利用这一工具进行词语对齐的训练。 2. 语言模型训练工具----SRILM 语言模型被广泛的应用于自然语言处理的各个领域,来衡量某种 语言中一个句子符合语法的程度。 语言模型实际上是一种概率分布,它给出了一种语言中所有可能的句子出现的概率。在它看来,一种语言中,任何可能的单词排列都是可能被接受的句子,只是被接受的概率不同。在统计机器翻译中,根据从语料库中获取的知识(例如单词的翻译概率等),一句话可能有很多译文。有些符合语法和人们的表达习惯,有些则可能不符合语法。语言模型赋予这些句子不同的概率,用以选择最优的译文。 SRILM 是一个建立和使用统计语言模型的开源工具包,从1995 年开始由SRI 口语技术与研究实验室(SRI Speech Technology and Research Laboratory开发,现在仍然不断推出新版本,被广泛的应用于语音识别、机器翻

恒拓开源:以开源软件开发为主业 运营国内最大开源软件技术社区

证券研究报告 | 新三板公司研究 依托开源中国社区、开源软件“社区 +云服务+交易”生态圈已初具规模 投资要点 当前价: 23.8元 目标价: - 元 分析师:付立春 执业编号:S0300515120001 电话:010-******** 邮箱:fulichun@https://www.360docs.net/doc/ca12828930.html, 研究助理:王保庆 电话:010-******** 邮箱:wangbaoqing@https://www.360docs.net/doc/ca12828930.html, ? 以开源软件开发为主业、运营国内最大开源软件技术社区 恒拓开源(天津)信息科技有限公司成立于2007年7月,是一家主要从事开源软件开发的高新技术企业。同时,运营国内最大开源软件技术社区-开源中国。2015年12月在新三板挂牌,2016年1月变成更为做市转让方式。董事长马越持32.23%股权为公司实际控制人,拟以不低于31.5元/股价格募集资金2亿元,2015年营业收入稳步增长、87%的收入来源于定制软件技术开发。 ? “运价魔方”备受好评、线下业务稳步增长仍可期 公司是我国开源技术的先行者,主要通过开源技术,为客户开发企业级的应用产品,同时进行硬件销售。“运价魔方”是公司历时两年自主研发的航空运价数据产品、备受业内好评。2015年,公司来自前五大客户的收入高达2982.7万元,占营业收入的54.47%。五大客户分别为联想(18.98%)、南方航空(12.78%)、海南航空(7.74%)、深圳航空(7.67%)、阿里云(7.3%),航空企业占三席。2015年订单量增加19.7%、线下业务收入仍有望保持10%的增长。 ? 依托开源中国社区、搭建开源软件“社区+云服务+交易”生态圈 开源中国社区成立于2008年,是国内注册用户最多、影响力最大的开发者技术社区之一,目前的主要收入来源于网站广告收入。2015年社区注册用户数累计达到148.94万人,到2018年有望达到200万。2013年,公司上线了代码开发、托管云平台—码云,目前已经成为国内规模最大、最活跃的开发云,但以免费服务为主,短期内盈利困难。2015年12月众包平台上线,提供整包、悬赏、找人等业务。到2015年底共成交项目67个,金额84.29万元。该项业务总体发展较快。公司以完成“社区+云服务+交易”生态圈的搭建、未来或有望成为中国的Github 。 ? 盈利预测与估值 因线上业务投入较大,短期内盈利仍无法覆盖投入,但亏损额会逐渐收窄,我们预测公司2016-2018年的净利润分别为-748.23万元、-427.25万元和-133.94万元。公司的最新每股价格为23.8元,对应的总市值为7.56亿元。 ? 风险提示 持续亏损风险、线下业务拓展不及预期、线上业务变现困难风险、行业竞争加剧风险。

apache2.0开源协议

竭诚为您提供优质文档/双击可除apache2.0开源协议 篇一:常见开源协议比较 常见的开源协议及它们的适用范围 bsd bsd开源协议是一个给于使用者很大自由的协议。基本上使用者可以”为所欲为”,可以自由的使用,修改源代码,也可以将修改后的代码作为开源或者专有软件再发布。 但”为所欲为”的前提当你发布使用了bsd协议的代码,或则以bsd协议代码为基础做二次开发自己的产品时,需要满足三个条件: 如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的bsd协议。如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的bsd协议。 不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。bsd代码鼓励代码共享,但需要尊重代码作者的著作权。bsd由于允许使用者修改和重新发布代码,也允许使用或在bsd代码上开发商业软件发布和销售,因此是对

商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选bsd协议,因为可以完全控制这些第三方的代码,在必要的时候可以修改或者二次开发。 apachelicence2.0 apachelicence是著名的非盈利开源组织apache采用的协议。该协议和bsd类似,同样鼓励代码共享和尊重原作者的著作权,同样允许代码修改,再发布(作为开源或商业软件)。需要满足的条件也和bsd类似: 需要给代码的用户一份apachelicence 如果你修改了代码,需要再被修改的文件中说明。 在延伸的代码中(修改和有源代码衍生的代码中)需要带有原来代码中的协 议,商标,专利声明和其他原来作者规定需要包含的说明。 如果再发布的产品中包含一个notice文件,则在notice 文件中需要带有apachelicence。你可以在notice中增加自己的许可,但不可以表现为对apachelicence构成更改。 apachelicence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。 gpl 我们很熟悉的linux就是采用了gpl。gpl协议和

开源协议

一.每个协议分别找出一个使用该协议的开源软件。 1.GPL,全称GNU General Public License。它的主要内容为:只要在一个软件中使用(“使用”指类库引用或者修改后的代码) GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这个协议就不太适合商用软件,或者准备使用GPL开源组件 的商用项目。基于这个协议的项目,极大的提高了开源软件的数量。 采用这个协议的开源软件有:Linux、MySQL 。 2.LGPL,全称GNU Lesser General Public License 次通用公共许可协议。LGPL允许商业软件通过引用类库的方式使用LGPL组件(不直接使用源代码),这样可以不需要开源商业软件的代码。但是如果要修改原始组件的代码,则涉及修改部分的代码和基于原来代码衍生的代码都必须采用LGPL协议。LGPL不适合以LGPL协议为基础的代码进行二次开发的商业软件,但是商用软件可以采用编译后的类库引用就不需要公开源代码了。 采用这个协议的开源软件有:JBoss、FCKeditor 、Hibernate。 3. BSD,全称Berkeley Software Distribution。这个协议允许使用者修改和重新发布代码,也允许使用或在BSD代码基础上开发商业软件发布和销售,因此是适用于商业软件 的。 ?使用时还必须做到满足三个条件: 1)如果再发布的产品中包含源代码,则在源代码中必须带有原来代码中的BSD协议。 2)如果再发布的只是二进制类库/软件,则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。 3)不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 ?适用BSD协议的开源软件有:nginx、CruiseControl、Redis。 4 MIT,源自麻省理工学院(Massachusetts Institute of Technology, MIT),又称X11协议。 MIT与BSD类似,但是比BSD协议更加宽松,是目前最少限制的协议。这个协议唯一的条件就是在修改后的代码或者发行包包含原作者的许可信息。适用商业软件。使用MIT的软件项目有:jquery、Node.js。 5. apache Licence vesion 2.0,这个协议除了为用户提供版权许可之外,还有专利许

第三方开源软件管控流程说明

开源软件管控流程说明 1 涉及部门 法务部,技术部。 2 引入前准备 2.1 法务部职责 2.1.1 准确解读协议 法务人员应当对目前所有的开源协议进行准确解读,对于企业使用开源协议的风险作出系统的评估。 2.1.2 及时对技术人员进行培训 在企业有使用其他开源软件进行软件开发的需求时,法务人员应当及时对技术人员进行开源协议内容培训,确保技术人员在开发软件的过程中不随意使用他人的开源代码。 2.1.3 根据企业的实际情况制定使用策略 法务部门应当根据企业的实际情况制定使用开源软件的策略,明确在软件开发的过程中可以使用哪些开源协议,不能使用哪些开源协议。避免开源协议冲突以及开源协议对软件的限制违背企业的商业目的等情况的发生。 2.2 技术部职责 2.2.1 不使用来源不明的代码 技术人员应使用来自GitHub等正规开源托管网站的代码。有些来源不明的代码本身就存在知识产权瑕疵,使用此类"不清洁"的代码将会加大企业的侵权风险。 2.2.2 开源社区活跃度评估

评估维度包括:社区是否活跃,发帖数、回复数、问题处理速度等。 2.2.3 明确开源代码能解决的问题 技术人员需明确引入的开源代码能解决哪些问题。功能问题(如使用Elasticsearch实现分词点歌搜索)还是性能问题(如分布式缓存Redis技术提升接口响应效率,减轻Mysql数据库压力)等。 2.2.4 对开源代码的调研学习和测试 引入开源代码前,需通读开源项目的设计文档或者白皮书,了解其设计原理。核对每个配置项的作用和影响,识别出关键配置项的作用。进行多种场景的性能测试。观察cpu、内存、磁盘io等指标波动,得到最终结论并进行评估。 2.2.5 引入风险评估 需明确引入开源代码到现用系统的工期及影响范围,以及引入后切换回旧方案的回退机制。 3. 引入 3.1 技术部职责 3.1.1 版本选择 尽可能选择版本号高的RELEASE版本。 3.1.2 开源代码使用记录 技术部门应当在使用开源代码开发软件时,准确的对开源代码的来源、名称、使用许可协议类型等信息进行记录,便于日后的风险审查。同时也能便于法务部门对软件中使用的开源许可协议进行实时的监控。 4. 引入后注意事项 4.1 法务部职责

企业级开源软件大盘点

企业级开源软件大盘点 由于开源软件特殊的开发方式,使得这个领域真可谓百花齐放,以至于究竟有多少种开源软件,恐怕没有多少人能说清楚。本报评析实验室在开源专家的意见的基础上对其中颇有影响力的企业级开源软件进行了整理,以供读者参考。 Linux 操作系统 Red Hat Red Hat Enterprise Linux(RHEL)作为红帽家族的服务器成员,提供了功能较为强大的操作系统和企业架构方案。它使用开放源码的Linux 2.6 内核,使得平台稳定性和成熟性较以往有所增强。RHEL采用了大量成熟的开放源代码技术,如SELinux和Firefox等,同时特别针对桌面应用进行了改善,能较好地满足企业安全性和兼容性的要求。系统在新文件系统、即插即用硬件设备的支持以及用户和服务管理方面较以前版本有了显著的提高。 RHEL的缺点是带有一些不标准的内核补丁,使得它难以按照用户的需求进行定制。

Red Flag Red Flag Linux Desktop 5.0(产品代号为Apatite)是一个稳定、易用的个人桌面系统,系统安装过程简单直观,提供了较完善的系统管理工具和图形图像、多媒体应用以及网络应用方面的多种应用软件。系统采用Linux 2.6内核,为用户提供了一个比较稳定而且高效的使用环境。系统能够较好地支持主流PC硬件设备和目前发展迅速的蓝牙通信技术,能较好地支持蓝牙设备和系统之间多种数据的无线互传。不足之处在于系统在桌面的美观程度、常用工具的易用性以及联机帮助和用户手册汉化等方面还需进一步加强。 拓林思 拓林思(Turbolinux)对产品的稳定性、高效性以及安全性方面进行了特殊加强,Turbolinux 10一直严格遵循该领域的相应标准CGL(carrier_grade_linux),通过了LSB 1.3 标准的完整测试,可以很方便地移植符合LSB 1.3 标准的软件。集成了完善的系统级开发环境和高效、稳定的开发工具,开发型用户不需额外购买即可实现二次开发。同时该产品的易用性显著增强,可以为企业级数据库和大型商业软件提供高效的系统平台,支持24×7 不间断的全天候工作方式。基于对Samba、NFS 等各种技术的完全支持,可以与现有的各

开源协议

开源界的 5 大开源许可协议 作者: its|发布: 2010-3-30 (13:33)|阅读: 7987|评论: 0|静态地址|内容源码 越来越多的开发者与设计者希望将自己的产品开源,以便其他人可以在他们的代码基础上做更多事,开源社区也因此充满生机。在我们所能想到的应用领域,都有开源软件存在(象 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

开源软件与专有软件的竞争

开源软件与专有软件的竞争 开放源代码是软件产业20世纪90年代以来新兴的一种特殊现象,经过多年的发展,以其为基础的开源软件对传统软件产业的市场竞争格局、厂商竞争方式等都呈现出了巨大的冲击。这一方面对传统网络经济学“赢者通吃”的观点提出了挑战,另一方面也引发了发展中国家对软件产业发展模式和发展战略的思考。因此,研究开源软件和专有软件间竞争行为及其福利效应具有重要的理论和实践意义。论文以开源软件与专有软件的竞争行为为核心,综合运用产业组织理论、网络经济学理论和双边市场理论,采用博弈论、比较分析方法和案例分析方法, 重点研究了开源软件对系统软件市场结构的影响、开源软件与专有软件的主要竞争行为及其经济效应、政府是否应该干预开源软件的发展等问题。 主要研究内容与结论如下:(1)系统软件产业由垄断性市场转向竞争性市场 是开源软件与专有软件竞争的现实基础,也是论文研究的前提条件。论文综合考虑网络外部性和源代码保护双重因素,从厂商供给和消费需求两个维度,探讨了 在开源软件和专有软件共存的情况下,系统软件市场结构的变化趋势。由于供给和需求特征的不同,不同的细分系统软件市场将会出现不同的市场结构:在服务 器操作系统市场,专有软件厂商很难阻止开源软件厂商的进入,并且开源软件厂 商最终将会占据较大的市场份额,市场均衡表现为多寡头或双寡头结构;在嵌入 式操作系统市场,开源软件厂商将有可能将专有软件厂商挤出,并最终将占据统 治地位;在桌面操作系统市场,开源软件厂商的进入具有一定的难度,但如果开源软件厂商能够不断扩大消费群体仍能进入市场。(2)开源软件与专有软件的竞争具有不同于传统专有软件间竞争的特征,其主要竞争行为也表现出一定的独特性。 论文在探讨开源软件与专有软件市场进入序贯性、产品价格和质量差异性等非对称竞争结构基础上,兼顾双边市场中的平台竞争特征,构建了两类软件竞争 的主要行为框架,认为市场进入、商业模式和技术创新竞争是主要的竞争行为。其中,市场进入竞争是其他竞争行为发生的基础,技术创新竞争是竞争的最高形式,两种商业模式间的竞争是开源软件与专有软件竞争的本质。(3)开源软件与专有软件的市场进入竞争。考虑到消费者市场的动态变化,在开源软件与专有软件的市场进入竞争分析中,构建了一个两期的在位者-进入者模型,并引入了横向差异化Hotelling竞争框架。

软件行业SWOT.doc

管理软件渠道的SWOT分析: S(优势)W(劣势) 1.有客户资源 1.服务手段/内容单一 2.有技术,思维服务基础 2.专业技能要求高,难招人 3.有本地化支撑 3.项目实施周期长,利润低 4.有成熟销售团队 4.可持续收益较少,服务量大 O(机会)T(威胁) 1.企业对于营销类的IT投入越来越重视。 1.竞争对手从同业竞争增加到异业竞争。 2.互联网化是每个企业转型过程中,重点 2.软件价格透明,新客户难以把价值最大化。 考虑的方向。 3.老客户需求多元化,不断流失。 3.管理软件saas化是大势所趋,且稳定。 4.新客户数量增长环比下滑。 4.标准化saas软件功能,流程都很成熟且 5.上游厂商已经在不断尝试以saas架构来转 成本低。型。 5.云技术的不断完善,加密技术不断提 6. 高,让云端数据更加安全。 通过分析,我们发现直接利用优势来弥补劣势是不够的。可以通过发挥优势,利用现 有机会,借助高效能的saas服务平台软件,来转移风险控制威胁。 1.从传统的节能提效方案,增加对企业的开源增量进行整合,利用移动互联网的技 术为营销中心的职能部门提供管理工具,能大大提供我们在企业客户信息化解决 方案中的竞争力和方案价值。 2.利用saas架构的优势,先让客户以更低成本的投入快速切入供应方案,以本地化 的优质服务,再不断覆盖其他方面的管理需求能让项目快速推进。 3.快速部署,灵活配置流程是节省实施成本的关键。只有这样我们的服务效率才能 提高。对应地我们的利润也就增加了。 4.saas架构的收费模式也决定了,我们的服务内容和手段是无处不在的,让客户的 黏度和忠诚度不断加强,真正与客户共同成长。

开源软件授权协议详解(GPLMPLLGPLBSDApache LicenceCreative Commons

开源软件授权协议详解(GPLMPLLGPLBSDApache LicenceCreative Commons 开源软件授权协议详解(GPL/MPL/LGPL/BSD/Apache Licence/Creative Commons/MIT)开源在今天的软件业已经很普遍,但开源是否意味着使用者可以对开源后的代码为所欲为呢?答案是否 定的。 开源运动同样有自己的游戏规则和道德准则。 不遵行这些规则不但损害开源运动的健康发展,也会对违规者造 成名誉和市场上的损失,更可能陷入法律纠纷和赔偿。 现今存在的开源协议很多,而经过Open SourceInitiative组织 通过批准的开源协议目前有58种。 我们在常见的开源协议如BSD,GPL,LGPL,MIT等都是OSI批准的协议。 如果要开源自己的代码,最好也是选择这些被批准的开源协议。 强开源约束授权GPL(GNU General Public License)我们很熟 悉的Linux就是采用了GPL。 GPL协议和BSD,Apache Licence等鼓励代码重用的许可很不一样。 GPL的出发点是代码的开源/使用和引用/修改/衍生代码的开源/ 使用,但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。

这也就是为什么我们能用的各种linux,包括商业公司的linux 和linux上各种各样的由个人,组织,以及商业软件公司开发的软件了。 GPL协议的主要内容是只要在一个软件中使用(“使用”指类库引用,修改后的代码或者衍生代码)GPL协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和。 这就是所谓的”传染性”。 GPL协议的产品作为一个单独的产品使用没有任何问题,还可以享受的优势。 由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议,对于使用GPL协议的开源代码,商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。 其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。 弱开源约束授权MPL License(Mozilla PublicLicense)允许重发布、修改,但要求修改后的代码版权归软件的发起者。 这种授权维护了商业软件的利益,,它要求基于这种软件的修改无偿贡献版权给该软件。 这样,围绕该软件的所有代码得版权都集中在发起开发人得手中。 但MPL是允许修改,无偿使用的。 MPL软件对链接没有要求。

金融行业开源治理白皮书

金融行业开源治理白皮书

一、开源技术迅猛发展推动企业引入开源 (1) 1、开源已在多个重要领域成为主流 (1) 2、企业用户引入开源技术不可避免 (2) 二、金融行业采用开源技术已成趋势 (6) 1、开源技术是构建信息系统的重要选择 (6) 2、选择开源技术对金融机构意义重大 (8) 三、引入开源的风险日益凸显不容忽视 (11) 1、缺乏技术能力是企业用户的重要痛点 (11) 2、是否引入开源软件难以完全准确统计 (12) 3、开源软件隐含的安全风险较为显著 (13) 4、使用过程中是否遵守开源约定未知 (14) 5、开源软件上游供应链存在不确定性 (14) 6、开源软件的知识产权风险易被忽略 (15) 四、金融行业开源治理建议 (16) 1、推广产业开源科普,树立开源风险意识 (16) 2、建立金融开源社区,增进同业交流沟通 (17) 3、梳理开源治理规范,推动相关标准制定 (18) 4、建设开源治理体系,规范开源软件引入 (19) 附录金融机构开源治理实践案例 (23) 中国农业银行 (23) 上海浦东发展银行 (26) 中信银行开源 (30) 中国太平洋保险(集团) (32)

近几年开源技术快速发展,金融行业在构建信息系统过程中不可避免涉及开源技术的引入和使用。开源一方面可以突破技术壁垒推动金融机构技术创新和业务发展,另一方面也不可避免的带来知识产权、信息安全等一系列问题。金融作为涉及关乎国民经济的关键行业,面临与其他行业相比更为严苛的监管要求。如何在遵循开源义务要求的前提下规范地使用开源技术,从而最大化减少使用开源带来的风险,是金融机构构建信息系统过程中必然面临的问题。 《金融行业开源治理白皮书》首先介绍企业用户引入开源技术的背景,阐述开源技术对金融行业的重要意义,重点梳理引入开源可能导致的风险,并对金融行业在开源治理方面可以采取的措施给出了建议,最后附录了参与白皮书撰写企业的开源治理实践案例。

开源许可协议

开源许可协议 (初稿) 河南新创元信息网络有限公司 研发部 文档修订历史记录

目录 1目的 (1) 2开源许可协议定义 (1) 3开源许可协议介绍 (1) 3.1GNU GPL (1) 3.2GNU LGPL (2) 3.3BSD (3) 3.4Apache license. 2.0 (3) 3.5MIT许可协议(MIT License) (4) 3.6知识共享协议 (4) 3.7CPL(Common Public Liecense) vesion 1.0 (5) 3.8 MPL协议 (6) 3.9CDDL协议 (7) 4附录 (8) 4.1GPL3.0协议 (8) 4.1.1导言 (8) 4.1.2条款和条件 (9) 4.1.3如何在您的新程序中应用这些条款? (19) 4.2 LGPL 2.1协议 (21) 4.2.1导言 (21) 4.2.2条款和条件 (23)

1目的 为了让开发人员能够正确合法的使用开源软件,避免因为不小心而触犯到相关法律法规,产生不必要的法律纠纷,现对开源界的几大开原协议进行了翻译和整理。 2开源许可协议定义 自由软件/开源软件是自由的,免费的,源代码开放的,我们可自由下载安装和使用。同时,为了维护作者和贡献者的合法权利,保证这些软件不被一些商业机构或个人窃取,影响软件的发展,开源社区开发出了各种的开源许可协议。其中主要分三大类。 OSI-Approved Open Source:被开放源码组织(https://www.360docs.net/doc/ca12828930.html,)所批准的开放源码授权协议。如常见的Apache,GPL,LGPL,MIT Licence,都属于 OSI-Approved的授权协议,OSI 的要求之一是二进制文件和源代码的自由发放。 Other/Proprietary License:其他的,私有的授权协议。指软件作者提供源代码,但是对软件的分发和发布有其他的限制。 Public Domain:公共域授权。将软件授权为公共域,表示作者完全放弃版权,任何人都可以随意使用。 大部分开源工程都属于OSI-Approved Open Source,下面对常见的License做简单的介绍。 3开源许可协议介绍 3.1GNU GPL GNU有两种协议其中一种为General Public Licence (GPL) ,该协议有可能是

各种开源协议说明(License)

各种开源协议说明 许多开发者和设计者希望把他们的作品作为开源项目共享,他们希望其他人能够利用和共享他们的代码。而各种开源社区就是因为这个原因而充满活力。开源软件可以用于你能想象得到的任何应用程序,许多web设计人员使用开源软件作为开发基础(例如 WordPress,Drupal等等许多CMS系统都是开源的)。 但是许多开发者和设计者并没有对开源License有清楚的了解,不清楚当他们选择开发自己的源代码时,他们有什么权利。如果不知道明确的 License的内容,他们就不知道如何做出最明智的选择,如何做对他们最有利。 对于中国的开发者来说,因为中国发达的盗版文化,泛滥的盗版软件,大部分人恐怕都完全没有License或者版权这个概念,都是奉行拿来主义。如果我们一直都是这样的话,中国软件何来进步。所以对于国内的开发者来说,第一课就是应该学习如何使用和遵守License。 什么是License 许多混乱就始于你不知道License到底是什么,到底有什么含义。当你对你的产品使用License时,并不意味着你放弃了任何权利,你依然对其拥有原著作权。License只是授予他们于特定权利来使用你的产品。 License只是把你的作品释放到公有领域,或者给各个拷贝赋予权限。也意味着你放弃了版权收入,别人也没有义务把你列为原作者或贡献者。 开放源代码许可协议更容易为他人作出贡献,而不必寻求特别的许可。它也可以保护你作为原创者的权利,至少确认了你的贡献。它还可以保证你的工作不为别人所剽窃。 GNU General Public License GNU General Public License (GPL)的可能是开源项目最常用的许可证。GPL赋予和保证了开源项目开发者广泛的权利。基本上,它允许用户合法复制,分发和修改软件。这意味着你可以: 复制软件 复制软件到自己的服务器,客户端的服务器,你自己的电脑,几乎任何你想要的地方,而且没有数量限制。 发布软件

开源软件的经营模式

开源软件的经营模式 开源软件就是完全公开源代码. 任何人可以自由免费使用的软件。那么经营开源软件的公司该怎样获得利益而生存下去呢?至今. 经营开源软件的公司大多不太顺利。虽然它有很多方面优于传统软件. 诸如: 1、降低风险 在当前动荡的市场环境下. 组织不应该过度依赖软件公司. 因为他们可能正面临生存的困境. 每天都有无数的软件公司倒闭. 因此选择软件公司的产品. 无异于将自己的命运交给了别人。同时. 软件公司的产品一向是封闭源代码的. 试想一下. 如果软件公司在一夜之间突然人间蒸发. 你运行的系统就无人维护.随时可能面临更换系统的境地. 如果选择开源软件. 可以将这种风险降到最低. 活跃的开源软件通常会有源源不断的贡献者维护和更新. 而且自己可以获取源代码. 完全可以按照自己的意愿进行修改. 无需担心某一天突然找不到依靠。 2、产品质量更可靠 闭源软件的质量通常与软件公司的开发人员水平息息相关. 开发人员的水平通常参差不齐. 因此闭源软件的质量通常也是参差不齐. 而开源软件通常是由社区中的技术高手在维护. 有时用户自身也可以参与维护. 并且开源软件的用户较多. 软件存在的bug一般都会被及时发现和修补. 产品质量更加可靠。 3、付出少,回报多 削减成本是商业成功至关重要的的因素. bug修复. 开发功能和编写文档都会消耗大量的人力、物力和财力. 如果选择开源软件. 这些事情都有人在默默奉献. 不需要你付出什么. 但你却可以享用别人的劳动成果. 当然你愿意的话. 也可以为开源软件做贡献。 4、不花冤枉钱 使用开源软件开发一个产品是值得投资的. 可以降低开发成本. 并可以快速推出自己的产品. 然而. 许多组织都希望投放到生产环境中的产品能得到支持.于是诞生了许多提供企业级开源产品支持服务的专业型公司. 组织可以根据自身的情况. 有选择性地购买需要的服务。如果选择闭源产品. 通常会多花钱. 买到自己可能用不上的产品和服务。 5、招揽优秀人才 开源社区中充满了大量的优秀人才. 他们富有激情. 才华横溢. 乐意为开源软件奉献. 如果你的组织选择了开源软件. 在他们眼中. 你的组织充满了魅力.因此要想招揽到优秀的人才一点问题也没有. 试想一下. 对开源软件有浓厚兴趣的人加入到你的组织. 想不提高生产力都难。 6、行业适应能力更强 因为开源软件大多免费的缘故. 在中小型组织中迅速得到了广泛使用. 这些使用开源软件的组织可能来自各行各业. 经过这么多组织的长时间使用. 开源软这种模式为大型公司广泛采纳. 比如IBMHP 等服务器供应商巨头. 通过捆绑免费的Linux 操作系统销售硬件服务器。SUN 公司近期将其Solaris 操作系统开放源码. 以确保服务器硬件的销售收入. 也是这种模式的体现。 盈利模式之五:附属品 在这种模式中. 出售开放源代码的附加产品。比如在低端市场. 出售杯子和T恤衫等;在高端市场上. 出售专业编辑出版的文档和书籍。 0.Reilly集团是销售开源软件附加产品公司的典型案例. 他出版了很多优秀的开放源代码软件的参考资料。0,Reilly实际上雇用和支持了一些著名的开放源代码黑客(例如Larry Wall和Brain Behlendorf),并以此提高它在市场上的声望。 盈利模式之六:品牌战略、服务致上

相关文档
最新文档