



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
源代码:一系列人类可读的计算机语言指令源程序(source code)是指未编译的按照一定的程序设计语言规范书写的文本文件。源代码(也称源程序),是指一系列人类可读的计算机语言指令。在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是为什么汇编语言生成的文件比用VB语言生成文件普遍要小的原因。源代码就是用汇编语言和高级语言写出来的代码。主要对象是面向开发者;我们平常使用的应用程序都是经过源码编译打包以后发布的,呈现的最后结果是面向使用者,最终客户的。理论上的概念源代码是相对目标代码和可执行代码而言的。源代码就是用汇编语言和高级语言写出来的代码。目标代码是指源代码经过编译程序产生的能被CPU直接识别的二进制代码。可执行代码就是将目标代码连接后形成的可执行文件,当然也是二进制的。最直观的概念在这个网页上右键鼠标,选择查看源文件,出来一个记事本,里面的内容就是此网页的源代码.关于两者的区别联系:1从字面意义上来讲,源文件是指一个文件,指源代码的集合。源代码则是一组具有特定意义的可以实现特定功能的字符(程序开发代码).2源代码在大多数时候等于源文件.比如在这个网页上右键鼠标,选择查看源文件。出来一个记事本,里面的内容就是此网页的源代码.这句话就体现了他们的关系,此处的源文件是指网页的源文件,而源代码就是源文件的内容,所以又可以称做网页的源代码。.源代码是指原始代码,可以是任何语言代码。汇编码是指源代码编译后的代码,通常为二进制文件,比如DLL、EXE、.NET中间代码、JAVA中间代码等。高级语言通常指C/C+、BASIC、C#、JAVA、PASCAL等等 汇编语言就是ASM,只有这个,比这个更低级的就是机器语言了。源程序源文件源代码是一回事。程序使用源程序一般就是可以用记事本打开的好多行英文的,用编程语言写好的软件源程序经过编译成目标程序,才能运行。一般目标程序不能再修改了。我们电脑上安装的软件都是目标程序。除了脚本语言的源程序外,其他源程序是不能直接运行的。提倡软件开源的人士认为应该提供源程序给用户,让用户自己修改,有利于软件行业的发展。反对的人觉得这样不利于保护版权。你如果不懂编程,源程序可以不管它。不影响正常使用。源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。较为复杂的软件,源程序文件可以达到成千上万个。为了降低复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。还有另外一种组合:源代码的编写和编译分别在不同的平台上实现,专业术语叫做软件移植。关于开放源代码的定义以及解释作者:王立 来源:eNet硅谷动力【译者的声明】本文是开放源代码定义、开放源代码定义原理以及OSI Certified标志与纲要的中文译文。本文由王立在1999年8月翻译。本人在翻译时为确保译文与原文在含义上一致性付出了最大努力,但是本人不能对由于译文与原文在含义上的差异而造成的任何误解或对译文的误解所造成的任何直接的、间接的损失承担任何责任。开放源代码并不仅仅意味着对源代码的访问权。开放源代码软件的发布条款必须满足以下条件:我们认为本开放源代码定义涵盖了由绝大多数软件团体使用的术语开放源代码的最初含义和当前含义。然而,该术语被广泛地应用,并且它的含义变得不精确了。OSI Certified标志是某个软件发布许可证是否服从开放源代码定义的OST认证方式。一般的术语开放源代码并不提供这种担保,但我们仍然鼓励使用开放源代码这一术语以表明它符合开放源代码定义。关于OSI Certified标志的信息,以及已经通过了OSI Certified、符合开放源代码定义的许可证,请参见OSI Certified标志与纲要。【开放源代码定义之原理】给出开放源代码的定义的目的是:把我们所确信的、由软件开发团体所公认的开放源代码的含义作为一组具体的准则写下来-该准则确保按照开放源代码许可证发布的软件可以得到与其它软件同样认真的评审、使软件可以不断地得到改良和遴选,从而提供非开放软件所难以提供的可靠性与能力。为了使此项工作持续发展,我们必须抵制人们为了短期利益而中止为软件开发做出贡献。这意味着,许可证的条款必须防止人们藏匿(lock up)源代码从而导致只有很少的人才能够阅读和修改它。当软件的开发者按照由OSI认证的许可证发布他们的软件时,他们可以在软件中使用OSI Certified标志。这种认证标志告知用户,该软件所采用的许可证符合开放源代码定义。关于我们的认证标志的更多信息及其纲要,请参见OSI Certified标志与纲要。1 自由地再发布通过强制要求许可证允许自由地再发布,我们抵制了任何为了获得少量短期销售金额而放弃长期效益的诱惑。如果我们不这样做,就会有很多压力迫使合作者放弃承诺。2 源代码由于软件只有通过修改才能够得到改进,因此我们要求获得易于理解的源代码。因为我们的目的是使软件易于改进,我们也就希望软件易于修改。3 派生作品仅仅提供可以阅读的源代码,对于实施认真的评审、对于软件的快速改良与遴选来说都是不够的。为了加快改进软件的速度,人们需要能够进行试验和对修改进行重新发布。4 作者的源代码的完整性鼓励对软件进行各种改进是一件好事,但使用者有权知道谁应该对他们所使用的软件负责。软件的作者和维护者都有权知道需要他们提供支持的软件是什么,以维护他们的名誉。因此,开放软件许可证必须保证可以容易地得到源代码,但可以要求源代码以原始源代码和一组补丁文件的形式发布。按照这种方式,就可以获得非正式的的修改而同时又可以轻易地把它们从原始源代码中区分出来。5 不得歧视任何个人或团体为了从该进程中获得最大的收益,应该给尽可能多的个人和团体以同等资格对开放源代码软件做出贡献。为此我们禁止开放源代码许可证把任何人排除在这个进程之外。6 不得歧视任何应用领域(fields of endeavor)该条款的主要目的是禁止许可证中含有使开放源代码软件无法在商业上使用的规定。我们需要商业用户参与我们的工作,而不让他们感到被排除在外。7 许可证的发布本条款的目的是禁止通过非直接的手段,例如需要签署非公开的协定,使软件无法公开。8 许可证不能针对于一个产品本条款用于预防其它许可证陷阱。9 许可证不能影响其它软件开放源代码软件的发布者有权为他们自己的软件做出选择。是的,GPL满足这条要求。按GPL发布的库只影响(contaminate)在运行时与之连接的软件,于仅仅和它一同发布的软件无关。OSI Certified标志与纲要开放源代码定义给出了开放源代码软件的基本性质。不幸的是,术语开放源代码遭到了滥用,并且由于它的描述性,它不能作为一个商标(这是我们的首选)被保护。由于社团需要一种可靠的方式以确定一份软件是否真正是开放源代码软件。OSI为此目的而注册了一个认证标志,OSI Certified。如果你在一份软件上看到了该标志,那么该软件就是必定是按照遵从开放源代码定义的许可证发布的,否则,该发行人就是在滥用该标志而且违反了法律。OSI Certified标志被用于软件而不是许可证:人们需要知道的是组成软件的包和它们的许可证是开放的源代码。此外,单独的许可证可能不是货物,它由美国专利和商标局注册认证标志。但是软件的作者显然必须能够在不询问我们的情况下(自我认证)、在适当的时刻确认他们的软件是按照OSI Certified的开放源代码方式发布的。所以认证按照两步进行:* OSI提供一个满足开放软件源代码定义的开放源代码许可证表。这些许可证经过公众的详细审查并且被我们所批准。* 如果你希望在你的软件上设置OSI Certified标志,你可以从列表中选择一个获得批准的许可证并根据它发布软件,并且适当地为软件做标志。上面仅仅是一个概括。下面给出申请批准许可证和把OSI Certified标志应用在你的软件上的详细说明。获得许可证的批准1 通过电子邮件发送许可证。在电子邮件中说明你是否愿意以你的签名或者匿名地把许可证发送到许可证讨论列表中。(我们愿意考虑那些根本不希望被发送的许可证,但由于社团的评审是批准的一个重要组成部分,我们将不得不把该许可证私下地发送给评审者:因此,对没有被发送到许可证讨论列表中的许可证的批准,要花费更长的时间,并且通常要更多地与你交流。)2 如果我们发现你的许可证不符合开放源代码的定义,我们将与你一同解决这个问题。3 同时,我们将关注许可证论坛列表,并且与你一同工作以解决大家提出的任何未包含的问题。4 作为该过程的一部分,我们还将就许可证问题向外界寻求法律上的建议。5 一旦许可证符合了开放源代码定义,并且在许可证论坛上经过了充分的讨论或者其它的评审者没有提出我们认为重要的问题,我们将通知你,许可证已经被批准了,同时它被复制到我们的网站上,并且被加入以下的许可证列表。使用该标志你可以在这两种软件的发行上使用OSI Certified标志。该软件的发布包括并且达到了被批准的许可证列表中某个许可证的要求,或者该软件的源代码已经被明确地放到公众可以得到的位置。为了表明你的软件是按照OSI Certified发布的,你必须不加任何修改地把下面两者之一,按照下述方式加入你的软件。完整的声明是:This software is OSI Certified Open Source Software.OSI Certified is a certification mark of the Open Source Initiative.较简短的声明是:OSI Certified Open Source Software你的软件的每种发布形式都有自身的要求:* 如果软件以电子的形式发布(而不是实物(tangible)的形式),你必须把完整的声明放在README文件或者类似的、人类用户将首先阅读的文件中。* 如果软件以实物形式发布,你必须完成以下所有可行的任务:* 如果软件的发布包括印刷品,你必须把完整的声明加入该印刷品。* 如果软件发布在可擦写的媒体(例如软磁盘)、CD-ROM、磁带等媒体上,它们在物理上可以添加能够被人的裸眼所阅读的简短声明,而不影响它们的功能,你必须把完整的声明或简短的声明标注在该媒体上。* 如果软件的发布是一个的包,从而使其中的声明不能被阅读。你必须在包的外面放置完整的声明。如果不能把以上任何条款用于发布,请与我们联系,我们将把你选择的位置加入本列表。获得批准的许可证以下许可证满足开放源代码的定义,并且已经被批准用于OSI Certified的开放源代码软件。没有给出批准日期的许可证是在1999年1月1日以前批准的。* The GNU General Public Licen
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 田径三级裁判考试题库及答案
- 第1课 中华文明的起源与早期国家
- 中学校长在2025年秋季学期开学典礼上致辞:在时光里耕耘在成长中绽放
- 2025年高级保育师模考试题(含参考答案)
- 2025年高等数学的考察与解题试题及答案
- 中职美术基础题库及答案
- 万达物业出租管理办法
- 专项保护基金管理办法
- 碳减排贷款管理办法
- 社区楼门长管理办法
- 2024北京北师大实验中学高二10月月考数学试题及答案
- 子宫腺肌症术后护理查房
- 在制品生产车间管理制度
- 学校口腔健康知识讲座
- 子公司运营规范管理制度
- 医疗美容手术管理制度
- 道路绿化修剪合同范本
- T/CSPSTC 75-2021微动探测技术规程
- 城市轨道交通工程测量技术培训课件
- 2025年数据分析师初级考试试题及答案
- 信任主题班会课件
评论
0/150
提交评论