据我所知,当我使用像MySQL这样的任何GPL代码构建桌面/服务器应用程序时,我将不得不在GPL下发布我的软件的源代码.
如果我想使用MySQL开发一个web应用程序,我的代码将链接到MySQL库.我必须在这种情况下发布我的webapp的源代码以符合GPL吗?
如果您将其保留为仅服务器(因此为"私有"),则不必将其作为GPL发布.但是一旦它到达公共桌面,它就不再被视为内部构建,因此需要源代码.
所以你可以:
将您的代码发布为GPL
购买MySQL的商业版
保持仅限服务器.
您必须发布源代码(根据GPL),或者为MySQL支付专有许可证,以便您有权使用更适合专有产品使用的许可证来分发MySQL二进制文件.不过,最好把这类问题提交给你的律师.
ETA:只是澄清一下; 如果您编写自己的库,使用其有线协议与MySQL通信,那么您将始终100%清晰.同样,如果您使用的库已经完成了,但是获得了BSD许可(作为示例),那么您也是明确的,因为您只是通过套接字连接与MySQL通信,而不是实际调用进入GPL代码.我没有立即知道MySQL协议的任何BSD许可接口,但当然有可能在那里有一个.