Qt开源背后的那些秘密
程序员或者开源爱好者你是不是经常听到“GPL”、“自由软件”、“开源协议”但其实不太明白它们到底是什么今天我们来一次彻底解读让你秒懂GPL也顺便了解它和Qt开源许可的关系。GPL到底是什么GPL全称GNU General Public License通用公共许可证最常见的就是GNU GPL。简单来说它是一份保证自由的软件许可你可以自由使用软件你可以修改源码你可以分享修改后的版本但必须也遵守GPL。注意自由软件不等于免费软件。自由软件强调的是自由而不仅仅是不要钱。为什么要用GPL而不是其他开源协议用GPL最大的好处是保护你的软件不会被私有化。如果别人修改了你的GPL软件并发布也必须开源这样你就不会和一个闭源版本竞争。当然如果你希望别人自由闭源使用你的代码MIT、Apache这种宽松协议可能更合适。所有GNU软件都用GPL吗大多数是但也有例外比如LGPL允许和非GPL软件更宽松地链接。要注意的是单纯使用GPL并不意味着你的程序就是GNU软件。成为GNU软件必须得到GNU项目的正式认可。GPL和Qt开源许可有什么关系Qt提供三种授权模式GPL完全自由但如果你发布修改后的程序也必须开源LGPL更宽松允许闭源程序动态链接只要求对Qt库本身的修改开源商业许可证无需开源但需要付费。如果你的项目是闭源商业软件GPL版本可能不适合可以选择LGPL或商业许可。GPL允许做什么不允许做什么可以做的事修改程序并在自己内部使用发布修改后的版本但必须开源收费分发程序或下载但不能限制他人的自由和非GPL程序在同一台机器上运行。不可以做的事分发时要求别人付费或签署保密协议给软件加额外限制比如要求引用论文闭源发布修改后的GPL程序。简单说GPL保护的是自由而不是控制或者收费。发布GPL程序的小技巧每个源码文件最好都有版权声明和许可证声明避免代码与许可脱节不可省略GPL前言和使用说明如果代码很短比如不到300行可以考虑Apache或MIT这种宽松协议。这些细节虽然看起来小但能避免后续麻烦。GPL和开发者权益你仍然可以获得署名所有复制和修改版本都必须保留你的版权信息可以开发闭源版本给客户使用只要不分发给第三方就没问题GPL不妨碍你赚钱只保证软件自由和分享。小结GPL是一份保护自由、鼓励分享的许可。Qt的开源许可结合了GPL和LGPL的特点让开发者自由选择想开源就用GPL想闭源可以用LGPL或商业授权。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2409575.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!