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

来源:互联网 发布:radius端口号 编辑:程序博客网 时间:2024/04/25 01:07
  程序代码一般情况下有两种形式:目标代码和源代码。人们根据开发公司对源代码的“态度”(是否公开)将软件分为商业软件和开源软件。现在我们来看看各种软件的开发模式有何不同。○1商业软件:商业软件顾名思义即用于商业贸易的软件,这类软件通常只提供可运行的目标代码。软件开发商会保留对软件的著作权(著作权中最重要的一项就是发行权)。通过赋予用户一部分权利,用户在该权限范围内使用软件。不过商业软件一般会提供包括版本更新在内的技术服务。1.大企业集中开发:由于商业软件一般具有快速、全能等特性(这样才能保证较好的占有市场),并且还要在不同时期内提供对原软件的更新服务,所以开发商业软件的公司会有一个自己的开发团队。并且该开发团队要具有较强的科研能力以及创新能力,这种公司也具有较强的实力。2.合作开发:不同开发商为了保证市场占有率,不被淘汰。可以和其他公司联合,集中优秀开发人员,先进技术,充足的资金,开发出领先水平的软件或理念(这个尤其重要)。这时参与开发的公司可以共同享有该软件的著作权。可以看出商业软件的开发模式中知识一种简单的“开发商开发—用户使用”这样一个简单的关系,软件开发者和世纪使用者不存在任何“相互作用”但是开发公司有自己完整的开发体系,各个部门之间分工明确,后续的技术服务一般也保障的比较好。下面就来看看开源软件的开发模式。○2开源软件:开源软件即开放源代码的软件,但并不是说开源软件并不存在版权问题。其实开源软件也是受版权保护的,不过它赋予了用户更多的权利,同时该用户也有义务将自己开发出的软件赋予下一层用户相同的权利。根据这些特点开源软件的开发模式有:1.散户开发:(类似于一种集思广益的形式)因为开源软件的源代码是开放的,任何编程爱好者可以发现原软件的漏洞,加以更正;或是添加自己特殊的功能后再发行。这样大量的随即更新事件就导致了开源软件的走向。不过这种开发模式随即性强,没有团队配合,开发周期也值得怀疑。2.企业开发:某些企业为了加强自己的知名度,会对自己非主打的产品实施开源,这种企业一般都有自己的开发团队,产品相对较专业,文档说明等方面比较完善。3.科研单位开发:一些著名高校,拥有优秀的导师、聪明的学生、充足的资金,是一个理想的开发团队。往往会提出一些高效的算法或理念。4.委托开发:一些个人或企业或是出于对开源运动的支持,或是出于自身的一些商业目的,会委托一些软件开发公司,开发开源软件。我们可以看出开源软件的开发过程中软件开发者和世纪使用者先例紧密,有时开发者即使用者,使用者又会成为开发者,但是由于没有商业公司那样庞大的开发规模,开发出的软件一般弊病会较多,且没有完善的文档、使用说明,后续的技术服务也是个问题。○3自由软件:自由软件是开源软件的一个子集,它的定义比开源软件更严格,上述的一些开发模式也适用于自由软件,故不再多述。
原创粉丝点击