[Fwd: [openstack-dev] mysql/mysql-python license "contamination" into openstack?]
Forwarding a question from openstack-dev about the implications of our use of mysql-python, which is a GPLv2 licensed library. We've had some previous threads about GPL licensed dependencies e.g. http://lists.openstack.org/pipermail/openstack-dev/2013-March/006772.html http://lists.openstack.org/pipermail/openstack-dev/2013-March/006792.html http://lists.openstack.org/pipermail/openstack-dev/2013-March/006908.html Mark. -------- Forwarded Message --------
From: Chris Friesen <chris.friesen@windriver.com> Reply-to: "OpenStack Development Mailing List \(not for usage questions\)" <openstack-dev@lists.openstack.org> To: OpenStack Development Mailing List (not for usage questions) <openstack-dev@lists.openstack.org> Subject: [openstack-dev] mysql/mysql-python license "contamination" into openstack? Date: Thu, 12 Jun 2014 12:13:05 -0600
Hi,
I'm looking for the community viewpoint on whether there is any chance of license contamination between mysql and nova. I realize that lawyers would need to be involved for a proper ruling, but I'm curious about the view of the developers on the list.
Suppose someone creates a modified openstack and wishes to sell it to others. They want to keep their changes private. They also want to use the mysql database.
The concern is this:
nova is apache licensed sqlalchemy is MIT licensed mysql-python (aka mysqldb1) is GPLv2 licensed mysql is GPLv2 licensed
The concern is that since nova/sqlalchemy/mysql-python are all essentially linked together, an argument could be made that the work as a whole is a derivative work of mysql-python, and thus all the source code must be made available to anyone using the binary.
Does this argument have any merit?
Has anyone tested any of the mysql DBAPIs with more permissive licenses?
Chris
_______________________________________________ OpenStack-dev mailing list OpenStack-dev@lists.openstack.org http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
On Fri, Jun 13, 2014 at 07:13:08AM +0100, Mark McLoughlin wrote:
Forwarding a question from openstack-dev about the implications of our use of mysql-python, which is a GPLv2 licensed library.
It looks to me that mysql-python is actually dual-licensed under GPL "or the original license based on Python 1.5.2's license", which would seem to be the simple noncopyleft Stichting Mathematisch Centrum license in the Python license stack. Not sure if that helps. I'm not clear on whether the concern is mysql-python or extends to the fact that MySQL itself is GPL-licensed. - RF
On 06/14/2014 12:59 PM, Richard Fontana wrote:
On Fri, Jun 13, 2014 at 07:13:08AM +0100, Mark McLoughlin wrote:
Forwarding a question from openstack-dev about the implications of our use of mysql-python, which is a GPLv2 licensed library.
It looks to me that mysql-python is actually dual-licensed under GPL "or the original license based on Python 1.5.2's license", which would seem to be the simple noncopyleft Stichting Mathematisch Centrum license in the Python license stack. Not sure if that helps. I'm not clear on whether the concern is mysql-python or extends to the fact that MySQL itself is GPL-licensed.
So, first of all - I'd like to say that in my non-lawyer opinion, there is no problem. However - there are at least three potential things that might want addressed: 1) mysql-server is GPL'd. This might be interesting to people who are shipping complete solutions. Quite honestly, nothing about MySQL'd GPL license should attach unless someone is modifying MySQL itself, which is massively unlikely 2) libmysqlclient is GPL'd. MySQL Inc did this on purpose so that they could extort people into paying for licenses they didn't actually need. It's important to bring that up because 3) mysql-python, as you say, is dual-licensed, but it uses libmysqlclient under the covers, so as vague as several of the other issues are here, I think it's pretty clear that mysql-python has to be GPL, since it quite explicitly is a derived work. So the question at hand is whether or not the license of libmysqlclient carries through and attaches to OpenStack. I contend that it does not, for a specific reason: we're using it as an optional plugin. We don't use mysql-python itself. We use sqlalchemy, which has pluggable provider support. One of the plugins that can be used with sqlalchemy is MySQL. Another is Postgres. Another is Oracle. Etc. So nothing about OpenStack _itself_ requires MySQL or libmysqlclient. It is a runtime/deployment choice. However, I am not a lawyer - but the above is why I don't think it attaches or is a problem.
On 06/14/2014 01:15 PM, Monty Taylor wrote:
On 06/14/2014 12:59 PM, Richard Fontana wrote:
On Fri, Jun 13, 2014 at 07:13:08AM +0100, Mark McLoughlin wrote:
Forwarding a question from openstack-dev about the implications of our use of mysql-python, which is a GPLv2 licensed library.
It looks to me that mysql-python is actually dual-licensed under GPL "or the original license based on Python 1.5.2's license", which would seem to be the simple noncopyleft Stichting Mathematisch Centrum license in the Python license stack. Not sure if that helps. I'm not clear on whether the concern is mysql-python or extends to the fact that MySQL itself is GPL-licensed.
So, first of all - I'd like to say that in my non-lawyer opinion, there is no problem.
However - there are at least three potential things that might want addressed:
1) mysql-server is GPL'd. This might be interesting to people who are shipping complete solutions. Quite honestly, nothing about MySQL'd GPL license should attach unless someone is modifying MySQL itself, which is massively unlikely
2) libmysqlclient is GPL'd. MySQL Inc did this on purpose so that they could extort people into paying for licenses they didn't actually need. It's important to bring that up because
3) mysql-python, as you say, is dual-licensed, but it uses libmysqlclient under the covers, so as vague as several of the other issues are here, I think it's pretty clear that mysql-python has to be GPL, since it quite explicitly is a derived work.
So the question at hand is whether or not the license of libmysqlclient carries through and attaches to OpenStack. I contend that it does not, for a specific reason: we're using it as an optional plugin.
We don't use mysql-python itself. We use sqlalchemy, which has pluggable provider support. One of the plugins that can be used with sqlalchemy is MySQL. Another is Postgres. Another is Oracle. Etc. So nothing about OpenStack _itself_ requires MySQL or libmysqlclient. It is a runtime/deployment choice.
However, I am not a lawyer - but the above is why I don't think it attaches or is a problem.
Also - the FOSS exception.
On Sat, Jun 14, 2014 at 01:20:27PM -0700, Monty Taylor wrote:
2) libmysqlclient is GPL'd. MySQL Inc did this on purpose so that they could extort people into paying for licenses they didn't actually need.
Indeed.
It's important to bring that up because
3) mysql-python, as you say, is dual-licensed, but it uses libmysqlclient under the covers, so as vague as several of the other issues are here, I think it's pretty clear that mysql-python has to be GPL, since it quite explicitly is a derived work.
I will take your word for it. (Does this also apply to the other things mentioned in Mike Bayer's response?)
So the question at hand is whether or not the license of libmysqlclient carries through and attaches to OpenStack. I contend that it does not, for a specific reason: we're using it as an optional plugin.
We don't use mysql-python itself. We use sqlalchemy, which has pluggable provider support. One of the plugins that can be used with sqlalchemy is MySQL. Another is Postgres. Another is Oracle. Etc. So nothing about OpenStack _itself_ requires MySQL or libmysqlclient. It is a runtime/deployment choice.
Right, makes sense to me. However, Chris Friesen's hypothetical is: "Suppose someone creates a modified openstack and wishes to sell it to others. They want to keep their changes private. They also want to use the mysql database. The concern is this: nova is apache licensed sqlalchemy is MIT licensed mysql-python (aka mysqldb1) is GPLv2 licensed mysql is GPLv2 licensed The concern is that since nova/sqlalchemy/mysql-python are all essentially linked together, an argument could be made that the work as a whole is a derivative work of mysql-python, and thus all the source code must be made available to anyone using the binary." So it seems what he really should have been asking is whether (modified) nova/sqlalchemy/mysql-python/libmysqlclient somehow form a derivative work of libmysqlclient. Because:
Also - the FOSS exception.
The FOSS exception would not help Chris Friesen with his hypothetical "modified openstack" with "private" changes, *if* the "modified openstack" is part of a 'Derivative Work' in the sense meant in the FOSS Exception, assuming you're even in a situation where you want to rely on the FOSS Exception. So I think you're right about how things look from OpenStack's perspective, and so probably the FOSS Exception isn't even relevant, but that doesn't necessarily resolve Chris Friesen's question. I don't think Chris Friesen's question is an OpenStack project question, since the issue he's worried about results from his own discretionary choices downstream, if I understand everything correctly here. RF
On 06/14/2014 09:55 PM, Richard Fontana wrote:
On Sat, Jun 14, 2014 at 01:20:27PM -0700, Monty Taylor wrote:
So the question at hand is whether or not the license of libmysqlclient carries through and attaches to OpenStack. I contend that it does not, for a specific reason: we're using it as an optional plugin.
We don't use mysql-python itself. We use sqlalchemy, which has pluggable provider support. One of the plugins that can be used with sqlalchemy is MySQL. Another is Postgres. Another is Oracle. Etc. So nothing about OpenStack _itself_ requires MySQL or libmysqlclient. It is a runtime/deployment choice.
Right, makes sense to me. However, Chris Friesen's hypothetical is:
"Suppose someone creates a modified openstack and wishes to sell it to others. They want to keep their changes private. They also want to use the mysql database.
The concern is this:
nova is apache licensed sqlalchemy is MIT licensed mysql-python (aka mysqldb1) is GPLv2 licensed mysql is GPLv2 licensed
The concern is that since nova/sqlalchemy/mysql-python are all essentially linked together, an argument could be made that the work as a whole is a derivative work of mysql-python, and thus all the source code must be made available to anyone using the binary."
So it seems what he really should have been asking is whether (modified) nova/sqlalchemy/mysql-python/libmysqlclient somehow form a derivative work of libmysqlclient.
Hi, I subscribed to follow this discussion. Thank you for the concise summary. I believe you are correct that this is the question I should have been asking. As further background, this would be in the context of providing a complete OpenStack solution (with nova modifications) that would be sold to end-users for private clusters, so the database would be shipped alongside nova, rather than being selected/configured at system install time. Also, I realize that proper legal advice would need to be sought, but I also wanted to get a feel for what stance (if any) the OpenStack community takes on this sort of issue.
I don't think Chris Friesen's question is an OpenStack project question, since the issue he's worried about results from his own discretionary choices downstream, if I understand everything correctly here.
While true that downstream choices are involved, I think it would be beneficial to the OpenStack project to clearly highlight any legal issues around the use of various sub-components. Given that OpenStack itself is Apache-licensed, someone could easily miss the fact that it uses sub-components with other licensing. Chris
On Mon, Jun 16, 2014 at 10:01:13AM -0600, Chris Friesen wrote:
On 06/14/2014 09:55 PM, Richard Fontana wrote:
I don't think Chris Friesen's question is an OpenStack project question, since the issue he's worried about results from his own discretionary choices downstream, if I understand everything correctly here.
While true that downstream choices are involved, I think it would be beneficial to the OpenStack project to clearly highlight any legal issues around the use of various sub-components. Given that OpenStack itself is Apache-licensed, someone could easily miss the fact that it uses sub-components with other licensing.
But Monty said "We don't use mysql-python itself. We use sqlalchemy ..." and sqlalchemy is more permissively licensed than OpenStack itself. Aren't the range of 'legal issues' around downstream use of OpenStack along with sqlalchemy effectively unlimited? That's basically my point. - RF
participants (4)
-
Chris Friesen
-
Mark McLoughlin
-
Monty Taylor
-
Richard Fontana