gel*_*mil 7 mysql licensing hibernate gpl
我正在评估使用Hibernate作为ORM框架开发商业Java Web应用程序的前景.此应用程序将安装在客户的服务器上,并将由少数用户使用.此外,我不想发布我的源代码,因为应用程序是关键任务,它可能会危及应用程序的安全性.
我设计了应用程序,所以如果客户已经拥有企业数据库许可证,我就会配置Hibernate来使用该数据库.否则,理想情况下我想为他们提供/推荐数据库.根据我目前的专业知识,我更喜欢使用商业双重许可的MySQL和GPL.
除了Hibernate方言设置之外,我不打算在我的应用程序中使用任何特定于MySQL的代码或SQL.基于MySQL网站上的信息和我在网上阅读的许多相互矛盾的帖子,看来如果我想以这种方式分发应用程序,我需要从MySQL购买商业许可证.商业许可证的费用(根据我的理解,每年600美元以上)会使软件过于昂贵.我觉得必须有其他商业Web应用程序允许类似的功能,而不是与数据库捆绑在一起.
这让我想到了这两个问题:
1.)是否有任何已知的情况,您可以使用商业闭源应用程序使用MySQL Community Edition而无需支付许可费?如果是这样,您是否知道任何合法的商业应用程序或公司?
2.)理想情况下,我想使用MySQL连接器J驱动程序,我相信它也是双许可的.如果我没有在我的代码中捆绑这个jar,而是指示用户下载连接器并直接从MySQL的网站下载并安装MySQL服务器,这是否允许在GPL下?
Stack Overflow上已经有一些有用的帖子(例如MySQL许可和GPL),但我正在为我的案例寻找更具体的答案.我意识到我们大多数人都不是律师,但任何指导都会有所帮助,所以我可以解决法律问题并开始实际编码!谢谢.
不要根据您在互联网上获得的法律建议做出业务决策 - 包括我的.
我的理解是,如果您告诉您的客户他们负责下载和安装MySQL和JDBC连接器,您可以绕过GPL许可条款.
如果您在应用程序中分发GPL软件,则您的软件也会隐式使用该许可证.您有义务允许您的客户访问您的源代码.包括修改和自行分发的权利.
您可以选择具有更宽松许可证的另一种流行的开源RDBMS作为您的默认RDBMS,例如:
回答您的问题:Confluence实际上不是开源的,它是商业产品.它们确实为商业许可证持有者提供了源代码,但根据OSI定义,这不符合开放源代码的要求.
Confluence使用JDBC,这是Sun Microsystems定义的非RDBMS特定API.Confluence使用名为HSQL或HypersonicHSQL的轻量级Java数据库进行分发,该数据库使用新BSD许可证等许可证.如果客户想要使用Confluence和MySQL,他必须自己安装.
请参阅http://confluence.atlassian.com/display/DOC/Database+Setup+For+MySQL,其中安装文档告诉您下载并安装MySQL和MySQL Connector/J.
为什么这对于像Confluence这样的非开源产品有用的关键在于他们的产品不一定需要使用MySQL,它可以使用不同的JDBC驱动程序(事实上,默认情况下这样做).由于不依赖于具体使用MySQL,因此Confluence不需要遵守GPL的条款.
如果您对GPL有其他疑问,GPL FAQ可能是您开始的最佳位置,而不是StackOverflow.见http://www.gnu.org/licenses/gpl-faq.html