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

Split the storage package into a new separate repository #80

Merged
merged 1 commit into from
Mar 25, 2022

Conversation

minamijoyo
Copy link
Owner

The reason for splitting is to avoid license conflict to expand support for other storage types.
See #79 for details.

This commit removes the storage package from this repository and replaces all references for the storage package to a new repository.

https://github.com/minamijoyo/tfmigrate-storage

The reason for splitting is to avoid license conflict to expand support
for other storage types. See #79 for details

This commit removes the storage package from this repository and
replaces all references for the storage package to a new repository.
https://github.com/minamijoyo/tfmigrate-storage
@minamijoyo minamijoyo force-pushed the use-tfmigrate-storage branch from c0c12c9 to f264f5d Compare March 25, 2022 15:23
@minamijoyo minamijoyo merged commit 036c60b into master Mar 25, 2022
@minamijoyo minamijoyo deleted the use-tfmigrate-storage branch March 25, 2022 15:37
minamijoyo added a commit to minamijoyo/tfmigrate-storage that referenced this pull request Aug 15, 2023
I originally wrote the local and s3 storage implementation for tfmigrate
as the MIT license. Next, someone sent me a patch for gcs storage
implementation minamijoyo/tfmigrate#23, copied
from the upstream terraform backend implementation. I was concerned it
would violate the MPL2 license because the tfmigrate' license is MIT,
and terraform's is MPL2.

So I split the storage implementations
minamijoyo/tfmigrate#80 into a separate
https://github.com/minamijoyo/tfmigrate-storage repository and
relicensed it as MPL2 so that someone could easily copy snippets from
the upstream. However, we could not contact that patch's author and the
initial patch was not merged finally.

Time passed, KengoTODA sent me another patch
#3 for gcs support
which contained minimal functionality and was not copied from upstream.
This patch has finally been accepted and merged.

That is, I've changed the license of the storage implementation with the
intention that it will contain a derivative work of terraform that can
be easily copied from terraform's backend implementation to extend
various storage types, but this has yet to happen. It's clearly far from
the terraform's implementation at the time of writing.

Recently, HashiCorp announced that it would change the license of its
products, including Terraform, from MPL2 to BSL1.1.
https://www.hashicorp.com/blog/hashicorp-adopts-business-source-license

If, as I originally intended, we allow contributors to copy code from
upstream terraform, the tfmigrate-storage repository must also be
changed to BSL. This means that the tfmigrate source can continue to be
distributed as MIT, but the tfmigrate's binary will be bounded by BSL.
Even though HashiCorp's BSL is a reasonably permissive license with no
restrictions other than HashiCorp's competitors, it is no longer
open-source by OSI definition. I want to continue to keep tfmigrate as
an open-source project.

Technically, it is possible to keep the tfmigrate-storage repository as
MPL2. Still, I no longer have a solid reason to do so; it is just
inconvenient to have a separate repository.

Fortunately, KengoTODA and I are still the only contributors to the
tfmigrate-storage repository, and I got permission from KengoTODA to
re-license his patch as MIT in
minamijoyo/tfmigrate#146.

So, I'm going to change the license of the tfmigrate-storage repository
to MIT and will merge it into the tfmigrate repository.
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.

1 participant