﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-屹砾 Life such as wind-文章分类-开源协议</title><link>http://www.blogjava.net/eli/category/28960.html</link><description>正德厚生，臻于至善。追求品质，不求完美。&lt;br /&gt;
&lt;embed src="http://www.clocklink.com/clocks/5001p-blue.swf?TimeZone=CCT&amp;Place=武汉 WUHAN&amp;DateFormat=YYYY-MM-DD&amp;"  width="300" height="25" wmode="transparent" type="application/x-shockwave-flash"&gt;
&lt;!--首页地址更改为http://eli.blogjava.net/--&gt;
&lt;script language="javascript" type="text/javascript"&gt;
var title=document.getElementById("Header1_HeaderTitle");
title.href="http://eli.blogjava.net/";
&lt;/script&gt;</description><language>zh-cn</language><lastBuildDate>Mon, 14 Jan 2008 16:49:07 GMT</lastBuildDate><pubDate>Mon, 14 Jan 2008 16:49:07 GMT</pubDate><ttl>60</ttl><item><title>[转载]五种开源协议比较</title><link>http://www.blogjava.net/eli/articles/175293.html</link><dc:creator>屹砾</dc:creator><author>屹砾</author><pubDate>Mon, 14 Jan 2008 12:25:00 GMT</pubDate><guid>http://www.blogjava.net/eli/articles/175293.html</guid><wfw:comment>http://www.blogjava.net/eli/comments/175293.html</wfw:comment><comments>http://www.blogjava.net/eli/articles/175293.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eli/comments/commentRss/175293.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eli/services/trackbacks/175293.html</trackback:ping><description><![CDATA[<p>转载于 <a href="http://www.awflasher.com/blog/archives/939">http://www.awflasher.com/blog/archives/939</a><br />
<br />
现今存在的开源协议很多，而经过Open Source Initiative组织通过批准的开源协议目前有58种（<a href="http://www.opensource.org/licenses/alphabetical">http://www.opensource.org/licenses/alphabetical</a>）。我们在常见的开源协议如BSD, GPL, LGPL,MIT等都是OSI批准的协议。如果要开源自己的代码，最好也是选择这些被批准的开源协议。</p>
<p>这里我们来看四种最常用的开源协议及它们的适用范围，供那些准备开源或者使用开源产品的开发人员/厂家参考。</p>
<p><strong>BSD开源协议（</strong><a href="http://www.fsf.org/licensing/licenses/index_html#OriginalBSD"><em>original</em> BSD license</a><strong>、</strong><span class="link-external"><a id="FreeBSD" href="http://www.freebsd.org/copyright/freebsd-license.html" name="FreeBSD">FreeBSD license</a></span><strong>、</strong><span class="link-external"><a id="OriginalBSD" href="http://www.xfree86.org/3.3.6/COPYRIGHT2.html#6" name="OriginalBSD">Original BSD license</a></span><strong>）</strong></p>
<p>BSD开源协议是一个给于使用者很大自由的协议。基本上使用者可以"为所欲为",可以自由的使用，修改源代码，也可以将修改后的代码作为开源或者专有软件再发布。</p>
<p>但"为所欲为"的前提当你发布使用了BSD协议的代码，或则以BSD协议代码为基础做二次开发自己的产品时，需要满足三个条件：</p>
<ol>
    <li>如果再发布的产品中包含源代码，则在源代码中必须带有原来代码中的BSD协议。
    <li>如果再发布的只是二进制类库/软件，则需要在类库/软件的文档和版权声明中包含原来代码中的BSD协议。
    <li>不可以用开源代码的作者/机构名字和原来产品的名字做市场推广。 </li>
