Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update schema versioning tools #117

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

federico-razzoli
Copy link
Contributor

  • Update Flyway URL
  • Add ByteBase

@dveeden
Copy link
Collaborator

dveeden commented May 29, 2024

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
Copy link
Owner

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
Copy link
Owner

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?

README.md Outdated
@@ -115,7 +115,8 @@ This list accepts and encourages pull requests. See [CONTRIBUTING](https://githu

*Tools to support MySQL-related development*

- [Flywaydb](http://flywaydb.org/getstarted/) - Database migrations; Evolve your database schema easily and reliably across all your instances
- [ByteBase](https://www.bytebase.com/) - Validate and version schema changes (amongst other things)
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure yet about the license, but I prefer replacing the URL with the GitHub project page, seeing that the product URL is more on the marketing side.

Side note: we should probably do the same for many other projects here.

Suggested change
- [ByteBase](https://www.bytebase.com/) - Validate and version schema changes (amongst other things)
- [ByteBase](https://github.com/bytebase/bytebase) - Validate and version schema changes (amongst other things)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@federico-razzoli could you apply this suggestion or do you have any objections?

README.md Outdated
@@ -115,7 +115,8 @@ This list accepts and encourages pull requests. See [CONTRIBUTING](https://githu

*Tools to support MySQL-related development*

- [Flywaydb](http://flywaydb.org/getstarted/) - Database migrations; Evolve your database schema easily and reliably across all your instances
- [ByteBase](https://www.bytebase.com/) - Validate and version schema changes (amongst other things)
- [Flywaydb](https://flywaydb.org/) - Database migrations; Evolve your database schema easily and reliably across all your instances
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Best to use a GitHub link for Flyway. This is done in #129 as well.

@federico-razzoli
Copy link
Contributor Author

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
Copy link
Owner

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
Copy link
Contributor Author

Let's tag @tianzhou for a clarification.

@tianzhou
Copy link

@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
Copy link
Owner

@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
Copy link

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 bytebase/bytebase#12198

@shlomi-noach

@shlomi-noach
Copy link
Owner

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
Copy link
Contributor Author

@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
Copy link
Collaborator

dveeden commented Jun 3, 2024

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.

README.md Outdated
@@ -115,7 +115,8 @@ This list accepts and encourages pull requests. See [CONTRIBUTING](https://githu

*Tools to support MySQL-related development*

- [Flywaydb](http://flywaydb.org/getstarted/) - Database migrations; Evolve your database schema easily and reliably across all your instances
- [ByteBase](https://www.bytebase.com/) - Validate and version schema changes (amongst other things)
- [Flywaydb](https://flywaydb.org/) - Database migrations; Evolve your database schema easily and reliably across all your instances
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Best to use a GitHub link for Flyway. This is done in #129 as well.

README.md Outdated
@@ -115,7 +115,8 @@ This list accepts and encourages pull requests. See [CONTRIBUTING](https://githu

*Tools to support MySQL-related development*

- [Flywaydb](http://flywaydb.org/getstarted/) - Database migrations; Evolve your database schema easily and reliably across all your instances
- [ByteBase](https://www.bytebase.com/) - Validate and version schema changes (amongst other things)
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@federico-razzoli could you apply this suggestion or do you have any objections?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants