为什么会有自由软件
① 什么叫破解版
破解版就是把注册项处理掉,直接可以安装使用的版本。有的代有算号器,直接计算序列号使用。
破解版就是能免费用的正版软件,一般网上下载软件都要破解过的.
这其实是当前网络上提供的下载软件的授权方式。
一般分为以下几类:
【商业版】:也就是正规的商业发行版,这种软件本应通过正规购买方式获得,但网络上一些朋友将这些软件进行技术处理之后以软件包的形式提供下载,一般来说在使用上和正规购买的版本没有什么区别。
【试用版】:这类软件一般是商业软件开发商自己通过网络提供于大家下载的。但和正式商业版相比在功能上会有一定限制,比如原来在网络上提供的金山2003试用版。就有使用次数的限制。
【共享版】:也就是共享软件,这类软件一般是由个人开发完成,只通过网络下载的方式发行,但软件开发者为了获取利益,会对软件进行技术处理,在未向作者正式购买该软件之前会在使用过程中受到一定限制,如只能使用30天,或者某些高级功能无法使用。当使用者向作者付款之后,会通过比如注册码方式对软进行解锁,从而能够无障碍使用该软件。
【免费版】:和共享软件一样,大多由个人开发,但却是免费提供给大家使用,没有任何功能或时间、次数上的限制。但一般不允许对该软件进行二次开发或用于商业赢利目的。
【自由版】:也就是自由软件,这类软件不但向使用者提供没有任何限制的使用权限,而且遵循相关的自由软件授权协议允许任何人对该软件进行二次开发或用于商业用途,甚至有时会提供软件源代码(LINUX软件大多属于此类)。
【破解板】(注册版):严格来说这不属于一种授权版本,因为他是针对商业版、试用版、共享版这类有使用限制的软件进行二次开发之后形成的特殊版本,也就是说,使用者可以在没有任何经济付出的条件下无限制的使用该软件的全部功能。一般通过改写原软件、制作算号器、拦截注册信息等等方式实现。
② linux自由软件的广泛流行为什么会对我国安全操作系统的研究与开发具有积极作用
从linux的特点和历史来写
linux之父当初是为了有一个自由的软件研发社区,为了使用户能够掌握自己正在使用的软件的代码,可以根据自己的需要去修改,而不是被软件厂商垄断这个权力才启动的自由操作系统。
由于背后有一个庞大的开发社区,并且有大的厂商加入开发,连google,微软都有贡献代码,并且代码是开源的,所以系统一定是安全的,比任何闭源的系统都安全因为你可以自行审查系统的每一行代码。
结合我国的情况,自主研发的定义是可以自主生产,既然这个系统的源码是公开透明的,当然可以使用它来结合自己的技术进行二次开发,相似的案例是高铁技术,我们买了西门子的技术,然后加上自己的创新,目前中国自行生产的动车组比西门子和日本的速度更高,由于技术是自己的,所以再次销售动车组技术给外国,西门子也不会打官司告中国铁路部门。
又比如中国的战斗机使用的雷达技术,我们通过各种渠道从欧洲买了十二个回来拆散然后研究,吸收了它的技术之后装在自己的战斗机上,就变成了自己的技术。
那么开源的操作系统等于是送给我们的高铁技术和雷达,既然花钱买的技术最终都变成自己的技术,那么开源的linux当然对我国安全操作系统的研究与开发具有积极作用。
③ 自由软件、共享软件和商业软件各有什么利弊
首先,绿色软件不是一定指不用安装的软件,应该是指除了软件本身之外,不在系统注册表内写入任何数据,也不像软件目录之外的位置写入任何文件的软件,这样的软件即使有安装程序也无所谓,同样可以算作绿色软件,这样的软件的特点是可以不必安装,直接复制到的硬盘上就可以使用,卸载的时候直接删除软件本身即可,不会在系统内留下任何垃圾(包括注册表项和系统目录内的文件),这是一个单独的概念,和其他的三种不属于同一个分类体系。自由软件、共享软件和免费软件属于同一分类体系,是和商业软件相对的:共享软件本身是收费的,其源代码不开放,但是会给予用户试用的权利,试用的方式可以使限制期限或者限制功能,待用户交费后再开放全部工作或者延长(可以至无限期)使用期限并提供技术支持服务。免费软件是不收费的,不能限制功能或者使用期限,如果不收费但是需要注册才能开放全部功能的软件也属于共享软件而不属于免费软件,但是其源代码是受版权保护得不能随意更改和使用。注意:免费软件和共享软件两者(尤其是源代码)都是受版权保护的,不能随意的更改、使用和公布。而自由软件是全部开放的,不仅可以免费使用全部功能,而且其源代码也是开放的,可以自行更改和使用,但是由其源代码衍生出的新的软件也必须是自由软件,不能用作商业用途或者自行声明知识产权,否则将被视为侵权。
④ 为什么说Linux是自由软件,允许用户自由(免费)使用、修改,请举个例子。
linux内核的源码是可见的,你可以清楚看到内核中如内存管理,进程调度等的C的实现过程,当然,你也可以更改它们,但是,如果作为商用,要公布更改的源码,以供大家互相学习,这就是Linux系统进步的秘诀,因为它集大家之所长。
⑤ 什么是非自由软件
除了自由软件之外的都是非自由软件,有些是收费的,比如你熟悉的Windows;有些是免费的,比如我日常用的开发Web应用的活字格。
“自由软件”尊重用户的自由,并且尊重整个社区。粗略来讲,一个软件如果是自由软件,这意味着用户可以自由地运行,拷贝,分发,学习,修改并改进该软件。因此,“自由软件”是关乎自由的问题,与价格无关,软件如何定价并不影响它是否被归类为自由软件。英文中,我们使用Free Software。由于Free一词既有自由,也有免费的意思。而Free Software中的Free是指“自由言论”中的自由,而非“免费”这一意项。为避免歧义,在使用英文时,我们也会借用法语或西班牙语的“Libre Software”来指自由软件。
我们支持软件用户的自由,因为我们坚信这是每个用户应得的。有了这些自由,软件用户,无论是个人还是集体,都可以掌控所运行的软件,并决定这些程序如何为自己服务。如果一个软件令用户失去了这种控制权,我们则称它为“非自由”的,或“专有”的程序。与自由软件相反,非自由软件会操控它的用户,而软件的开发者则掌控着软件。这使得非自由软件成为了非正义力量的帮凶。
四项基本自由
如果一个软件是自由软件,那么它必须为用户提供以下四项基本自由:[1]
自由度0:无论用户出于何种目的,必须可以按照用户意愿,自由地运行该软件。
自由度1:用户可以自由地学习并修改该软件,以此来帮助用户完成用户自己的计算。作为前提,用户必须可以访问到该软件的源代码。
自由度2:用户可以自由地分发该软件的拷贝,这样就可以助人。
自由度3:用户可以自由地分发该软件修改后的拷贝。借此,用户可以把改进后的软件分享给整个社区令他人也从中受益。作为前提,用户必须可以访问到该软件的源代码。
一个软件只有提供了以上所有的自由给它的用户,才可以被成为自由软件。否则,它就是非自由的。尽管我们也可以比较非自由软件为其用户提供的自由度,但是我们认为,无论如何,非自由软件本身是不道德的。
无论在哪种情况下,只有所有用户使用的代码都满足了这四项基本自由,该程序才能被视作自由软件。例如,有两个程序,甲程序运行的时候会自动调用乙程序。发布甲程序意味着用户必须使用到乙程序,那么必须甲乙两个程序都是自由的,甲程序才是自由的。如果通过修改甲程序,使其不再依赖乙程序,那么仅仅以自由软件的形式发布甲程序即可。
“自由软件”不等于“非商业软件”。一个自由软件必须允许商业用户,商业开发,和商业发布。商业开发自由软件早就司空见惯了,这样的自由软件非常重要。你可能需要花钱购买自由软件的拷贝,也可能免费拿到。但是无论你如何获得你的拷贝,作为用户,你的四大自由都会被保证,你可以自由地运行,修改,发布甚至出售你拿到的自由软件。
本文着重介绍在哪些情况下,软件会被认为提供了或剥夺了某个自由度。
自由度0:无论用户出于何种目的,必须可以按照用户意愿自由地运行该软件。
“自由地运行程序”(自由度0)意味着任何人或组织可以在任何(支持的)计算机系统上,出于任何目的去运行该程序,并且没有义务通知软件的开发者或任何个人或团体。此处,用户的目的是重点,而非开发者的目的。如果你是该程序的用户,那么你就可以自由地运行该程序。同理,如果你把程序发布给别人,那么此人也成了软件的用户,他也可以出于自己的任何目的运行该软件。然而,你作为软件的发布者,不可将自己的目的强加于你的用户。
“自由地运行程序”意味着没有人可以阻止用户使用该程序做任何事情。它并没有规定该程序必须提供哪些功能特性,也并不意味着软件必须迎合用户的所有需求。
学习和更改程序源代码的自由
自由度1和3(自由地修改软件;自由地发布修改后的软件)意味着用户必须有权访问程序的源代码。由此,访问源代码是成为自由软件的必要条件。混编(Obfuscated)后的“源代码”不能被算作此处讨论的源代码。
自由度1(自由地运行程序)包括自由地运行自己修改后的程序以替代原版程序。如果程序是跑在某种设备上,该设备可以运行别人修改的软件但不运行你修改的软件—这个方法叫做“tivoization”或者 “锁死”,或者(用其发明者的术语)叫做“安全启动”—自由度1将被视为无法满足。该设备中的程序也将不被视为自由软件,即使它们的源代码是自由的。
倘若要修改某个程序,一种很重要的方法就是从别的程序中拿来现成的函数,或模块来使用。如果某个程序的许可证中禁止你使用其他合理授权的软件的代码来修改该程序—比如,如果某个程序的许可证要求你只能使用你拥有版权的代码—那么这个程序的许可证将不被视为自由软件许可证。
对软件的修改可能是出于各种目的。某个特定的修改究竟是好是坏,这本身是个非常主观的事情。自由软件许可证不能对用户修改软件做任何限制,例如,不能仅仅因为某人觉得哪处修改不够好,就禁止用户自己做这个改动。
自由度2:用户可以自由地分发该软件的拷贝。
自由分发(自由度2和3)意味着你(即,软件用户)可以把软件原版或修改版再发布给其他用户。你可以免费发布,也可以收取费用。软件可以发布给任何地方的任何人。所谓“自由”,意味着你的这些行为(发布软件原版或修改版给其他用户;或其他自由度中提及的行为)不必事先征得任何人的许可,也不必为此额外支付任何费用。
用户可以自由地运行该程序或对程序进行修改。如果仅仅私下自己修改或运行该程序,那么你没有义务将该行为公开给任何人。如果你发布了自己修改后的程序,那么你也没有任何义务将该修改行为告知给哪个或哪些指定的人或组织。
自由度3允许用户自由地发布软件的修改版。自由软件不一定要求修改版必须继续采用自由软件许可证。换句话说,自由软件许可证可以不必是left许可证。但是,如果一个软件许可证要求修改后的软件必须以非自由软件的形式发布,那么该许可证则不被视为自由软件许可证。
“自由地分发软件的拷贝”意味着必须允许用户自由地发布软件的原版或用户自己的修改版。无论那个版本,用户都可以选择发布程序的二进制或可执行文件,也可以发布程序的源代码。(以可执行文件的形式发布程序可以让人方便安装,这一点对于推广自由软件也至关重要。)对于某些程序,也许无法或者不必发布二进制或可执行文件(一些编程语言的实现可能并不支持,例如某些脚本语言),但是用户必须有权利以任何方式生成二进制或可执行文件,并且发布这些生成的软件。
Copyleft
当然,只要不违背这些核心自由,自由软件许可证也可以额外添加一些要求,限制软件的分发步骤。例如,left就是常见的一种限制。简言之,left要求软件的修改版必须同样以自由软件的形式发布。这条限制与核心自由并不冲突,相反,left可以用来很好地保护软件用户的自由。
在GNU项目中,我们使用left这一规则来保护软件用户的四大自由。我们相信Copyleft是更好的选择。然而,非left的自由软件也同样是合乎道义的。参见自由软件分类来了解更多关于“自由软件”、“left软件”以及其他分类和它们之间的关系。
打包和发行的详细规则
自由软件可以对修改版的打包或分发方式做一定的限制。这些限制不得与前面提到的四大自由相矛盾,不得直接或间接地限制用户运行,修改或发布软件。例如,某些自由软件可以要求修改版不得使用软件的原有名字发布;不能使用软件的原有商标;必须标明软件来自谁的修改等等。只要这些限制不会明显地限制用户再发布软件的修改版,那么它们就是可以接受的。既然已经对软件修改了,那么你估计也就不会在乎针对这些额外的小限制再做一点修改了。
同理,自由软件也可以要求用户“如果以这种方式发布,那么用户必须也可以从另外某一渠道获得”。比如,某个自由软件可能会要求如果发布了修改版,那么必须也要给原作者一份修改后的拷贝。(注意:此处前提是软件必须发布,用户可以私下修改软件而不发布,这样也就不必把修改版发给开发者了。)另外还有一些规则也不会与自由软件原则冲突,比如软件可以要求修改后的版本发布时需要附带相应的原版软件的代码。
有一些特例需要额外讨论:如果某软件许可证要求修改后的软件必须修改可执行文件的名字,那么必须保证软件运行的环境允许修改文件名或具备某种别名机制,否则该要求将被视作与自由软件原则相背。因为软件的可执行文件可能会被其他第三方软件调用,而文件名则是这种调用的基础。别名机制可以保证用户在遵守该要求的前提下,顺利将原版软件替换成修改版,并且不会影响依赖该软件的第三方程序。
出口条例
一些政府的出口限制或贸易制裁可能会影响到软件用户在国际范围内发布软件的自由。软件开发者也许没有能力去改变这些现实,但是我们可以拒绝自我审查。自由软件的开发者不得在软件许可证中要求用户遵守哪条特定法律,因为开发者无法保证用户所在国度或地区具备该法律条款。这样,自由软件许可证就不会给用户在法律之外添加额外的违反基本自由的限制。
当然,自由软件可以仅仅在许可证中提及某条出口条例或相关法律,而不强制要求用户遵守。这样做只是为用户提供了信息而没有实际限制用户。如果某条出口限制法律是普遍存在,全部用户所在的地区都做出该限制的,那么在许可证中要求用户遵守该条例也不会被视为限制用户的自由。然而,这会存在潜在问题:一旦该条出口限制法律在某个用户的所在地区做了修改,那么该许可证也就不被视作自由的。
法律考虑
要落实这些自由度,就应该保证:如果用户遵守许可证上的要求,那么这些自由度就必须是长久的,不可更改的。如果软件的开发者有权利随意修改已发布软件的许可证,那么该软件也不被视为自由软件。
自由软件许可证不得要求用户额外遵守哪些非自由软件的许可证。例如,自由软件许可证不得要求用户必须遵守“所有使用的软件的许可证”。因为用户可能使用非自由软件,而要求用户遵守全部使用的软件的许可证则意味着需要遵守非自由软件许可证,这要的要求将被视作非自由的。
自由软件许可证可以指定与软件相关的诉讼需要遵守哪个地区的法律,或需要在哪里提起诉讼。
基于合同的许可证
绝大部分自由软件许可证是基于版权的。基于版权,能采取的限制往往相对有限。如果一个许可证基于版权并且遵照上述的自由软件原则,那么它很可能被视作是自由软件许可证。当然,我们也见过一些例外,不过这些还很少见。然而有些自由软件许可证是基于合同的。合同可能会有更多的额外要求。这就意味着基于合同的许可证可能会在很多不经意的地方违背自由软件原则,导致软件不被视作自由软件。
很遗憾,我们无法列出所有可能的意外情况。如果一份基于合同的许可证对用户做出了一些额外限制,并且这些限制是不可能包含在一份基于版权的许可证中的,那么我们就需要再三考虑它是否可以被视作自由许可证。很多情况下,这些许可证都是非自由的。
在谈论自由软件时使用正确的词汇
在讨论自由软件的时候,尽量避免使用“赠送”或“免费”一类的词汇。因为这会让人们联想到价格,而非自由。一些常见的词汇,例如“盗版”,其中包含了或褒或贬的感情色彩,而这些感情体现的价值观并不被我们接受。参见歧义词汇列表,里面列举了我们不推荐使用的词汇以及相关的讨论。我们还有一个列表,包含了“自由软件”一词在不同语言中的推荐翻译。
我们如何诠释这些标准
最后请注意,在实践中,本文中提及的各种关于自由软件的界定标准都需要仔细思考后再做出解释。在决定一个软件许可证是否是自由软件的时候,我们会仔细查看该许可证的内涵和行文是否符合本文中涉及的原则,由此决定许可证是否为自由软件许可证。如果许可证中包含了一些不合理的限制,哪怕这些限制没有在本文中提及,我们也会拒绝承认它是自由的。有时候,某个许可证可能会引起一场大讨论,甚至需要专业律师参与。这时候,我们往往需要仔细定夺之后才能给出结论。遇到这样的许可证,在做出结论之后,我们很可能会更新本文,把之前没有考虑到的因素添加进来。
获得关于自由许可证的帮助
如果你想知道哪些许可证是自由软件许可证,可以参见我们的许可证列表。如果你关注的许可证没有在这个列表中提及,你也可以给我们发邮件来单独询问。我们的邮箱是:<[email protected]>。
如果你打算起草一份新的自由软件许可证,那么请先不要给上述邮箱发邮件。希望您能先考虑联系自由软件基金会。太多的自由软件许可证会增加用户的选择难度,我们也许可以按照您的要求,帮您找到一份现有的许可证,而不必您亲自操刀起草一份新许可证。
如果您真的需要自己创造一个新许可证,那么我们会尽力帮助您。在我们的帮助下,我们会保证您的许可证是自由的,并且帮助您避免一些常见的问题。
软件之外
基于同样的原则,自由软件的手册也必须是自由的,因为手册本身也应该被视作软件的一部分。
同理,相同的原则也适用于其他的具有实用功能的作品中 — 所谓实用功能的作品,是指作品中包含实用的知识,例如教育材料或参考材料。维基网络就是其中一个广为人知的例子。
任何作品都可以是自由的,自由软件的定义也可以延伸到其他作品上。关于这方面的材料,请参见自由文化作品。
开源?
现在还有另外一伙人,使用“开源”一词来表达与“自由软件”类似,但不完全相同的概念。我们更倾向于使用“自由软件”这个词。因为一旦你看到自由二字,就明白了它所要表达的意思。而“开放”却并不意味着自由。
⑥ Unix和Linux都是自由软件,那为什么Linux版本统一,Unix版本混乱
UNIX和LINUX的区别和联系
Linux和UNIX的最大的区别是,前者是开放源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件。这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能够接触到产品的原型。
另外两大区别:
1) UNIX作为商业操作系统与Linux相比其支持的硬件种类要多一些,但两者运行几乎一样稳定.
2) 两者都是多用户、多任务操作系统,也都可以作为网络操作系统使用.
⑦ 火狐是自由软件,为什么要支持自由软件
源码是开源的,因此可以自己编译和自己增加删减功能等。而且透明化也保证了安全
⑧ 什么是源代码
源程序是指未编译的文本代码。
验证码主要是为防止暴利破解,所以需要防止图片识别。所以验证码一般情况下为书写不正规,且有随机的背景杂点,或杂线
源代码(也称源程序),是指一系列人类可读的计算机语言指令。
在现代程序语言中,源代码可以是以书籍或者磁带的形式出现,但最为常用的格式是文本文件,这种典型格式的目的是为了编译出计算机程序。计算机源代码的最终目的是将人类可读的文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,通过编译器完成。
作用
源代码主要功用有如下2种作用:
生成目标代码,即计算机可以识别的代码。
对软件进行说明,即对软件的编写进行说明。为数不少的初学者,甚至少数有经验的程序员都忽视软件说明的编写,因为这部分虽然不会在生成的程序中直接显示,也不参与编译。但是说明对软件的学习、分享、维护和软件复用都有巨大的好处。因此,书写软件说明在业界被认为是能创造优秀程序的良好习惯,一些公司也硬性规定必须书写。
需要指出的是,源代码的修改不能改变已经生成的目标代码。如果需要目标代码做出相应的修改,必须重新编译。
代码组合
源代码作为软件的特殊部分,可能被包含在一个或多个文件中。一个程序不必用同一种格式的源代码书写。例如,一个程序如果有C语言库的支持,那么就可以用C语言;而另一部分为了达到比较高的运行效率,则可以用汇编语言编写。
较为复杂的软件,一般需要数十种甚至上百种的源代码的参与。为了降低种复杂度,必须引入一种可以描述各个源代码之间联系,并且如何正确编译的系统。在这样的背景下,修订控制系统(RCS)诞生了,并成为研发者对代码修订的必备工具之一。
还有另外一种组合:源代码的编写和编译分别在不同的平台上实现,专业术语叫做软件移植。
版权
如果按照源代码类型区分软件,通常被分为两类:自由软件和非自由软件。自由软件一般是不仅可以免费得到,而且公开源代码;相对应地,非自由软件则是不公开源代码。所有一切通过非正常手段获得非自由软件源代码的行为都将被视为非法。
质量
对于计算机而言,并不存在真正意义上的“好”的源代码;然而作为一个人,好的书写习惯将决定源代码的好坏。源代码是否具有可读性,成为好坏的重要标准。软件文档则是表明可读性的关键。
效率
虽然我们可以通过不同的语言来实现计算机的同一功能,但在执行效率上则存在不同。普遍规律是:越高级的语言,其执行效率越低。这也是为什么汇编语言生成的文件比用VB语言生成文件普遍要小的原因。