商业软件、开源软件与自由软件开发模式的区别

  程序代码一般情况下有两种形式:目标代码和源代码。人们根据开发公司对源代码的“态度”(是否公开)将软件分为商业软件和开源软件。现在我们来看看各种软件的开发模式有何不同。 ○1商业软件:商业软件顾名思义即用于商业贸易的软件,这类软件通常只提供可运行的目标代码。软件开发商会保留对软件的著作权(著作权中最重要的一项就是发行权)。通过赋予用户一部分权利,用户在该权限范围内使用软件。不过商业软件一般会提供包括版本更新在内的技术服务。 1.大企业集中开发:由于商业软件一般具有快速、全能等特性(这样才能保证较好的占有市场),并且还要在不同时期内提供对原软件的更新服务,所以开发商业软件的公司会有一个自己的开发团队。并且该开发团队要具有较强的科研能力以及创新能力,这种公司也具有较强的实力。 2.合作开发:不同开发商为了保证市场占有率,不被淘汰。可以和其他公司联合,集中优秀开发人员,先进技术,充足的资金,开发出领先水平的软件或理念(这个尤其重要)。这时参与开发的公司可以共同享有该软件的著作权。 可以看出商业软件的开发模式中知识一种简单的“开发商开发—用户使用”这样一个简单的关系,软件开发者和世纪使用者不存在任何“相互作用”但是开发公司有自己完整的开发体系,各个部门之间分工明确,后续的技术服务一般也保障的比较好。下面就来看看开源软件的开发模式。 ○2开源软件:开源软件即开放源代码的软件,但并不是说开源软件并不存在版权问题。其实开源软件也是受版权保护的,不过它赋予了用户更多的权利,同时该用户也有义务将自己开发出的软件赋予下一层用户相同的权利。根据这些特点开源软件的开发模式有: 1.散户开发:(类似于一种集思广益的形式)因为开源软件的源代码是开放的,任何编程爱好者可以发现原软件的漏洞,加以更正;或是添加自己特殊的功能后再发行。这样大量的随即更新事件就导致了开源软件的走向。不过这种开发模式随即性强,没有团队配合,开发周期也值得怀疑。 2.企业开发:某些企业为了加强自己的知名度,会对自己非主打的产品实施开源,这种企业一般都有自己的开发团队,产品相对较专业,文档说明等方面比较完善。 3.科研单位开发:一些著名高校,拥有优秀的导师、聪明的学生、充足的资金,是一个理想的开发团队。往往会提出一些高效的算法或理念。 4.委托开发:一些个人或企业或是出于对开源运动的支持,或是出于自身的一些商业目的,会委托一些软件开发公司,开发开源软件。 我们可以看出开源软件的开发过程中软件开发者和世纪使用者先例紧密,有时开发者即使用者,使用者又会成为开发者,但是由于没有商业公司那样庞大的开发规模,开发出的软件一般弊病会较多,且没有完善的文档、使用说明,后续的技术服务也是个问题。 ○3自由软件:自由软件是开源软件的一个子集,它的定义比开源软件更严格,上述的一些开发模式也适用于自由软件,故不再多述。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
第1篇 了解开源软件 第1章 开源软件概述 1.1 开源软件的理解 1.2 开源软件的定义 1.3 开源软件定义的意义 1.4 开源软件和其他类型软件的比较 第2章 开源软件的历史与未来 2.1 开源软件的历史 2.2 开源运动背后的理想与现实 2.2.1 理想主义的兴起 2.2.2 技术精英的推动 2.2.3 现实业界的需求 2.3 开源社区的壮大 2.4 开源软件的领袖 2.5 开源软件的未来 第3章 开源软件的好处 3.1 高质量 3.2 零许可证费 3.3 开放和自由 3.4 灵活可定制 3.5 公开透明 3.6 良好的学习平台 第4章 开源软件的成本 4.1 部署和迁移成本 4.2 人员和培训成本 4.3 管理维护和技术支持成本 4.4 风险控制成本 第2篇 使用开源软件 第5章 正确使用开源软件 5.1 管理体制 5.2 法律风险 5.2.1 法律因素之著作权 5.2.2 法律因素之许可证 5.2.3 法律因素之专利 5.2.4 问题解析 5.2.5 验证著作权,正本清源 5.2.6 调查专利,借力打力 5.2.7 解读许可证,明察秋毫 5.3 成熟度 5.3.1 优秀的领导者 5.3.2 差异化的开发者社区 5.3.3 庞大的优质用户群 5.3.4 健康的项目“脉动” 5.3.5 健全的安全补丁体制 5.3.6 较完善的文档 5.4 服务 5.5 寻找合适的开源软件 第6章 开源软件之语言和平台 6.1 Harmony 6.2 Android 6.3 Python 6.4 Ruby 6.5 PHP 6.6 Groovy 6.7 Perl 6.8 Flex 6.9 OpenLaszlo 第7章 开源软件之框架和库 7.1 Spring 7.2 Struts 7.3 JBossSeam 7.4 Equinox 7.5 Hibernate 7.6 iBATIS 7.7 Lucene 7.8 Webkit 第8章 开源软件之服务器软件 8.1 ApacheHTTP服务器 8.2 Tomcat 8.3 Jetty 8.4 Geronimo 8.5 JBoss 8.6 GlassFish 8.7 MySQL 8.8 PostgreSQL 8.9 Derby 8.10 FileZillaServer 第9章 开源软件之开发工具 9.1 Eclipse 9.2 NetBeans 9.3 ApacheAnt 9.4 ApacheMaven 9.5 CVS 9.6 Subversion 9.7 GIT 9.8 Bugzilla 9.9 JUnit 9.10 TestNG 第10章 开源软件之桌面应用 10.1 GNOME 10.2 OpenOffice.org 10.3 Emacs 10.4 Firefox 10.5 Thunderbird 10.6 GIMP 10.7 FreeMind 10.8 7-Zip 第3篇 参与开源项目 第11章 开源社区的基础设施 11.1 基础设施 11.1.1 主页(HomePage) 11.1.2 代码库(CodeRepository) 11.1.3 邮件列表(MailingList) 11.1.4 缺陷追踪系统(BugTrackingSystem) 11.1.5 Wiki 11.1.6 其他 11.2 开源项目托管网站 第12章 开源组织和社区 12.1 Apache软件基金会 12.1.1 Apache的历史 …… 第13章 商业模式与实例 第14章 参与开源社区 第15章 开创事业

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值