由于项目中要用到 SharpZipLib 这个库,我特地去查了一下它的商业授权,结果发现居然是 GPL的开源协议,不过幸好还有个例外:
License
The library is released under the GPL with the following exception:
Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
从这段英文大概可以理解为如果你只是链接 SharpZipLib 的动态库,那么不需要遵照GPL协议将你的代码也开源。这段英文其实挺晦涩的,为保险起见,我又找了一下,在 SharpDevelop Community 中有这样一个问题
这个问题中有人问:
就是说他想知道 SharpZipLib 是否可以用于商业用途
后面有个回答:
As stated on the project's home page: the source code itself is GPL with a linking exception. This means: as long as you use SharpZipLib as a DLL, there is nothing stopping you from using it in commercial closed-source applications. However, incorporating our source code directly into your project has license ramifications, notably that your source code must be GPL too.
Chris
意思是说,遵循主页上GPL那个例外, 只要你是使用 DLL ,就可以把这个库用于你不开源的项目中,但如果你要把代码一起绑定进去编译,则必须要遵循GPL协议,开源你的代码。
看来我的理解没有问题,可以放心使用了。