</ol>
<p>BSD 代码鼓励代码共享，但需要尊重代码作者的著作权。BSD由于允许使用者修改和重新发布代码，也允许使用或在BSD代码上开发商业软件发布和销售，因此是对商业集成很友好的协议。而很多的公司企业在选用开源产品的时候都首选BSD协议，因为可以完全控制这些第三方的代码，在必要的时候可以修改或者二次开发。</p>
<p><strong>Apache Licence 2.0（</strong><span class="link-external"><a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>、<span class="link-external"><a href="http://www.apache.org/LICENSE-1.1">Apache License, Version 1.1</a>、<span class="link-external"><a href="http://www.apache.org/LICENSE-1.0">Apache License, Version 1.0</a></span></span></span><strong>）</strong></p>
<p>Apache Licence是著名的非盈利开源组织Apache采用的协议。该协议和BSD类似，同样鼓励代码共享和尊重原作者的著作权，同样允许代码修改，再发布（作为开源或商业软件）。需要满足的条件也和BSD类似：</p>
<ol>
    <li>需要给代码的用户一份Apache Licence
    <li>如果你修改了代码，需要再被修改的文件中说明。
    <li>在延伸的代码中（修改和有源代码衍生的代码中）需要带有原来代码中的协议，商标，专利声明和其他原来作者规定需要包含的说明。
    <li>如果再发布的产品中包含一个Notice文件，则在Notice文件中需要带有Apache Licence。你可以在Notice中增加自己的许可，但不可以表现为对Apache Licence构成更改。 </li>
