[MXS-837] BSL Clarification: How to Count Servers Created: 2016-08-25 Updated: 2016-09-06 Resolved: 2016-09-06 |
|
| Status: | Closed |
| Project: | MariaDB MaxScale |
| Component/s: | Packaging |
| Affects Version/s: | 2.0.0 |
| Fix Version/s: | 2.0.0 |
| Type: | Bug | Priority: | Major |
| Reporter: | Todd Farmer | Assignee: | Rasmus Johansson (Inactive) |
| Resolution: | Done | Votes: | 0 |
| Labels: | None | ||
| Description |
|
The newly-adopted Business Source License (BSL) replaces GPL for version 2.0 of MaxScale. This license contains the following text: Use Limitation: Usage of the software is free when your application uses To eliminate ambiguity, does the "less than three database servers" mean the application itself connects via MaxScale to three backend MariaDB servers? What if the application connects only to one, which part of a larger replication topography? Does the whole of the replication topography count towards the "less than three" limit? What about an application that connects to a single MySQL database via MaxScale, but leverages FEDERATED or SPIDER storage engines to connect that single MySQL database to other instances (perhaps not even MySQL servers)? What about a single application runtime environment, with multiple "applications" each accessing different databases - but only one each? If I have a single application that makes use of multiple "databases", but only one connects through MaxScale, do I still need to purchase a license? Which "databases" count towards the limit? MySQL? MariaDB? Oracle? MS SQL? DB2? Derby? SQLite? MongoDB? Memcached? Hadoop Impala? |
| Comments |
| Comment by Rasmus Johansson (Inactive) [ 2016-08-25 ] |
|
The limitation is set for the amount of servers MaxScale is connected to, i.e. if there is a connection between MaxScale and an underlying server then it counts towards the limitation. It does not matter what brand the database server is. MaxScale monitors the underlying servers to know the state of them. Also these monitoring connections are counted as servers being connected to MaxScale. |
| Comment by Todd Farmer [ 2016-08-25 ] |
|
Thanks for your response, Rasmus! So the count is based on active connections through a single MaxScale instance to database servers. I therefore assume the following scenarios fall within the BSL license guidelines and require no additional license - please confirm: 1. MaxScale doesn't talk directly to any database servers, but routes traffic through some non-BSL-licensed proxy (ProxySQL, MySQL Router, etc.) to any number of MySQL/MariaDB servers. 2. MaxScale in a failover deployment where a mechanism exists to ensure no more than two MySQL/MariaDB servers are connected at any given time. 3. An application uses MaxScale to talk to a single MySQL/MariaDB server, which is itself part of a many-node replication topography (but the application only talks to the one master). 4. An application uses MaxScale to talk to a single MySQL/MariaDB server, which in turn uses SPIDER or FEDERATED storage engines to talk to other backend databases through server-to-server connections (not mediated by MaxScale). 5. A single application connects through multiple MaxScale instances to many (more than 2) MySQL/MariaDB server instances, with each MaxScale instance facilitating no more than 2 different MySQL/MariaDB servers. 6. A single application connects to many (more than 2) databases, but only routes traffic for 2 through MaxScale. Please confirm all the above conform to the BSL license, or explain why not. The question about which "databases" count towards the limit isn't entirely academic - a recently-released MariaDB marketing post documents using MaxScale to connect MariaDB to Hadoop: https://mariadb.com/blog/data-streaming-mariadb-maxscale Hadoop is a distributed datasource; does it count towards the "database" count in the BSL? If so, does it count as a single "instance", or do the various nodes making up a single Hadoop cluster count independently? In short, is the use case documented in the material compliant with BSL, or does it require license from MariaDB? |
| Comment by Rasmus Johansson (Inactive) [ 2016-08-31 ] |
|
The use limitation for MariaDB MaxScale™ v.2.0 states that "Usage of the software is free when your application uses the Software with a total of less than three database server instances for production purposes." In your scenarios, 5 and 6 would also in my mind fall into the category of free usage. But the other scenarios are not that clear. In these scenarios, the underlying database server topology serving production usage is larger than the amount of servers to which MaxScale is directly connected at any point in time, but MaxScale can either switch servers or at least be tunneled through MaxScale (in the case of Spider and Federated). In my mind this would mean that the underlying topology that serves the production usage through MaxScale is what should be counted. |
| Comment by Johan Wikman [ 2016-09-06 ] |
|
Closing now. Please reopen if something still needs to be clarified. |