<p>对开源协议的一些看法,from微软。
<p>Today I sat on a panel with Matt <br />Asay of Novell, Dan Frye of IBM and Tim Witham of the OSDL – three deep thinkers <br />on the topic of OSS and people for whom I have a great deal of respect. We were <br />speaking to an audience of CIOs in Portland, OR – <br />my home town. The panel discussion was fine, a pretty standard set of points <br />were made about the nature of open source and how it is going to affect decision <br />making for CIOs. I’m sure my blog will eventually have my normal shtick about <br />the commercialization of open source – but for now I would like to talk about <br />something that Matt, Dan, Tim and I talked about before we ever got on stage. </p>
<p>
</p>
<p>
<p>What is “open?” </p>
<p>
</p>
<p>
<p>After literally thousands of <br />discussions, panels, debates, arguments, commiserations, smoke signals and some <br />lewd sign language, I am constantly amazed at the flexibility of this single <br />word. There are <b>open</b> systems, <b>open</b> sciences, <b>open</b> standards, <b>open</b> architectures, and <b>open</b> source licenses. There are some <b>open</b> source licenses that are more <b>open</b> and some less. I think Orwell <br />would have loved this – after all, some animals are more equal than others. Can <br />one <b>open</b> source license be more <b>open</b> than another <b>open</b> source license? </p>
<p>
</p>
<p>
<p>Yes, it can.</p>
<p>
</p>
<p>
<p>I went to the <a href="http://encarta.msn.com/dictionary_/open.html">Encarta website and looked <br />up “open.”</a> Wouldn’t you know it, it prints off to 7 pages of definitions. <br />Hmmm, this might be more of a challenge than I thought. I like definition #2 <br />from Encarta, “allowing access to the inside: with the lid, cork, or other <br />device removed or in a position that allows access to the inside.” This seems to <br />fit well. At the heart of the discussion of open source as a licensing model is <br />the idea of transparency. Can I see the source code – is it available to me to <br />review? I think #8 layers on nicely, “receptive: ready and willing to accept or <br />listen to something, for example, new ideas or suggestions.” I think the source <br />access should give me a creative boost, a set of information from which new <br />ideas and options may flow. #22, though, is where things start to run afoul: <br />“not having legal restrictions: not having restrictions that limit activities…” <br />The most common argument for reciprocal licenses is that you must limit rights <br />in order to guarantee freedoms. In other words, make use of legal restrictions <br />in order to enforce openness. (I’ll get back to this.) Of course, if you follow <br />many software projects (open source or not), they seem to adhere more to #18, <br />“empty bowels: to cause the bowels to evacuate.”</p>
<p>
</p>
<p>
<p>I think there are three core layers <br />of source licensing. Reference (review-only grants), Permissive (attribution <br />derivative grants), and Reciprocal (restrictive derivative grants). Each has a <br />purpose and a time for use. In Microsoft’s work on the <a href="http://www.microsoft.com/sharedsource" title="">Shared Source</a> Initiative, we <br />have never limited ourselves to using only one of these models. There is beauty <br />in diversity, and our approach to source licensing is completely in line with <br />this thought. </p>
<p>
</p>
<p>
<p>Reference grants are “open” in that <br />they give access for viewing the code, but they’re closed in that they place <br />restrictions upon the licensee to use that code as they would an encyclopedia. <br />They can help licensees do their work more effectively but not modify the <br />original work. From the Microsoft perspective, this is what we have done with <br />our core assets: Windows and Office. I argue that this is what the Linux source <br />code is good for as well. Most Linux support contracts specify that no <br />modifications of the source are allowed. Well in excess of 99 percent of <br />developers who look at Linux source code will never modify it – but they will <br />absolutely use it as a reference mechanism. But I digress – clearly the source <br />licenses in Linux (check out <a href="http://asay.blogspot.com/">Matt Asay’s <br />March 3rd, 2005 </a>break down of licenses in SuSE) permit the modification of <br />the code – it just is not practical that people would or want to. </p>
<p>
</p>
<p>
<p>Permissive grants are generally <br />based on the <a href="http://www.opensource.org/licenses/bsd-license.php">BSD <br /></a>style of license. There are terms that cover attribution, but that’s about <br />it aside from CYA disclaimers. To me these are the most “open” of licenses <br />because they provide the ability to view, modify and distribute <u>as the <br />licensee sees fit</u>. In other words, they can take that code and possibly use <br />it in a private manner, for commercial gain, and not share it back with the <br />community. They can modify the code and contribute it back for everyone to see <br />and use. They can use it as a paper weight – as long as they give proper <br />attribution. Back to Encarta #10, “not enclosed: having no boundaries or <br />enclosures.” I fundamentally disagree with the idea that the creation of <br />boundaries or disclosures in order to maintain openness is the most open path <br />you can take.</p>
<p>
</p>
<p>
<p>Reciprocal grants are generally <br />based on the <a href="http://www.opensource.org/licenses/gpl-license.php">GPL <br /></a>style of license. Microsoft has a colorful history with this license, but <br />the fact remains that this is a pervasive form of licensing. If one is to deeply <br />understand the nature of OSS, one has to think through reciprocal <br />licensing. In fact, we have three <a href="http://www.microsoft.com/sharedsource">Shared Source </a>projects (<a href="http://sourceforge.net/projects/wix">WiX</a>, <a href="http://sourceforge.net/projects/wtl">WTL</a>, and <a href="http://sourceforge.net/projects/flexwiki">FlexWiki</a>) under a reciprocal <br />license, the <a href="http://http//www.opensource.org/licenses/cpl1.0.php">Common Public <br />License</a>. From a strategic business use point of view, reciprocal licenses <br />are interesting in that you can make sure a piece of code put into the community <br />cannot be picked up by your competitor to be used against you in a way that you <br />won’t also be able to use to your own advantage. At a simplistic level, there is <br />a fairness to a reciprocal grant: if you want to play with my toys, I get to <br />play with yours (and you always have the option not to play with my toys at all <br />if you don’t want to share yours). Yet, these licenses are predicated on the <br />idea that you must restrict rights in order to accomplish the goals of the <br />philosophy behind the license. Thus, they are not as open as the permissive <br />grants.</p>
<p>
</p>
<p>
<p>I suppose it is worth noting here <br />(with a nod to the <a href="http://creativecommons.org/">Creative Commons</a>), <br />that public domain grants are the <u>most</u> open in that they have no <br />limitations on use. </p>
<p>
</p>
<p>
<p>The most important factor to me is <br />that a developer or organization has the freedom to choose what type of license <br />works best for each individual project. In <a href="http://www.microsoft.com/sharedsource">Shared Source</a>, we have 17 <br />offerings, and we use all three types of licensing. Our focus is not on whether <br />or not something meets the OSI definition of “open source.” The focus is instead <br />on whether or not, for that given technology, the community most interested in <br />working with the source code has the ability to accomplish what it needs <br />to.</p>
<p>
</p>
<p>
<p>So what is the most “open” for you? </p>
<p>
</p>
<p>
</p>
<p>
<p>This posting is provided "AS IS" <br />with no warranties, and confers no rights.</p>
分享到:
相关推荐
python学习资源
jfinal-undertow 用于开发、部署由 jfinal 开发的 web 项目
基于Andorid的音乐播放器项目设计(国外开源)实现源码,主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。
python学习资源
python学习资源
python学习一些项目和资源
【毕业设计】java-springboot+vue家具销售平台实现源码(完整前后端+mysql+说明文档+LunW).zip
HTML+CSS+JavaScarip开发的前端网页源代码
python学习资源
【毕业设计】java-springboot-vue健身房信息管理系统源码(完整前后端+mysql+说明文档+LunW).zip
成绩管理系统C/Go。大学生期末小作业,指针实现,C语言版本(ANSI C)和Go语言版本
1_基于大数据的智能菜品个性化推荐与点餐系统的设计与实现.docx
【毕业设计】java-springboot-vue交流互动平台实现源码(完整前后端+mysql+说明文档+LunW).zip
内容概要:本文主要探讨了在高并发情况下如何设计并优化火车票秒杀系统,确保系统的高性能与稳定性。通过对比分析三种库存管理模式(下单减库存、支付减库存、预扣库存),强调了预扣库存结合本地缓存及远程Redis统一库存的优势,同时介绍了如何利用Nginx的加权轮询策略、MQ消息队列异步处理等方式降低系统压力,保障交易完整性和数据一致性,防止超卖现象。 适用人群:具有一定互联网应用开发经验的研发人员和技术管理人员。 使用场景及目标:适用于电商、票务等行业需要处理大量瞬时并发请求的业务场景。其目标在于通过合理的架构规划,实现在高峰期保持平台的稳定运行,保证用户体验的同时最大化销售额。 其他说明:文中提及的技术细节如Epoll I/O多路复用模型以及分布式系统中的容错措施等内容,对于深入理解大规模并发系统的构建有着重要指导意义。
基于 OpenCV 和 PyTorch 的深度车牌识别
【毕业设计-java】springboot-vue教学资料管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
此数据集包含有关出租车行程的详细信息,包括乘客人数、行程距离、付款类型、车费金额和行程时长。它可用于各种数据分析和机器学习应用程序,例如票价预测和乘车模式分析。
把代码放到Word中,通过开发工具——Visual Basic——插入模块,粘贴在里在,把在硅基流动中申请的API放到VBA代码中。在Word中,选择一个问题,运行这个DeepSeekV3的宏就可以实现在线问答
【毕业设计】java-springboot+vue机动车号牌管理系统实现源码(完整前后端+mysql+说明文档+LunW).zip
【毕业设计】java-springboot-vue交通管理在线服务系统的开发源码(完整前后端+mysql+说明文档+LunW).zip