</ol>
<p>Apache Licence也是对商业应用友好的许可。使用者也可以在需要的时候修改代码来满足需要并作为开源或商业产品发布/销售。</p>
<p><strong>GPL（</strong><a id="GNUGPL" href="http://www.fsf.org/licensing/licenses/gpl.html" name="GNUGPL">GNU General Public License</a><strong>）</strong></p>
<p>我们很熟悉的Linux就是采用了GPL。GPL协议和BSD, Apache Licence等鼓励代码重用的许可很不一样。GPL的出发点是代码的开源/免费使用和引用/修改/衍生代码的开源/免费使用，但不允许修改后和衍生的代码做为闭源的商业软件发布和销售。这也就是为什么我们能用免费的各种linux，包括商业公司的linux和linux上各种各样的由个人，组织，以及商业软件公司开发的免费软件了。</p>
<p>GPL协议的主要内容是只要在一个软件中使用("使用"指类库引用，修改后的代码或者衍生代码)GPL 协议的产品，则该软件产品必须也采用GPL协议，既必须也是开源和免费。这就是所谓的"传染性"。GPL协议的产品作为一个单独的产品使用没有任何问题，还可以享受免费的优势。</p>
<p>由于GPL严格要求使用了GPL类库的软件产品必须使用GPL协议，对于使用GPL协议的开源代码，商业软件或者对代码有保密要求的部门就不适合集成/采用作为类库和二次开发的基础。</p>
<p>其它细节如再发布的时候需要伴随GPL协议等和BSD/Apache等类似。</p>
<p><strong>LGPL（</strong><a id="LGPL" href="http://www.fsf.org/licensing/licenses/lgpl.html" name="LGPL">GNU Lesser General Public License</a><strong>）</strong></p>
<p>LGPL是GPL的一个为主要为类库使用设计的开源协议。和GPL要求任何使用/修改/衍生之GPL类库的的软件必须采用GPL协议不同。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。这使得采用LGPL协议的开源代码可以被商业软件作为类库引用并发布和销售。</p>
<p>但是如果修改LGPL协议的代码或者衍生，则所有修改的代码，涉及修改部分的额外代码和衍生的代码都必须采用LGPL协议。因此LGPL协议的开源代码很适合作为第三方类库被商业软件引用，但不适合希望以LGPL协议代码为基础，通过修改和衍生的方式做二次开发的商业软件采用。</p>
<p>GPL/LGPL都保障原作者的知识产权，避免有人利用开源代码复制并开发类似的产品</p>
<p><strong>MIT（<a href="http://www.opensource.org/licenses/mit-license.php">MIT</a>）</strong></p>
<p>MIT是和BSD一样宽范的许可协议,作者只想保留版权,而无任何其他了限制.也就是说,你必须在你的发行版里包含原许可协议的声明,无论你是以二进制发布的还是以源代码发布的.</p>
<img src ="http://www.blogjava.net/eli/aggbug/175293.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eli/" target="_blank">屹砾</a> 2008-01-14 20:25 <a href="http://www.blogjava.net/eli/articles/175293.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转载]版权法规和许可协议对软件开发的影响</title><link>http://www.blogjava.net/eli/articles/175291.html</link><dc:creator>屹砾</dc:creator><author>屹砾</author><pubDate>Mon, 14 Jan 2008 12:22:00 GMT</pubDate><guid>http://www.blogjava.net/eli/articles/175291.html</guid><wfw:comment>http://www.blogjava.net/eli/comments/175291.html</wfw:comment><comments>http://www.blogjava.net/eli/articles/175291.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/eli/comments/commentRss/175291.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/eli/services/trackbacks/175291.html</trackback:ping><description><![CDATA[<p>转载于 <a href="http://www.builder.com.cn/2007/0904/489483.shtml">http://www.builder.com.cn/2007/0904/489483.shtml</a><br />
<br />
Perl<span style="font-family: 宋体">和</span>C#<span style="font-family: 宋体">是否像我曾经描述过的一样展开了决斗？好的，我会在这篇文章中向您介绍发生了那些事情。</span></p>
<p><span style="font-family: 宋体">有些事情已经困扰我很长时间了，但是我却无法提笔，当我坐下来写代码的时候，我终于想起来困扰我的原因了：如果没有微软的书面许可，我是不能发布</span>.NET<span style="font-family: 宋体">软件的基准性能数据的，这是微软</span>.NET<span style="font-family: 宋体">框架最终用户许可协议的一部分，对微软的很多产品而言，比如</span>SQL Server 2005<span style="font-family: 宋体">，这一限制条件都是适用的。因此，我不会在此对</span>Perl<span style="font-family: 宋体">和</span>.NET<span style="font-family: 宋体">进行对比，现在我要讨论讨论软件许可协议中的条款对软件开发工作的影响。但请注意：<strong>我并不是一名律师。</strong></span></p>
<p>&nbsp;<span style="font-family: 宋体">在</span>90<span style="font-family: 宋体">年代末期，由于工作的关系，我研究了专利权和版权的很多内容，我所在的公司希望保护已经开发好的&#8220;聪明系统&#8221;的专利。当时，亚马逊公司已经申请了&#8220;单击购物（</span>One Click Shopping<span style="font-family: 宋体">）&#8221;</span><span style="font-family: 宋体">的专利权，作为与</span>Barnes &amp; Noble<span style="font-family: 宋体">公司竞争的一项策略。我的老板也希望通过这样的手法来和我们的对手展开竞争，出于这样的任务，我对专利权和版权相关的法律进行了相当深入的了解，凭我的经验已经可以判断出那些产品可以获得专利授权，而且我们自家的代码已经被赋予了版权保护，我们可以在法庭的辩论中指出竞争对手使用了我们的代码，但是并没有支付相应的费用。</span></p>
<p>&nbsp;<span style="font-family: 宋体">从这些事情中学到的东西让我很受打击：版权是很强大的。大多数人并没有认识到版权到底有多么强大，而且也没有竭尽所能来保护他们的工作。如果我在晚餐用的餐巾纸上涂鸦，那么我就自动获得了这幅作品的版权，这个版权是被法律强制执行的。当然，作者身份的证明或者一些记号都会对版权保护有所帮助，看到这幅画的人会明白这幅作品是拥有版权的。但是，即便没有版权符号，也不意味着别人可以免费使用。</span></p>
<p>&nbsp;<strong><span style="font-family: 宋体">这对编写程序有什么影响呢？</span></strong>&nbsp;</p>
<p><span style="font-family: 宋体">在程序员遇到问题的时候，他们往往会通过搜索引擎寻找解决方法，然后没有进行适当修改的情况下，拷贝并粘贴这些代码到自己的程序中，这样做会让他们变得声名狼藉。因为很不幸，这样做是违法的，除非原始代码的拥有者声明他授予了这些代码的使用权。换句话说，使用搜索引擎来获取代码，您已经为您的老板打开了通往法律官司的大门。当然，发生这样诉讼的几率可能只有百万分之一，但是如果您并没有获得相应的授权，从法律的角度来分析，您还是违反了法律。</span>&nbsp;</p>
<p><span style="font-family: 宋体">在拷贝</span>/<span style="font-family: 宋体">粘贴代码的问题上，还有很多的问题。比如，您拷贝</span>/<span style="font-family: 宋体">粘贴的代码是开发源代码项目中的一部分，这时会出现什么情况呢？这首先取决于开放源代码产品使用了那种许可证协议，如果是</span>BSD<span style="font-family: 宋体">许可证，那么您很幸运，因为</span>BSD<span style="font-family: 宋体">许可证是一种宽宏大量的协议；但是</span>GPL<span style="font-family: 宋体">许可证就是另外一回事了，您需要在拷贝和粘贴以</span>GPL<span style="font-family: 宋体">许可证方式授权的代码方面非常仔细，因为</span>GPL<span style="font-family: 宋体">协议通过不太容易被察觉的方式将自己注入到软件项目中，这样的话，大量的项目都受到了潜在的影响，被</span>GPL<span style="font-family: 宋体">许可证所制约。</span>&nbsp;</p>
<p><span style="font-family: 宋体">微软在许可证和版权方面也带来了很多令人头疼的问题，毕竟微软是世界上最大的专利拥有企业之一。如果您正在开发的项目涉及到了微软的产品，那么要非常小心，在许可证方面可能会有很多古怪的事情等着您。而且，微软从来都不怕使用他的&#8220;法律肌肉&#8221;（换句话说，购买这个冒犯者的成本比起诉他要高）。微软还有一个坏习惯，就是喜欢添加不同寻常的许可证条款（比如不能进行性能数据的测试），在软件开发过程中，您可能与这些条款不期而遇。在某个项目开始使用微软的技术之前，我建议您最好仔细检查所有相关的版权信息，如果您有任何不明确的地方，一定要向律师咨询。</span>&nbsp;</p>
<p><span style="font-family: 宋体">每一幅剪贴画都可能给您造成麻烦，我经常访问的一个网站</span>iStockphoto<span style="font-family: 宋体">对于图片的使用就有一些合理的版权和许可限制。如果在您自己网站上使用她们的图片是免费的，但是，如果您使用这些图片在您的产品中，并用于再次发布；或者您使用的图片分辨率高于</span>800&#215;600<span style="font-family: 宋体">等等，那么您就会遇到麻烦。您需要非常仔细地处理这种类型的许可协议，比如，如果您将这些图片用于公司的网站，那么这是允许的，但是如果您将图片作为您所开发的软件的起始界面，您需要获得图片版权拥有者的授权才可以，否则您就要面临承担相应的法律责任的风险。</span>&nbsp;</p>
<p><span style="font-family: 宋体">实际上，即使您的软件项目中碰巧违反了版权或者不小心违反了许可协议，也是很难被注意到，除非您的产品在业界占据了足够主流的地位。而且，对于封闭源代码和私有代码的此类违法行为更是难以发现，除非有大量的</span>IT<span style="font-family: 宋体">界的历史案件可以证明您的产品有可能违反了相关的专利权和版权法律。</span>&nbsp;</p>
<p><strong><span style="font-family: 宋体">我在处理版权和许可证协议方面的经验</span></strong>&nbsp;</p>
<p><span style="font-family: 宋体">在我们的软件开发项目中，我只使用我编写的代码，或者我所知道的我们公司其他员工编写的代码，我不会从互联网上拷贝或粘贴代码，我也不会使用基于</span>GPL<span style="font-family: 宋体">协议的代码，除非我们计划使用</span>GPL<span style="font-family: 宋体">协议来发布这一产品。我会仔细检查所有的代码、图片等等的版权和许可信息，如果有任何疑虑，我会把问题交给律师处理，如果没有任何直接的授权信息，我就假定没有获得授权。我相信这是一种相对合理而且理性的处理办法。</span>&nbsp;</p>
<p><span style="font-family: 宋体">总而言之，请您在拷贝和粘贴代码之前三思而后行。</span></p>
    <img src ="http://www.blogjava.net/eli/aggbug/175291.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/eli/" target="_blank">屹砾</a> 2008-01-14 20:22 <a href="http://www.blogjava.net/eli/articles/175291.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>