Java job interview:实习生项目小程序架构研发开源软件

开放源码软件(open-source)是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。开放源码软件通常是有copyright的,它的许可证可能包含这样一些限制: 蓄意的保护它的开放源码状态,著者身份的公告,或者开发的控制。“开放源码”正在被公众利益软件组织注册为认证标记,这也是创立正式的开放源码定义的一种手段。
开放源码软件主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会和商业公司也开发它。源代码开放是信息技术发展引发网络革命所带来的面向未来以开放创新、共同创新为特点的、以人为本的创新2.0模式在软件行业的典型体现和生动注解。开放源码软件在历史上曾经与UNIX,Internet联系的非常紧密。在这些系统中许多不同的硬件需要支持,而且源码分发是实现交叉平台可移植性的唯一实际可行的办法。在DOS,Windows,Macintosh平台上仅仅有很少的用户有可用的编译器,开放源码软件更加不普遍。对开放源码开发模式的更详细的讨论请看Eric Raymond写的“The Cathedral and the Bazaar”。
开放源码软件主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会和商业公司也开发它。开放源码软件在历史上曾经与UNIX,Internet联系得非常紧密。在这些系统中许多不同的硬件需要支持,而且源码分发是实现交叉平台可移植性的唯一实际可行的办法。在DOS,Windows,Macintosh平台上仅仅有很少的用户有可用的编译器,开放源码软件更加不普遍。对开放源码开发模式的更详细的讨论请看Eric Raymond写的“The Cathedral and the Bazaar”。
为什么open-source软件与软件市场有关系
传统的商业软件有巨大的广告和商标预算,在这些背后给了它太多的关注,已经远远超出了它的重要性。传统的商业软件事实上只是所有软件的很小的一部分。Lion(狮子)是被各种组织开发,并且是为了它们自己内部的需要。内部开发源码,特别是被美国政府所命令的重要源码的共享是具有开发源码牌照的。这实际上是由于绝大多数软件专家不编写商业软件。
要去定量的描述开放源码软件的整个影响和平均利益是困难的,但是很明显这两者都被公众广泛传播又低估其价值。现在,许多开放源码软件由商业开发支持。同时,开放源码经营模式的成功和开放源码开发的高生产效率及高质量都说服Netscape(公司名)在1998年年初决定要将它的浏览器开发在开放源码许可之下。
现在有巨大的动力推动着开放源码的运动。看到如此多的传统商业开发者们为了与他同步不得不谋取发展是很有趣的。计算机工业早已看到了几个激动人心的发展和革新的浪潮,例如,二十世纪七十年代的第一台微机,以及八十年代中期到现在对日用微机的大量生产,还有同一时期Internet(互联网)的崛起。使用开放源码模式的商业软件可能是下一个重要的新潮流。
区别开放源码软件和免费软件
历史上许多人开发过这样一种软件(也就是免费软件基础)简称为“free software”,而媒介一般称它为“freeware”。不幸的是这两种术语都被证明是不明确的且含糊的。
对于大多数人来说“free”仅仅用于购买的费用。比这个初始花费更重要的是由于缺乏许可证限制而带来的费用。这些是几种有可能是免费的软件类型,但是明显不是open-source software,因为它们具有某些限制或是缺乏公开的源码。
降低风险:拥有源代码使顾客们可以控制那些他们的业务所赖以生存的工具。当一个open-source产品的开发者提高价格,增加了难以接收的限制,或者使用了一些使顾客不满意的方法,另一个不同的组织将使用该源代码开始开发新的产品以解决原来机构的问题。顾客也能自己维护或找别人改进它以达到自己的要求。顾客控制软件,这在传统私有软件模式下是闻所未闻的事情。即使是一些财大气粗的顾客也可能缓解由于传统软件商自己内部的问题而导致严重的金融危机或公司被别的公司收购的风险。
质量
一些研究已经显示了open-source软件与别的可比商业软件具有可靠性上的极大优势。更加有效的开发模式,更多的独立同行对代码和设计的双重审查,以及大部分作者对自己作品的极大荣誉感,都对其优良的质量有所贡献。一些公司甚至给予发现Bug者以物质奖励。
透明
私有软件有很多“阴暗的死角”,隐藏着许多Bug。源码对于查错和理解产品工作原理来说是很重要的。在大的软件公司,只有极少数人能接触到源码,而这些能接触源码的人通常用户都无法直接接触。能接触源码对于修补安全漏洞来说,也是非常重要的。一些开放源码的产品–包括上面列举的一些产品–是如此成功,以至于其商业竞争者无法存活。
剪裁
开放源码给用户极大自由,使他们能够按照自己的业务需求定制软件。大型组织能从即使很小的定制行为中削减大量开支和人力成本。用户的挑错和改进反过来对标准开放源码软件包也是个贡献。这在传统的私有软件开发中是不可能得到的。
有利的版权许可和价格:定义为开放源码使得软件在版权许可方面比私有软件具有更大的灵活性。这可以大大削减更多安装带来的花费和时间,对那些采购过程费时费力的机构更加有利。它也能给用户安装软件以更大的自由度。
什么时候不使用开放源码软件
如果一个开放源码产品不能很好地满足一个组织的需求,而另外的一个私有软件却可以,并且得到一个满足特性的私有软件的成本比再开发修改一个开放源码产品的成本高的话,最好不使用开放源码软件。但参考上面的“剪裁”。
支持
一些open-source软件传统的付费支持和电话支持。事实上,无论怎样,这都没有一个既没有源代码且无支持的产品严重。请看支持和open source软件一节。

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92732 人正在系统学习中

来源:咔啡

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年8月21日
下一篇 2021年8月21日

相关推荐