shlomi-noach / awesome-mysql

A curated list of awesome MySQL software, libraries, tools and resources
Other
2.33k stars 373 forks source link

Update schema versioning tools #117

Open federico-razzoli opened 3 months ago

federico-razzoli commented 3 months ago
dveeden commented 3 months ago

https://github.com/bytebase/bytebase/blob/main/LICENSE says this is under the "MIT Expat" license (except for enterprise), so that looks ok to me.

shlomi-noach commented 3 months ago

Thank you @dveeden -- I honeslty don't dig the LICENSE.enterprise part. It says:

This software and associated documentation files (the "Software") may only be used in production, if you (and any entity that you represent) have agreed to, and are in compliance with, the Bytebase Terms of Service, available at https://bytebase.com/terms (the “Enterprise Terms”), or other

which in turn requires as to agree to https://bytebase.com/terms. I am not a lawyer and cannot verify that these terms comply with any identifyable OSS license.

shlomi-noach commented 3 months ago

The "enterprise" license applies to:

#####################################################################################
##                                                                                 ##
##  NOTE: The following license applies to following code:                         ##
##  1. backend/enterprise/ and its subdirectories                                  ##
##  2. frontend/src/enterprise/ and its directories                                ##
##  3. frontend/src/views/sql-editor and its directories                           ##
##  4. Any code controlling feature, permission, role and plan enablement          ##
##                                                                                 ##
#####################################################################################

I don't know what to make of it. Are these directories important? Not important? Will I as a user be using those directories?

federico-razzoli commented 3 months ago

ByteBase has an Enterprise and an open edition. Yes, it's fine to link the GitHub repo (both if you do it for this case only or for all projects).

shlomi-noach commented 3 months ago

ByteBase has an Enterprise and an open edition.

Thanks @federico-razzoli ! But it's still unclear to me. It's not dual licensed. The "edition" is the use of specific folders, but I do not understand what use cases do and what use cases do not fall under using those specific folders. It's really confusing and not clarified in the docs/manual. Which puts the burden on us as reviewers to understand what they mean...

federico-razzoli commented 3 months ago

Let's tag @tianzhou for a clarification.

tianzhou commented 3 months ago

@shlomi-noach @federico-razzoli it's fair to link the github repo.

The enterprise "edition" is for gating the license related logic. The Enterprise license explicitly disallows to modify the licensing code. (e.g. func isEnterprise() { return true };

shlomi-noach commented 3 months ago

@tianzhou thank you; I confess I do not fully understand. Is the nature of the enterprise license to control the change of the license?

How about all the files under specified directories, such as frontend/src/views/sql-editor ?

tianzhou commented 3 months ago

Is the nature of the enterprise license to control the change of the license?

Right, it's for gating the enterprise related features.

How about all the files under specified directories, such as frontend/src/views/sql-editor ?

It's an oversight. We just removed this https://github.com/bytebase/bytebase/pull/12198

@shlomi-noach

shlomi-noach commented 3 months ago

Thank you @tianzhou. Any other reviewers who have an opinion? I'm still not a lawyer and still cannot firmly conclude that the terms of this proposed code comply with OSS licensing.

federico-razzoli commented 3 months ago

@shlomi-noach None of the people who commented until now is a lawyer, so I think that the decision can only be a "political" one. I proposed the project because - despite the uncommon practice you highlighted - it seems to me open core, just like MySQL. In case it isn't for some reason, that would be a bug, I think. But for such a corner case, only you can decide to approve or reject, imho.

dveeden commented 3 months ago

My vote would be to include this. I think the intention of the license is ok. This is not a strong vote.

However I would also like to suggest Bytebase to consider splitting the enterprise code into a separate repo or to implement some other solution that would make this more clear an avoid any future issues.