近年来,一种新的思潮在国际上受到越来越多的关注,已经取得丰硕成果,而且将对整个软件产业格局产生重大深远影响,这就是所谓开放源码思想。
开放源码的基本思想很简单,最初由于计算机硬件造价昂贵,许多公司认为计算机软件不值钱,将其仅看作是整个计算机的附属产品。因此,当时网络上的程序员可以任意阅读、重新分布和修改软件的源码,也正因为此才使得软件业得以飞速的发展。
然而,随着计算机硬件成本的不断下降,软件在整个计算机系统的成本中占有越来越高的比例,如何提高软件开发生产率、降低成本、提高质量是整个计算机软件行业的重大课题。按照传统封闭的开发模式,只有很少一部分程序员能够看到源代码,其他任何人只能使用不透明的二进制软件,这使得程序源码中的大量潜在错误难以被及时发现和消除,造成巨大的维护费用。
开放源码主要目标就是提高软件质量,其方法就是通过开放源代码以获得广泛的对等评审及用户测试效应。与传统的封闭开发模式相对,传统模式采取严密组织的开发队伍(如同构筑大教堂的组织模式),开放源码则是由分散的发烧友通过Internet组成的开发队伍进行组织(如同市集的组织模式),这就是开放源码社区领袖Eric Raymond在其著名的《大教堂与市集》一文中提出的论点,Linux的开发就是“市集模式”的成功典范,也从实践上说明“市集模式”能够开发出可用性优于“大教堂模式”的软件。
然而,“市集模式”也并非万能,Eric Raymond指出了市集模式成功运用的先决条件,包括包括开放源码项目工程领导人的资格问题和在把项目公开和开始建造一个协作开发人员的社团的时候代码的状态。可以认为,不能以一个市集模式从头开发一个软件,可以通过市集模式进行测试、调试和改进,但是以市集模式从头开始一个项目将是非常困难的,初期的开发人员的社团应该有一个可以运行和测试的东西来玩,尽管它可以很粗糙、很笨拙、不完整和缺少文档,但不能忽略的东西是要吸引哪些人卷入一个整洁的项目。同时,“市集模式”的成功依赖Internet和控制版本进化的领导者(例如Richard Stallman,Linus Torvalds)。作为项目领导者而言,能够提出卓越的原始设计思想不是最关键的,最关键的是要能把从他人那里得到的好的设计重新组织起来,同时必须有良好的人际和交流能力,必须能够吸引他人共同建造一个开发社团。
与开放源码紧密相关的是所谓自由软件运动,后者的主要目标是使得开发的软件是Free(是自由,freedom,不是免费的意思)的,它们之间最简单的区别是各自的优先权不同,在此不对二者区别进行更深入的哲学讨论。在开放源码/自由软件思想下已经积累了相当一批财富,包括操作系统级、平台软件级、甚至应用级的源程序已经被放在网站上,供软件爱好者自由使用。尽管目前软件业的主要商业模式是以出售拷贝为基本商业基点的,但这种商用软件的思路目前正逐渐被开放源码、以服务和培训为商业获取利润的思想所取代。而且,开放源码软件可以把很多人的智力集聚到一起,尤其既有利于基础软件教育事业,又可以加快高质量的共性软件发展。因此,开放源码思想已经受到来自政府、企业、科研教育机构的高度关注,随着大量人力物力的不断投入,开放源码软件正在逐步走向工业化。
但是,开放源码也带来了一些新的问题,由于完全本着自愿的原则,任何人都可以自由参与开源软件的开发,也可以将自己编制的软件放到网上让别人共享,因而软件版本如何管理、质量如何保证、软件错误如何跟踪和修正等都摆在人们的面前。同时,开放源码的测试、整理与推广也是一个比较重要的任务。可以认为,将开放源码思想与传统的软件工程进行有机结合将对未来软件业的发展产生深远影响,也将为软件质量提高工作探索新的途径。
|
相关推荐
7. **源码安全**:尽管开放源码有利于协作和创新,但也增加了软件被攻击的风险。开发者应确保源码的安全性,避免泄露敏感信息,对关键代码进行加密,定期进行代码审计以发现潜在漏洞。 8. **集成与构建**:在实际...
这种开放源代码的做法有利于推动社区对软件的贡献,提高软件的质量和功能。 下载smartmontools源码包后,通常会发现它包含多个文件和目录。其中,最重要的文件之一是readme.txt,该文件会提供安装前的准备工作、...
4. 作为全开源项目,彩虹易支付平台在最新升级版中提供了完全开放的源码,没有加密文件。这种开放性的做法有利于构建开放的开发社区,促进技术创新和知识共享。开发者能够更自由地访问、修改和分发源代码,有利于...
使用这款源码,IT连锁服务企业不仅可以节省开发成本,还能快速上线自己的网站,提升服务质量。对于开发者来说,这是一个很好的学习和实践ASP编程的实例,可以通过分析源码,掌握动态网站的构建技巧。同时,源码的...
4. **源码测试**:源码测试是软件开发过程中的重要环节,它确保代码的质量和功能完整性。中易广告联盟程序的测试通过,意味着其主要功能正常运行,没有明显错误或漏洞,具备上线运行的基础。 5. **数据库管理**:...
同时,源码的开放性也有利于社区交流和问题解决,开发者可以从他人经验中学习,加速软件的完善和升级。 总之,【货物配送物流系统】是一套全面的商业解决方案,它以源码形式提供,旨在帮助物流公司提升效率,降低...
开发者可以利用该项目作为开发企业级移动办公自动化应用的起点,不仅能够大幅缩短开发周期,还能够提高最终产品的质量和稳定性。对于寻求提高办公效率和管理能力的企业而言,SmoONE无疑是一个值得考虑的优秀解决方案...
基于S32K144的XCP标定协议工程通过提供开放的源码、清晰的代码结构以及详尽的文档资料,大大降低了嵌入式系统开发的门槛,加快了汽车电子控制单元的开发进程,提升了系统的调试效率和最终产品的质量。它的出现,无疑...
- 代码审查:开放源码可以促进代码质量的提高,因为有更多的人可以参与代码审查,找出潜在的问题和改进点。 - 自定义和扩展:用户可以根据自身需求对系统进行定制和扩展,适应不断变化的业务需求。 5. **系统架构...
【标题】"一个网络公司完整的源码"所涵盖的知识点主要集中在软件开发、Web开发以及项目管理领域。网络公司的源码通常包括前端用户界面、后端服务器逻辑、数据库设计、安全措施等多个方面,以下是这些方面的详细说明...
超级模块3.65是这个生态系统中的一个重要组成部分,它提供了丰富的功能和优化的性能,旨在提升开发效率和程序质量。 首先,我们要理解“超级模块”的概念。在易语言中,模块是一种可复用的代码单元,它可以包含函数...
本资源“超级模块Super8.0模块完整源码”正是这样一个开放源码的项目,为开发者提供了一个宝贵的参考和学习平台。 超级模块Super8.0是一款高效、轻量级的模块化开发框架,其8.0版本的源码公开,意味着开发者可以...
源码的开放性使得学生和开发者能够深入理解Android应用程序的设计与实现,从而提升自己的编程技能。在进行Android应用开发时,了解和分析开源项目的源码是非常有益的,它可以帮助我们学习最佳实践、优化技巧以及如何...
通过学习和使用华为框架源码,开发者将能够更好地掌握现代软件开发的技术要点,提升自身的开发技能和创新能力。华为此举不仅彰显了其作为行业领导者的责任感和开放性,也为全球的ICT技术发展做出了积极的贡献。
由于源码的开放性,任何下载该学籍管理系统源码的个人或机构都应该遵守相应的开源协议,尊重原作者的版权和贡献,并在使用过程中维护原作者的声誉。同时,对系统源码的修改和二次开发应当遵循开源社区的准则,确保...
如果你对淘宝的开放平台政策、规则及API文档有深入理解,将更有利于你利用此源码开发出高质量的淘宝U站。 文件名“sale-20130930”可能代表销售相关的数据或更新记录,日期部分可能指示该版本发布于2013年9月30日。...
企业通讯源码与通讯平台是IT领域中...通过深入研究和利用企业通讯源码,开发者可以创建出符合企业需求的定制化通讯解决方案,提高组织内部沟通的效率和质量。这不仅有助于提升员工的工作体验,也有利于企业的长远发展。
此外,源码的开放也有利于促进整个汽车维修行业软件开发的交流与合作,对于推动行业技术进步具有重要意义。 与此同时,源码的发布也需要注意遵守相关法律法规,保护软件的知识产权,确保系统的使用者能够合规地使用...
医美行业的机器防伪码与溯源码系统是一个关键的安全措施,用于确保产品的质量和真实性。开源的整体源码使得开发者能够深入理解系统的运作机制,并可以根据实际需求进行定制化开发。以下是对这个系统的一些主要知识点...
在极简主义设计理念下,开源项目更注重提升代码的可读性、可维护性和扩展性,这不仅有利于项目的长期发展,也为社区贡献了高质量的资源。 极简的优雅在线去水印源码体现了极简主义设计与开源精神的结合,旨在通过...