各种开源协议说明许多开发者和设计者希望把他们的作品作为开源项目共享,他们希望其他人能够利用和共享他们的代码。而各种开源社区就是因为这个原因而充满活力。开源软件可以用于你能想象得到的任何应用程序,许多web 设计人员使用开源软件作为开发基础(例如WordPress ,Drupal 等等许多 CMS 系统都是开源的)。但是许多开发者和设计者并没有对开源License 有清楚的了解, 不清楚当他们选择开发自己的源代码时,他们有什么权利。如果不知道明确的License 的内容,他们就不知道如何做出最明智的选择,如何做对他们最有利。对于中国的开发者来说,因为中国发达的盗版文化,泛滥的盗版软件,大部分人恐怕都完全没有 License 或者版权这个概念,都是奉行拿来主义。如果我们一直都是这样的话,中国软件何来进步。 所以对于国内的开发者来说,第一课就是应该学习如何使用和遵守License 。什么是 License许多混乱就始于你不知道License 到底是什么,到底有什么含义。当你对你的产品使用License 时,并不意味着你放弃了任何权利,你依然对其拥有原著作权。 License 只是授予他们于特定权利来使用你的产品。License 只是把你的作品释放到公有领域,或者给各个拷贝赋予权限。也意味着你放弃了版权收入,别人也没有义务把你列为原作者或贡献者。开放源代码许可协议更容易为他人作出贡献,而不必寻求特别的许可。它也可以保护你作为原创者的权利,至少确认了你的贡献。它还可以保证你的工作不为别人所剽窃。GNU General Public LicenseGNU General Public License (GPL )的可能是开源项目最常用的许可证。GPL 赋予和保证了开源项目开发者广泛的权利。基本上,它允许用户合法复制,分发和修改软件。这意味着你可以:?复制软件复制软件到自己的服务器,客户端的服务器, 你自己的电脑, 几乎任何你想要的地方,而且没有数量限制。?发布软件发布你想要的软件,例如,在你的网站提供下载链接,刻成光盘,打印出来等等。?收取费用如果你想在向别人提供软件时收费,如设置在别人的网站上或者其他用途时。GPL 允许你这么做,但是你必须给客户提供一个GPL 副本,告诉他们可以在其他地方得到免费版本。当然最好在此之前,告诉客户,你为什么收费。?可以任意修改如果你想添加或删除功能,没问题。 如果想在其他项目中使用部分代码,也是可以的,但是唯一的限制是此项目也必须按GPL 发布。商业软件不能使用GPL 协议的代码。GNU Less...