开放源码软件《open-source》是一个新名词,它被定义为描述其源码可以被公众使用的软件,并且此软件的使用,修改和分发也不受许可证的限制。 开放源码软件主要被散布在全世界的编程者队伍所开发,但是同时一些大学,政府机构承包商,协会和商业公司也开发它。开放源码软件在历史上曾经与UNIX,Internet联系的非常紧密。在这些系统中许多不同的硬件需要支持,而且源码分发是实现交叉平台可移植性的唯一实际可行的办法。在DOS,Windows,Macintosh平台上仅仅有很少的用户有可用的编译器,开放源码软件更加不普遍。对开放源码开发模式的更详细的讨论请看Eric Raymond写的“The Cathedral and the Bazaar”。 使用Open-Source的优点
降低风险:拥有源代码使顾客们可以控制那些他们的业务所赖以生存的工具。当一个open-source产品的开发者提高价格,增加了难以接收的限制,或者使用了一些使顾客不满意的方法,另一个不同的组织将使用该源代码开始开发新的产品以解决原来机构的问题。顾客也能自己维护或找别人改进它以达到自己的要求。顾客控制软件,这在传统私有软件模式下是闻所未闻的事情。即使是一些财大气粗的顾客也可能缓解由于传统软件商自己内部的问题而导致严重的金融危机或公司被别的公司收购的风险。
质量:一些研究已经显示了open-source软件与别的可比商业软件具有可靠性上的极大优势。更加有效的开发模式,更多的独立同行对代码和设计的双重审查,以及大部分作者对自己作品的极大荣誉感,都对其优良的质量有所贡献。一些公司甚至给予发现Bug者以物质奖励。
透明度:私有软件有很多“阴暗的死角”,隐藏著许多Bug。源码对于查错和理解产品工作原理来说是很重要的。在大的软件公司,只有极少数人能接触到源码,而这些能接触源码的人通常用户都无法直接接触。能接触源码对于修补安全漏洞来说,也是非常重要的。
正确的特性:一些开放源码的产品--包括上面列举的一些产品--是如此成功,以至于其商业竞争者无法存活。
剪裁:开放源码给用户极大自由,使他们能够按照自己的业务需求定制软件。大型组织能从即使很小的定制行为中削减大量开支和人力成本。用户的挑错和改进反过来对标准开放源码软件包也是个贡献。这在传统的私有软件开发中是不可能得到的。
有利的版权许可和价格:定义为开放源码使得软件在版权许可方面比私有软件具有更大的灵活性。这可以大大削减更多安装带来的花费和时间,对那些采购过程费时费力的机构更加有利。它也能给用户安装软件以更大的自由度。
什么时候不使用开放源码软件
错误的特性:如果一个开放源码产品不能很好地满足一个组织的需求,而另外的一个私有软件却可以,并且得到一个满足特性的私有软件的成本比再开发修改一个开放源码产品的成本高的话,最好不使用开放源码软件。但参考上面的“剪裁”。
支持: 一些open-source软件传统的付费支持和电话支持。事实上,无论怎样,这都没有一个既没有源代码且无支持的产品严重。请看支持和open source软件一节。
错误的平台:大部分open-source软件主要是支持UNIX和Linux系统的,有时也支持Windows NT。另一些平台,例如大型机,对于移植开放源码软件是个巨大挑战。移植软件从UNIX到Windows NT上要付出很大代价。然而。开放源码的优点几乎可以使平台转换显得更划算。
缺乏技术人员:安装open-source软件有时需要一些更多的技术经验,例如,可以配置或编译源代码的能力。有源代码的优点在一些没有软件开发专家的公司被降低了。open-source的定制也要求有配置管理经验。无论如何,那些充分具有上述技术能力的任何组织都会很好地享受open-source的优点。
惰性:如果现存的所有系统都被很好的支持并完成,就没有必要去改变它们。然而,时常的去检讨这个决定是很重要,因为新技术经常会使它们变得过时。
值得怀疑的避免open-source软件的原因
这些论据常被作为避免使用open-source软件的借口,但是通常经不起推敲。
---对未知的恐惧。
正如你在上面的“open-source软件的例子”一节所看到的,许多的组织已经严重的依赖open-source软件,不管他们的决策者是否意识到这一点。这个问题由于open-source开发者宣传和使用市场的增加,以及更多的拥护者的出现变得比较容易解决。
---在购买商业软件包上我们已经拥有巨大的投资。
这仅仅是“必然花费谬误”的一种形式。软件许可证,好像为写字楼付的租金,是一些消费,但不是投资。如果别的产品能很好的以较低的成本实现你的组织的需要,那么过去把钱花费在低级的软件上对
决策不应该产生影响。记住,你可能面临严重的政治上的反对,它来自于那些选择了赞成使用昂贵的,低级的产品,而不愿意承认他们的错误的守旧者。同时,考虑到它们可能被再次扩展,在训练职员和相关基础设施上的投资是完全合理的。
---如果出了问题,我们需要有人负责。
尽管理论上这听起来很合理,但如果我们一开始就使用可信赖的软件产品,远比在遭受经济损失之后才去控告软件供应商要好的多。几乎所有的主要软件公司都利用最终用户许可证的支持来解决一些由于他们软件的问题而带来的可能要负责的困扰。Microsoft和IBM公司有著庞大的,一流的法律职员,使得顾客的控诉不可能成功。在将来法律可能会越来越偏向软件供应商。
open-source和软件技术支持
商业支持和同几乎是那些正在使用open-source软件的公司最关心的问题了。付费支持是正当的问题,但是这对于open-source产品通常是可用的,而且一般都过高估计了它的重要性。
---许多主要的open-source产品都有可用的技术支持合同。
例如,Red Hat 和Caldera公司对他们销售的linux有电话支持。 Cygnus,Collective Technologies和许多小的顾问公司靠支持和增强open-source软件,生意也做的不错。而且越来越多的open-source软件在保持其开放源码状态的同时,也获得了大量商业维护和支持。
---电子邮件和Usenet新闻支持时非常有效的。
几乎所有开发open-source软件的组织都提供免费的电子邮件支持,提供邮件列表和Usenet新闻组。这些机制比电话支持更加实际有效。在一个有许多软件供应商所支持的调查中,“Linux用户协会”在1997年获得“最好的技术支持奖”,同时也暴露了许多对传统的软件开发商的服务质量的大量不满意见。
---对传统商业软件的支持经常是有限的并且是低质量的。
例如Microsoft公司仅仅提供了为它的所有产品仅仅提供了一个技术支持电话号码:900。许多市场商业销售支持人员把注意力集中在帮助初学者上手上,无法回答使用手册上没有包括的问题。许多软件公司认为传统的电话支持是很昂贵的代价,而因此消减它,这就导致了质量下降。
Netscape的发展趋势
一个著名的计算机工业杂志报道Netscape是“受大量免费和共享软件许可的启发”。事实上,Netscape正在与许多著名的UNIX自由软件开发者互通信息,现在看起来已经非常接近BSD和GPL许可证了。Nescape Public License和GPL有所不同,它使得Nescape对源码的开发和商标上有更多的控制。
Netscape的弃子战术是很聪明的。首先,浏览器的销售在Netscape的业务中已经只占很少一部分了。浏览器的开放源码状态不会对它有太大的冲击,另外有些想要正式技术支持的买家仍然愿意付钱。第二,它真正按照某个开放源码的许可证发放,从而完全改变了Microsoft免费派送Explorer造成的被动局面。这将有助于提高Nescape浏览器的市场份额。最后,Netscape的立场从开放源码社群中获得了友谊,信任度和潜在的巨大革新。Netscape的未来还不能让人放心,尤其是在NT的Web服务器上;但它为Communicator采用的勇敢的、戏剧性的许可证政策不会带来任何损失。
Linux的开放源代码对我们大多数人有意义吗?
如果你想不通 你从反面想, 如果linux 也闭源 如果linux业收取高昂de版权费 ..这个世界将会怎样, 彻底投入盗版吗, 如果垄断某天发飚了把盗版的人都抓起来 ~~
开源的意义 在于给人们更多选择, 自由的选择 ,免费的选择, 开源在于可以集合广大人民的努力, 硬件在进步 , 系统内核也要进步
修改一个源代码的网站 都需要修改哪里 有哪些注意的地方!!
黑客的基本技能
黑客态度重要,但技术更加重要。态度无法替代技术,在你被别的黑客称为黑客之前,有一些基本的技术你必须掌握。
这些基本技术随着新技术的出现和老技术的过时也随时间在缓慢改变。例如,过去内容包括使用机器语言编程,而直到最近才包括了HTML。总的来说现在主要包括以下技术:
--------------------------------------------------------------------------------
1. 学习如何编程。
这当然是最基本的黑客技能。如果你还不会任何编程语言,我建议你从Python开始。它设计清晰,文档齐全,合适初学者入门。它是一门很好的入门语言,并且不仅仅只是个玩具;它非常强大、灵活,也适合做大型项目。我有一篇 Python评价详细说明这点。好的 教程 可以在Python网站得到。(译者:比较好的中文Python站点可能是。)
Java也是好的入门语言。它比Python难得多,但是生成的代码速度也快得多。它同时也是一种优秀的计算机语言,不止是用来入门。
但是注意,如果你只会一两门语言,你将不会达到黑客所要求的技术水平,甚至也不能达到一个程序员的水平——你需要学会如何以抽象的方式思考编程问题,独立于任何语言。要做一名真正的黑客,你需要学会在几天内通过一些手册,结合你现在所知,迅速掌握一门新语言。这意味着你应该学会几种截然不同的语言。
如果要做一些重要的编程工作,你将不得不学习C语言,Unix的核心语言。 C++与C非常其他类似;如果你了解其中一种,学习另一种应该不难。但这两种都不适合编程入门者学习。而且事实上,你越避免用C编程,你的工作效率会越高。
C非常有效率,节约你的机器资源。不幸的是,C的高效是通过你手动做很多底层的管理(如内存)来达到的。底层代码都是复杂极易出现bug的,会使你花极多的时间调试。如今的机器速度如此之快,这通常是得不偿失——比较明智的做法是使用一种运行较慢、较低效率,但大幅节省你的时间的语言。因此,选择Python。
其他对黑客而言比较重要的语言包括 Perl和 LISP。 Perl实用,值得一学;它被广泛用于动态网页和系统管理,因此即便你从不用Perl写程序,至少也应该学会看。许多人使用Perl的理由和我建议你使用Python的理由一样,都是为了避免用C完成那些不需要C高效率的工作。你会需要理解那些工作的代码的。
LISP值得学习的理由不同——最终掌握了它时你会得到丰富的启迪和经验。这些经验会使你在以后的日子里成为一个更好的程序员,即使你实际上很少使用LISP本身。
当然,实际上你最好五种都会(Python,Java,C/C++,Perl和LISP)。除了是最重要的黑客语言外,它们还代表了截然不同的编程思路和方法,每种都会让你受益非浅。
这里我无法给你完完全全的指导教会你如何编程——这是个复杂的技能。但我可以告诉你,书本和上课也不能作到(最好的黑客中,有许多,也许 几乎都是自学成材的)。你可以从书本上学到语言的特点——只是一些皮毛,但要使书面知识成为自身技能只能通过实践和虚心向他人学习。因此要作到 (一)读代码及(二)写代码。
学习如何编程就象学习用优美的自然语言写作一样。最好的做法是读一些大师的名著,试着自己写点东西,再读些,再写点,再读些,再写点…… 如此往复,直到你的文章达到你体会到的范文的简洁和力量。
过去找到适合阅读的好的代码是困难的,因为几乎没有大型程序的源代码能让新手练手。这种状况已经戏剧性地发生变化;开放源代码软件,编程工具和操作系统(全都由黑客写成)现在已经随处可见。让我们在下一个话题中继续讨论……
--------------------------------------------------------------------------------
2. 得到一个开放源代码的Unix并学会使用、运行它。
我假设你已经拥有或者能使用一台个人电脑(今天的孩子们真幸福 :-) )。新手们能够朝学习黑客技能迈出的最基本的一步就是得到一份Linux或BSD-Unix的一种,安装在个人电脑上,并运行它。
没错,这世界上除了Unix还有其他操作系统。但它们都是以二进制形式发布的——你无法读到它的源代码,也不可能修改它。尝试在运行DOS或Windows或MacOS的机器上学习黑客技术,就象是带着脚镣学跳舞。
除此之外,Unix还是Internet的操作系统。你可以学会上网却不知道Unix,但你不了解Unix就无法成为一名Internet黑客。因此,今天的黑客文化在很大程度上是以Unix为中心的。(这点并不总是真的,一些很早的黑客对此一直很不高兴,但Unix和Internet之间的联系已是如此之强,甚至连Microsoft也无可奈何。)
所以, 安装一套UNIX——我个人喜爱LINUX但还有其他种类的(是的,你可以同时安装Linux及DOS/Windows在同一电脑上)。学习它,使用它,配置它。用它在Internet上冲浪。阅读它的源代码。修改它的源代码。你会得到比在Microsoft操作系统上更好的编程工具(包括C,LISP,Python及Perl)。你会觉得乐趣无穷,学到在你成为大师之前意识不到的更多的知识。
想知道更多关于学习Unix的信息,访问 The Loginataka。
想知道如何得到一份Linux,访问 我在哪里可以获得Linux。(译者:对于中文读者来讲,最简单的方式未过于前往附近的D版/正版光盘店。)
你可以在 找到BSD Unix的求助及其他资源。
我有写一篇关于 Unix和Internet基础的入门文章。
(注:如果你是一个新手,我不推荐自己独立安装Linux或者BSD。安装Linux的话,寻求本地Linux用户组的帮助;或联系 Open Projects Network。 LISC维护着一些 IRC频道,在那里你可以获得帮助。)
--------------------------------------------------------------------------------
3. 学会如何使用WWW和写HTML
黑客文化建造的大多东西都在你看不见的地方发挥着作用,帮助工厂、办公室和大学正常运转,表面上很难看到它对非黑客的普通人的生活的影响。Web是一个大大的例外。即便政客也同意,这个巨大耀眼的黑客玩具正在改变整个世界。单是这个原因(还有许多其它的),你就需要学习掌握Web。
这并不是仅仅意味着如何使用浏览器(谁都会),而是要学会如何写HTML, Web的标记语言。如果你不会编程,写HTML会教你一些有助于学习的思考习惯。因此,先完成一个主页。(网上有很多好的教程; 这是一个。)
但仅仅拥有一个主页不能使你成为一名黑客。 Web里充满了各种网页。大多数是毫无意义的,零信息量垃圾——界面时髦的垃圾,注意,垃圾的水准都类似(更多信息访问 The HTML Hell Page)。
要想有价值,你的网页必须有内容—— 它必须有趣或对其它黑客有帮助。这是下一个话题所涉及的……
--------------------------------------------------------------------------------
4. 如果你不懂实用性的英语,学习吧。
作为一个美国人和一个以英语为母语的人,我以前很不情愿提到这点,免得成为一种文化上的帝国主义。但相当多以其他语言为母语的人一直劝我指出这一点,那就是英语是黑客文化和Internet的工作语言,你需要懂得以便在黑客社区顺利工作。
这一点千真万确。大概1991年的时候我就了解到许多黑客在技术讨论中使用英语,甚至当他们的母语都相同,英语对他们而言只是第二语言的时候;据我知道的报导,当前英语有着比其他语言丰富得多的技术词汇,因此是一个对于工作来说相当好的工具。基于类似的原因,英文技术书籍的翻译通常不令人满意(如果有翻译的话)。
Linus Torvalds,一个芬兰人,用英语注释他的代码(很明显这对他来说不是凑巧)。他流利的英语成为他能够管理全球范围的Linux开发人员社区的重要因素。这是一个值得学习的例子。
--------------------------------------------------------------------------------
黑客文化中的地位
象大部分不涉及金钱的文化一样,黑客王国靠声誉运转。你设法解决有趣的问题,但它们到底多有趣,你的解法有多好,是要由那些和你具有同样技术水平的人或比你更厉害的人去评判的。
相应地,当你在玩黑客游戏时,你得认识到你的分数主要靠其他黑客对你的技术的评价给出(这就是为什么只有在其它黑客称你为黑客时,你才算得上是一名黑客)。这个事实常会被黑客是一项孤独的工作这一印象所减弱;也会被另一个黑客文化的禁忌所减弱(现在逐渐减弱但仍强大):拒绝承认自我或外部评估与一个人的动力有关系。
特别地,黑客王国被人类学家们称为一种奉献文化。 在这里你不是凭借你对别人的统治来建立地位和名望,也不是靠美貌,或拥有其他人想要的东西,而是靠你的奉献。尤其是奉献你的时间,你的创造和你的技术成果。
要获得其他黑客的尊敬,基本上有五种事情你可以干:
--------------------------------------------------------------------------------
1. 写开放源代码软件
第一个(也是最集中的和传统的)是写些被其他黑客认为有趣或有用的程序,并把程序源代码提供给整个黑客文化使用。
(过去我们称之为“free software (自由软件)”,但这却使很多不知 free 的精确含义的人感到困惑。现在我们很多人,根据搜索引擎网页内容分析至少有2:1的比率,使用“ open-source”software(开放源代码软件)这个词)。
黑客王国里最受尊敬的偶像是那些写了大型的、好用的、具有广泛用途的软件,并把它们公布出去,使得每人都在使用他软件的人。
--------------------------------------------------------------------------------
2. 帮助测试并调试开放源代码软件
黑客也尊敬那些使用、测试开放源代码软件的人。在这个并非完美的世界上,我们不可避免地要花大多数的开发时间在调试阶段。 这就是为什么任何有头脑的开放源代码的作者都会告诉你好的beta测试员(知道如何清楚描述出错症状,很好地定位错误,能忍受快速发布中的bug,并且愿意使用一些简单的诊断工具)象红宝石一样珍贵。 甚至他们中的一个能判断出哪个测试阶段是延长的,哪个是令人精疲力尽的噩梦,哪个只是一个有益的小麻烦。
如果你是个新手,试着找一个你感兴趣的正在开发的程序,做一个好的beta测试员。你会自然地从帮着测试,进步到帮着抓臭虫,到最后帮着改程序。你会从中学到很多,并且与未来会帮你的人结下友谊。
--------------------------------------------------------------------------------
3. 公布有用的信息
另一个好事是收集整理有用有趣的信息做成网页或文档如FAQ列表,且让他们容易获得。
主要技术FAQ的维护者受到几乎同其他开放源代码的作者一样多的尊敬。
--------------------------------------------------------------------------------
4. 帮助维护基础设施的运转
黑客文化(还有Internet的工程方面的发展,就此而言)是靠自愿者运转的。要使Internet能正常工作,就要有大量枯燥的工作不得不去完成——管理mail list,新闻组,维护大型软件库,开发RFC和其它技术标准等等。
做这类事情的人会得到很多尊敬,因为每人都知道这些事情是十分花时间又不象编程那样好玩。做这些事情需要奉献精神。
--------------------------------------------------------------------------------
5. 为黑客文化本身服务
最后,你可以为这个文化本身做宣传(例如,象我这样,写一个“如何成为黑客”的正面的教程 :-) )(译者:不知道Barret把它翻成中文算不算?)。这并非一定要在你已经在这个圈子呆了很久,因以上四点中的某点而出名,有一定声誉后才能去做。
黑客文化没有领袖。精确地说,它确实有些文化英雄、部落长者、历史学家和发言人。若你在这圈内呆的够长,你或许成为其中之一。记住:黑客们不相信他们的部落长者的自夸的炫耀,因此大举追求这种名誉是危险的。与其奋力追求,不如先摆正自己的位置等它自己到你的手中——那时则要做到谦虚和优雅。
谁能提供类似的新闻代码,一定要能时时更新的新闻代码
站长俱乐部新闻发布系统 V5.20
界面预览:http://www.caifuw.com/pic/1.html
下载地址:http://www.caifuw.com/new5.20free.rar
新闻发布整站系统后台地址:Admin_Login.asp
管理员账号:admin
密码:admin
功能介绍:
本程序为品牌程序,信誉、质量、服务有保证
主要功能有文章,留言,下载,论坛,博客,统计,调查
模块化的程序设计,使用参数调用更加便捷
开放源代码,所有文件代码可以自由修改,没有任何加密,没有任何DLL组件
没有空间域名及使用时间的任何限制
文章、软件栏目设定简明便捷,采用无限级分类
文章发布可以添加word文件
可设置用户浏览时扣点数功能和有效期的功能
严密的安全措施,防SQL注入,防数据库下载,防木马程序,没有任何后门代码
程序开发平台使用最新的正版瑞星杀毒程序,保证程序没有任何病毒
程序可以防止黑客修改文件,放置恶意代码,防止大部分黑客的攻击
整合动网论坛,用户只需注册一次,即可访问新闻和论坛程序
页面修改简单,会Dreamweaver\FrontPage操作,就会修改本程序页面
众多网站采用本站程序,您可以上QQ向站长了解其他客户的网站
金山为什么公开源代码
对于IT行业,开放源代码是一件很得人心的事情,开放源代码可以证明自己没有作恶(后门之类的)可以让其他开发者基于自己的产品进行开发。
目前开源应该算是IT行业的发展方向吧。
国内的那些急速浏览器们不都是基于Google浏览器的开源版吗?这样虽然国内浏览器有很大市场份额,回头来在统计占有率的时候基本都算作Google浏览器的市场份额了。
谁知道代码有什么用??
什么代码嘛?有很多种的。
玄月道 实习小编 一级|消息(1)|我的百科|我的知道|百度首页 | 退出我的百科我的贡献草稿箱我的任务为我推荐 新闻网页贴吧知道MP3图片视频百科文库
帮助设置 首页 自然 文化 地理 历史 生活 社会 艺术 人物 经济 科学 体育 红楼梦 世博
代码科技名词定义
中文名称:代码 英文名称:code 定义:一组由字符、符号或信号码元以离散形式表示信息的明确的规则体系。 所属学科:通信科技(一级学科);通信原理与基本技术(二级学科) 本内容由全国科学技术名词审定委员会审定公布
百科名片
图例代码就是程序员用开发工具所支持的语言写出来的源文件
目录
简介
理论上的概念
最直观的概念作用 :
代码组合 :
版权 :
质量 :
效率 :
开放源代码出现背景
WEB标准化CSS+DIV代码
CSS+DIV网站设计的优势
CSS+DIV网站设计的问题
简介
理论上的概念
最直观的概念 作用 :
代码组合 :
版权 :
质量 :
效率 :
开放源代码 出现背景
WEB标准化CSS+DIV代码
CSS+DIV网站设计的优势
CSS+DIV网站设计的问题
展开 编辑本段简介
源代码是相对目标代码和可执行代码而言的。 源代码就是用汇编语言和高级语言写出来的地代码。目标代码是指源代码经过编译程序产生的能被cpu直接识别二进制代码。可执行代码就是将目标代码连接后形成的可执行文件,当然也是二进制的。 A.一组有序的数字或字母的排列,是代表客观实体及其属性的符号。 B.记录计算机程序的符号。 代码设计的原则包括惟一确定性、标准化和通用性、可扩充性与稳定性、便于识别与记忆、力求短小与格式统一以及容易修改等。 源代码是代码的一个分支,但在某种意义上来说,源代码是相当于代码的。
编辑本段理论上的概念
源代码是相对目标代码和可执行代码而言的。 源代码就是用汇编语言和高级语言写出来的地代码。 目标代码是指源代码经过编译程序产生的能被cpu直接识别二进制代码。 可执行代码就是将目标代码连接后形成的可执行文件,当然也是二进制的。
编辑本段最直观的概念
在这个网页上右键鼠标,选择查看源文件.出来一个记事本,里面的内容就是此网页的源代码. 关于两者的区别联系: 1.从字面意义上来讲,源文件是指一个文件,指源代码的集合.源代码则是一组具有特定意义的可以实现特定功能的字符(程序开发代码). 2."源代码"在大多数时候等于"源文件". 上面说过 在这个网页上右键鼠标,选择查看源文件.出来一个记事本,里面的内容就是此网页的源代码."这句话就体现了他们的关系,此处的源文件是指网页的源文件,而源代码就是源文件的内容,所以又可以称做网页的源代码...从字面意义上来讲,源文件是指一个文件,指源代码的集合.源代码则是一组具有特定意义的可以实现特定功能的字符(程序开发代码). 源代码(也称源程序),是指一系列人类可读的计算机语言指令。 在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
作用 :
源代码主要功用有如下2种作用: 生成目标代码,即计算机可以识别的代码。 对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。 需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。
代码组合 :
源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。 较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。 还有另外一种组合:源代码的编写和编译分别在不同的平台上实现,专业术语叫做软件移植。
版权 :
如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。
质量 :
对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,书写习惯的好坏将决定源代码的好坏。源代码是否具有可读性,是判断其好坏的重要标准。软件文档则是表明可读性的关键。
效率 :
虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是为什么汇编语言生成的文件比用VB语言生成文件普遍要小的原因。
编辑本段开放源代码
出现背景
您购买或下载的大多数软件只提供已编译的可运行版本。“已编译”意味着开发人员创建的实际程序代码(称为源代码)已经由一个称为编译器的特殊程序进行过处理,该程序将源代码转换为计算机可以理解的格式(有关编译器的详细信息,请参见C语言入门教程)。修改大多数应用程序的已编译版本都是极其困难的,人们几乎不可能知道开发人员究竟是如何创建程序的各个部分的。大多数商业软件制造商都将这一点视为有利条件,以防止其他公司复制自己的代码并将其用在竞争产品中,同时可以控制其特定产品具有的质量和功能。 开放源代码软件恰恰相反。源代码随已编译的版本一起提供,而且事实上鼓励人们修改或定制。支持开放源代码概念的软件开发人员相信,通过允许感兴趣的人修改源代码,应用程序将会更加完善,并且在很长时间内不会出现错误。 软件开发行业所定义的开放源代码软件必须满足一定的条件: •程序必须免费发布(但可以是出售的软件包中的一部分,例如在下面的例子中,Red Hat对Linux就是这样做的)。 •必须提供源代码。 •必须允许任何人修改源代码。 •可以重新发布修改后的版本。 •许可证不得要求排除其他软件或干预其他软件的运行。 下面让我们看一个开放源代码软件的真实例子。1991年,芬兰赫尔辛基大学的学生李纳斯·托沃兹(Linus Torvalds)基于Unix的衍生版本Minix开发了一个新的操作系统,并称之为Linux。托沃兹使用GNU通用公共许可证(它为开放源代码软件提供了很好的法律定义)发布了0.02版本的Linux。全球各地的人下载并开始使用Linux。其中,许多用户是独立的程序员,他们对托沃兹提供的源代码进行了修改。在接下来的3年中,托沃兹从其他程序员那里收到了这些修改后的版本,并将许多改动结合到基础版本中,于1994年发布了Linux的1.0版。 那些想要使用开放源代码软件的最终用户的一个共同顾虑,是这些软件缺乏质量担保和技术支持。因为该软件的许可证鼓励修改和定制,所以几乎无法提供支持。这正是1994年成立的Red Hat Software创建“Official Red Hat Linux”并销售这一通常是“免费”的软件的原因。Red Hat向软件包添加的主要价值是质量担保和技术支持。对于大多数企业而言,技术支持承诺成为促使其购买Linux而不是免费下载它的一个关键因素。除了Red Hat以外,还有其他几家公司将Linux打包(通常带有其他软件)以进行转售。 除了Linux以外,Mozilla(Netscape浏览器核心)、Apache(Web服务器)、PERL(Web脚本语言)和 PNG(图形文件格式)都是非常受欢迎的基于开放源代码的软件。
WEB标准化CSS+DIV代码
CSS+DIV是网站标准(或称“WEB标准”)中常用的术语之一,通常为了说明与HTML网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用css+div的方式实现各种定位。 CSS是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现 HTML 或 XML 等文件式样的计算机语言。 DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背景的元素。DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。 CSS+DIV网站设计的优势和问题 XHTM是目前国际上倡导的网站标准设计语言,因为XHTML网站设计语言具有的基本特点,这种CSS+DIV模式的网站设计具有一定的优势,不过目前在网站建设应用中CSS+DIV模式也存在一些问题。本文综合网站技术和设计人员的体会,并从网络营销应用的角度,将CSS+DIV网站设计的优势和问题归纳如下:
CSS+DIV网站设计的优势
首先,CSS的极大优势表现在简洁的代码,对于一个大型网站来说,可以节省大量带宽,而且众所周知,搜索引擎喜欢清洁的代码(其真正意义在于,增加了有效关键词占网页总代码的比重),因此使用CSS+DIV的web标准制作的网站具有搜索引擎友好的一定优势。 其次,CSS+DIV制作的网站使得网站改版相对简单,很多问题只需要改变CSS而不需要改动程序,从而降低了网站改版的成本。
CSS+DIV网站设计的问题
尽管CSS+DIV具有一定的优势,不过现阶段CSS+DIV网站建设存在的问题也比较明显,主要表现在: 第一,对于CSS的高度依赖使得网页设计变得比较复杂。相对于HTML4.0中的表格布局(table),CSS+DIV尽管不是高不可及,但至少要比表格定位复杂的多,即使对于网站设计高手也很容易出现问题,更不要说初学者了,这在一定程度上影响了XHTML网站设计语言的普及应用。 第二,CSS文件异常将影响整个网站的正常浏览。CSS网站制作的设计元素通常放在几个l外部文件中,这一个或几个文件有可能相当复杂,甚至比较庞大,如果CSS文件调用出现异常,那么整个网站将变得惨不忍睹。 第三,对于CSS网站设计的浏览器兼容性问题比较突出。基于HTML4.0的网页设计在IE4.0之后的版本中几乎不存在浏览器兼容性问题,但CSS+DIV设计的网站在IE浏览器里面正常显示的页面,到火狐浏览器(FireFox )中却可能面目全非(这也是为什么建议网络营销人员使用火狐浏览器的原因所在 )。CSS+DIV还有待于各个浏览器厂商的进一步支持。 第四,CSS+DIV对搜索引擎优化与否取决于网页设计的专业水平而不是CSS+DIV本身。CSS+DIV网页设计并不能保证网页对搜索引擎的优化,甚至不能保证一定比HTML网站有更简洁的代码设计,何况搜索引擎对于网页的收录和排序显然不是以是否采用表格和CSS定位来衡量,这就是为什么很多传统表格布局制作的网站在搜索结果中的排序靠前,而很多使用CSS及web标准制作的网页排名依然靠后的原因。因为对于搜索引擎而言,网站结构、内容、相关网站链接等因素始终是网站优化最重要的指标。
扩展阅读:
1
2
开放分类:
计算机技术,编程,电脑,信息工程,通信科技
我来完善 “代码”相关词条:
源码指令编码源代码网页
源码 指令 编码 源代码 网页 “代码”在汉英词典中的解释(来源:百度词典):
1.a code
百度百科中的词条内容仅供参考,如果您需要解决具体问题(尤其在法律、医学等领域),建议您咨询相关领域专业人士。
858本词条对我有帮助添加到搜藏 分享到:
合作编辑者
水奈子 ,SunWRong ,百科ROBOT ,载荷之周 ,appledj5845 ,战斗着是美丽的 更多
如果您认为本词条还需进一步完善,百科欢迎您也来参与编辑词条在开始编辑前,您还可以先学习如何编辑词条
如想投诉,请到百度百科投诉中心;如想提出意见、建议,请到百度百科吧。
玄月道
00
您的词条动态
等待您来编辑
编辑热词可获得额外经验值
进入我的百科
您目前的等级是1级
您目前的经验值是64点
您还需36点经验值即可升为2级
词条统计
浏览次数:约 125526次
编辑次数:28次 历史版本
最近更新:2010-08-02
创建者:yefeizi
最新动态
百科名片主题任务:
百科消息:
解梦与析梦--中外释梦文化大观
品味生活--八方美食大盘点
祸从口入--小龙虾与“肌肉溶解”
沪上风情--新上海浪漫之旅
古都新貌--老北京新感受文化专题
推广链接
IT技术话题交流平台!
想了解源代码信息,与专家建立社交网络?赶快加入My developerWor..
简介理论上的概念最直观的概念作用 :代码组合 :版权 :质量 :效率 :开放源代码出现背景WEB标准化CSS+DIV代码CSS+DIV网站设计的优势CSS+DIV网站设计的问题
© 2010 Baidu 权利声明
参考资料:百度百科
麒麟linux系统提供源代码吗
一、引言
麒麟操作系统是由国防科技大学、中软公司、联想公司、浪潮公司和民族恒星公司五家单位合作研制的服务器操作系统。按照麒麟官方的说法:
“Kylin服务器操作系统是国家863计划的重大研究成果,拥有完全自主版权的内核,与Linux在应用上二进制兼容,并支持64位,是中国独立研发成功的、具有完全自主知识产权的服务器操作系统。”
[1] —— 来自麒麟官方网站 和 863计划官方网站
[2] _105/indust/indust_news/l
“银河麒麟操作系统是针对未来的主流网络服务和高性能计算服务的需求,参照国际主流标准,参考Darwin、 FreeBSD、Linux和其它商用操作系统,借鉴UNIX操作系统和微内核操作系统的设计思想,设计并实现具有自主版权的、可支持多种CPU芯片和多种计算机体系结构的、具有高性能、高可用性与高安全性的、并与Linux应用和设备驱动二进制兼容的中文服务器操作系统,” ——摘自麒麟操作系统2.0.21内自带的帮助文档
近日,有不少人对麒麟操作系统宣称的“完全自主版权”和“中国独立研发成功”这两个核心问题产生了质疑。随着麒麟2.0.14和2.0.21系统可以通过麒麟的官方网站下载后( ),这种质疑的声音越来越大。麒麟除内核以外的应用大部分都来自自由组织GNU的代码,这些代码并不属于“中国独立研发”,而且他们的版权也不属于麒麟操作系统的开发者。更有甚者,有人开始通过反汇编麒麟操作系统内核发现和美国的FreeBSD开放源代码操作系统非常相似。随后又有人成功的用 FreeBSD的内核启动了麒麟操作系统。按照麒麟官方的介绍,麒麟具有Linux的二进制兼容的能力,可是丝毫没有提及与FreeBSD的兼容性,使得麒麟内核与FreeBSD的关系变得比较引人注目。在官方介绍中的简简单单的“参考”是无法解释这种相似程度的。
在强烈的关注声中,麒麟开发人员在2006年2月16日,给出了一个说明,《关于银河麒麟操作系统的说明》[3],发布在 .其中提到了和FreeBSD的关系:
“课题组通过评测和分析,认为当时正在研发中的FreeBSD 5.0 具有比Unix SVR4.2 更好的发展势头,特别是SMPng 项目的开展,为FreeBSD 5.0 支持SMP 对称多处理器系统奠定了良好的基础,因此银河麒麟操作系统的系统服务层从SVR4.2 升级到当时正在研发中的FreeBSD 5.0.”
声明发出后一定程度上得到了大家谅解,可是虽然提及和FreeBSD的关系,却又十分隐晦,既没有明确的对官方网站新闻中的报道失实承认错误,没有明确阐述麒麟的操作系统是否具有“完全知识产权”以及是否是“中国独立研发”,甚至也没有对官方页面上的事实报道进行修正。而且,既然说明使用了FreeBSD 5.0的代码,却又说仅限于系统服务层,而丝毫未提及所占比例。这依旧让人们对这个获得863计划软件重大专项的资助的操作系统到底有多少创新产生一个大大的疑问。
为了调查清楚麒麟操作系统内核自主创新的百分比,以及与其它操作系统之间的关系,我将麒麟操作系统内核与FreeBSD、NetBSD、OpenBSD、 Linux和Solaris的内核进行了可执行代码的相似度分析。
在整个过程中,我将尽量保持客观的原则进行分析。由于麒麟操作系统属于封闭源代码系统,因此在无法获得内核源代码的情况下,我将只进行二进制可执行代码文件的相似度分析。由于可执行代码受编译环境、内存分布情况以及模块的变动的影响很大,因此,会产生即使采用同一套代码,却产生很低的相似度情况。但是,对操作系统内核这种大型软件系统来说,却不会因为不同的代码而产生很高的相似度的情况。因此,我们将这次对二进制可执行代码分析所得的相似度作为相似度的下限。换句话说,真实的相似度应该会高于此次分析结果,但是由于分析方法的局限性,无法取得上限。
二、可执行文件的相似度比较
二进制可执行文件的相似度分析一直是一个难题。大家都知道,即使是同一份源代码,使用同一个编译器,可用不同的编译参数进行编译后,代码也会产生极大的差异。当发生有人因为盗用别人的源代码而产生的侵权后,如果不能够将二者的源代码拿出进行比较的话,判断是否抄袭非常困难。因此,一直以来或多或少,总会有人无所顾忌的将开放源代码的软件拿来加入到自己的软件中,或者干脆就是在那些源代码的基础上稍加修改和更换了版权信息就宣称是自己研发的。因为他们知道,只要不把自己的源代码公诸于众,那么抄袭就很难判定。
APE格式与FLAC格式有什么区别?
1、区别
压缩算法不同,ape是双精度型浮点数字算法,flac是整型数字算法,一般来说ape压缩后的体积更小些,不过每一种算法里都有不同的压缩级别,压缩级别越高体积就越小,解压时占系统资源就越多,有些高压缩的ape和flac部分播放器无法播放。另外flac是开源的,所以一般播放器对flac的支持更好。音质上如果机器没有问题播放效果和无压缩的wav没什么区别,不过由于播放时多一道解压步骤,这一过程也会影响音质造成音质损失。
2、FLAC
FLAC(Free Lossless Audio Codec),中文可解释为无损音频压缩编码。FLAC是一套著名的自由音频压缩编码,其特点是无损压缩。不同于其他有损压缩编码如MP3 及AAC,它不会破坏任何原有的音频资讯,所以可以还原音乐光盘音质。2012年以来它已被很多软件及硬件音频产品所支持。
3、APE
APE是流行的数字音乐无损压缩格式之一,因出现较早,在全世界特别是中国大陆有着广泛的用户群。与MP3这类有损压缩格式不可逆转地删除(人耳听力范围之外的)数据以缩减源文件体积不同,APE这类无损压缩格式,是以更精炼的记录方式来缩减体积,还原后数据与源文件一样,从而保证了文件的完整性。APE由软件Monkey's audio压制得到,开发者为Matthew T. Ashland,源代码开放,因其界面上有只“猴子”标志而出名。相较同类文件格式FLAC,ape有查错能力但不提供纠错功能,以保证文件的无损和纯正;其另一个特色是压缩率约为55%,比FLAC高,体积大概为原CD的一半,便于存储。
转载请注明出处51数据库 » 开放源代码软件的新闻 开放源代码软件如何生存的
安妮大神