-
Notifications
You must be signed in to change notification settings - Fork 72
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
Change terraform-provider-minio license to AGPL-3.0 and append /v2
to the module name
#522
Conversation
Since v2 of madmin (the SDK for administrative access to minio) switched to AGPL 3, the licenses used in this project are: 1 AGPL-3.0 18 Apache-2.0 3 BSD-2-Clause 14 BSD-3-Clause 20 MIT 14 MPL-2.0 Since AGPL 3 is a copyleft license, as opposed to the more permissive licenses before, this has to be addressed. At least the combined work (on building the provider) and publishing it to the terraform registry I believe must be done under AGPL 3.0. * see https://min.io/compliance * see https://www.gnu.org/licenses/license-list.html#GPLCompatibleLicenses * see https://en.wikipedia.org/wiki/GNU_General_Public_License#Compatibility_and_multi-licensing * see https://softwareengineering.stackexchange.com/a/371435
Investigating the other way round: What would it take to re-license the code.
git ls-tree -r -z --name-only HEAD |
xargs -0 -n1 git blame -w -M --line-porcelain HEAD |grep -ae "^author " |
sort|uniq -c|sort -nr
|
But migrating to AGPL-3.0 wouldn't force us to remove it from terraform registry? [Reference] |
Not really, it's fine, see partnerships in the Terraform Documentation. We simply would not be eligible to be "partner", we'll stay with a community badge. That's fine for now I guess? The alternative is to replicate the needed functionality for the admin API. I'm not sure what that entails and how stable the interfaces are (historically my experience is that the admin interfaces break often when not using the same minioclient as minio). |
Let's do it then :)
What would be the best way to confirm if each one of them agrees? |
Let's just write everyone a mail if they are OK with that change? How about something like:
|
Thanks for preparing it, BuJo! I'll collect everyone's e-mail and send the emails tonight. |
About the question from @Adphi in #532 (comment)
I've been thinking about it, and we will affect them. Here are the reasons:
Here are some possible solutions:
Besides that, the Pulumi team also started a discussion on their repo (pulumi/pulumi-minio#200) and may propose more solutions. |
@BuJo, most contributors have responded and approved the license change; tonight, I'll re-contact a few who missed the email. Could you update this PR meanwhile? And do we all agree on releasing v2.0.0 after the license change? |
/v2
We've received the remaining approvals from collaborators, and we are ready to merge this PR! This change is safe for both consumers of the published provider (who will need to manually update their terraform config to We've created a v1 branch, which is now protected and will live along with the main. The We'll also clarify the reason for the breaking change in the Release Notes. Gratitude to all those who participated and provided assistance in making this decision! |
/v2
/v2
to the module name
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [minio](https://registry.terraform.io/providers/aminueza/minio) ([source](https://togithub.com/aminueza/terraform-provider-minio)) | required_provider | major | `1.20.1` -> `2.1.0` | --- ### Release Notes <details> <summary>aminueza/terraform-provider-minio (minio)</summary> ### [`v2.1.0`](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v2.1.0) [Compare Source](https://togithub.com/aminueza/terraform-provider-minio/compare/v2.0.1...v2.1.0) #### What's Changed - Fixed group policy assign parameter typo by [@​danielhass](https://togithub.com/danielhass) in [https://github.com/aminueza/terraform-provider-minio/pull/553](https://togithub.com/aminueza/terraform-provider-minio/pull/553) - Document `DeleteMarker` expiry in ilm policy by [@​michaelruigrok](https://togithub.com/michaelruigrok) in [https://github.com/aminueza/terraform-provider-minio/pull/558](https://togithub.com/aminueza/terraform-provider-minio/pull/558) - Add resource_minio_s3\_object 'source' support by [@​fhemberger](https://togithub.com/fhemberger) in [https://github.com/aminueza/terraform-provider-minio/pull/555](https://togithub.com/aminueza/terraform-provider-minio/pull/555) #### New Contributors - [@​danielhass](https://togithub.com/danielhass) made their first contribution in [https://github.com/aminueza/terraform-provider-minio/pull/553](https://togithub.com/aminueza/terraform-provider-minio/pull/553) - [@​michaelruigrok](https://togithub.com/michaelruigrok) made their first contribution in [https://github.com/aminueza/terraform-provider-minio/pull/558](https://togithub.com/aminueza/terraform-provider-minio/pull/558) - [@​fhemberger](https://togithub.com/fhemberger) made their first contribution in [https://github.com/aminueza/terraform-provider-minio/pull/555](https://togithub.com/aminueza/terraform-provider-minio/pull/555) **Full Changelog**: aminueza/terraform-provider-minio@v2.0.1...v2.1.0 ### [`v2.0.1`](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v2.0.1) [Compare Source](https://togithub.com/aminueza/terraform-provider-minio/compare/v2.0.0...v2.0.1) #### What's Changed - Fix null expiration date handling by [@​pjsier](https://togithub.com/pjsier) in [https://github.com/aminueza/terraform-provider-minio/pull/545](https://togithub.com/aminueza/terraform-provider-minio/pull/545) - Update terraform version to 1.5.7 in GitHub Action by [@​felladrin](https://togithub.com/felladrin) in [https://github.com/aminueza/terraform-provider-minio/pull/540](https://togithub.com/aminueza/terraform-provider-minio/pull/540) **Full Changelog**: aminueza/terraform-provider-minio@v2.0.0...v2.0.1 ### [`v2.0.0`](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v2.0.0) [Compare Source](https://togithub.com/aminueza/terraform-provider-minio/compare/v1.20.1...v2.0.0) #### What's Changed - Update madmin-go to version 3 by [@​acolombier](https://togithub.com/acolombier) in [https://github.com/aminueza/terraform-provider-minio/pull/514](https://togithub.com/aminueza/terraform-provider-minio/pull/514) - Handle empty service account policy by [@​ArataEM](https://togithub.com/ArataEM) in [https://github.com/aminueza/terraform-provider-minio/pull/518](https://togithub.com/aminueza/terraform-provider-minio/pull/518) - Go 1.20 by [@​BuJo](https://togithub.com/BuJo) in [https://github.com/aminueza/terraform-provider-minio/pull/519](https://togithub.com/aminueza/terraform-provider-minio/pull/519) - Destroy object versions on bucket force_destroy by [@​pjsier](https://togithub.com/pjsier) in [https://github.com/aminueza/terraform-provider-minio/pull/524](https://togithub.com/aminueza/terraform-provider-minio/pull/524) - Update goreleaser-action to v5 and add permission for the workflow to attach binaries to GitHub Releases by [@​felladrin](https://togithub.com/felladrin) in [https://github.com/aminueza/terraform-provider-minio/pull/521](https://togithub.com/aminueza/terraform-provider-minio/pull/521) - Add Noncurrent Version expiration to ilm policy by [@​ndejesus](https://togithub.com/ndejesus) in [https://github.com/aminueza/terraform-provider-minio/pull/526](https://togithub.com/aminueza/terraform-provider-minio/pull/526) - Add service account values to read and import by [@​pjsier](https://togithub.com/pjsier) in [https://github.com/aminueza/terraform-provider-minio/pull/525](https://togithub.com/aminueza/terraform-provider-minio/pull/525) - feat: add minio_s3\_bucket_replication resource by [@​acolombier](https://togithub.com/acolombier) in [https://github.com/aminueza/terraform-provider-minio/pull/528](https://togithub.com/aminueza/terraform-provider-minio/pull/528) - feat: recreate user if not found anymore by [@​tobikris](https://togithub.com/tobikris) in [https://github.com/aminueza/terraform-provider-minio/pull/534](https://togithub.com/aminueza/terraform-provider-minio/pull/534) - Bump google.golang.org/grpc from 1.58.0 to 1.58.3 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/aminueza/terraform-provider-minio/pull/535](https://togithub.com/aminueza/terraform-provider-minio/pull/535) - Change terraform-provider-minio license to AGPL-3.0 and append `/v2` to the module name by [@​BuJo](https://togithub.com/BuJo) in [https://github.com/aminueza/terraform-provider-minio/pull/522](https://togithub.com/aminueza/terraform-provider-minio/pull/522) #### Breaking Change: About the major version update We've updated `madmin-go` to `v3` so we can use the new features from the SDK, like the [bucket replication](https://togithub.com/aminueza/terraform-provider-minio/pull/528). As a consequence of this, we had to change our License to AGPL-3.0 to comply with `madmin-go`, [which has been using AGPL-3.0 since its v2 release](https://togithub.com/minio/madmin-go/pull/154). For those who can't upgrade to **terraform-provider-minio v2** due to license incompatibilities, we recommend you keep using the **v1** until you feel you need some of the new features. To don't let anyone behind, we've created a [v1](https://togithub.com/aminueza/terraform-provider-minio/tree/v1) branch, which is now protected and will live along with the [main](https://togithub.com/aminueza/terraform-provider-minio/tree/main). So if users of `v1` want to push features/fixes, they can create pull requests targeting that branch, and as soon as it's merged, we release a new update for the `v1.x`. For those importing this package in their software and want to upgrade, here's the command to upgrade: ```bash go get github.com/aminueza/terraform-provider-minio/v2@​v2.0.0 ``` **Full Changelog**: aminueza/terraform-provider-minio@v1.18.0...v2.0.0 > **Note** > [v1](https://togithub.com/aminueza/terraform-provider-minio/tree/v1) branch diverged from [main](https://togithub.com/aminueza/terraform-provider-minio/tree/main) at after the [release v1.18.0](https://togithub.com/aminueza/terraform-provider-minio/releases/tag/v1.18.0). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yMzUuNSIsInVwZGF0ZWRJblZlciI6IjM3LjIzNS42IiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9--> Co-authored-by: kireque-bot[bot] <143391978+kireque-bot[bot]@users.noreply.github.com>
Since v2 of madmin (the SDK for administrative access to minio) switched to AGPL 3, the licenses used in this project are:
Since AGPL 3 is a copyleft license, as opposed to the more permissive licenses before, this has to be addressed. At least the combined work (on building the provider) and publishing it to the terraform registry I believe must be done under AGPL 3.0.