Skip to content

Commit 95a7979

Browse files
committed
Update LICENSE to SLULA (closes #9)
1 parent af360b5 commit 95a7979

File tree

5 files changed

+42
-22
lines changed

5 files changed

+42
-22
lines changed

LICENSE

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,36 @@
1-
# Snowplow Community License Agreement
1+
# Snowplow Limited Use License Agreement
22

3-
_Version 1.0, January 2023_
3+
_Version 1.0, January 2024_
44

5-
This Snowplow Community License Agreement, Version 1.0 (the “Agreement”) sets forth the terms on which Snowplow Analytics, Ltd. (“Snowplow”) makes available certain software made available by Snowplow under this Agreement (the “Software”). BY INSTALLING, DOWNLOADING, ACCESSING, OR USING ANY OF THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. IF YOU ARE RECEIVING THE SOFTWARE ON BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE THE ACTUAL AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT ON BEHALF OF SUCH ENTITY. “Licensee” means you, an individual, or the entity on whose behalf you are receiving the Software.
5+
This Snowplow Limited Use License Agreement, Version 1.0 (the “Agreement”) sets forth the terms on which Snowplow Analytics, Ltd. (“Snowplow”) makes available certain software (the “Software”). BY INSTALLING, DOWNLOADING, ACCESSING, OR USING ANY OF THE SOFTWARE, YOU AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO SUCH TERMS AND CONDITIONS, YOU MUST NOT USE THE SOFTWARE. IF YOU ARE RECEIVING THE SOFTWARE ON BEHALF OF A LEGAL ENTITY, YOU REPRESENT AND WARRANT THAT YOU HAVE THE ACTUAL AUTHORITY TO AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT ON BEHALF OF SUCH ENTITY. “Licensee” means you, an individual, or the entity on whose behalf you are receiving the Software.
66

77
## LICENSE GRANT AND CONDITIONS
88

9-
**1.1 License.** Subject to the terms and conditions of this Agreement, Snowplow hereby grants to Licensee a non-exclusive, royalty-free, worldwide, non-transferable, non-sublicenseable license during the term of this Agreement to: (a) use the Software; (b) prepare modifications and derivative works of the Software; and (c) reproduce copies of the Software (the “License”). No right to distribute or make available the Software is granted under this License. Licensee is not granted the right to, and Licensee shall not, exercise the License for an Excluded Purpose. For purposes of this Agreement, “Excluded Purpose” means making available any on-premises or distributed software product, software-as-a-service, platform-as-a-service, infrastructure-as-a-service, or other similar online service, that competes with any products or services that Snowplow or any of its affiliates provides using the Software.
9+
**1.1 License.** Subject to the terms and conditions of this Agreement, Snowplow hereby grants to Licensee a non-exclusive, royalty-free, worldwide, non-transferable, non-sublicensable license during the term of this Agreement to: (a) use the Software; (b) prepare modifications and derivative works of the Software; and (c) reproduce copies of the Software (the “License”). No right to distribute or make available the Software is granted under this License. Licensee is not granted the right to, and Licensee shall not, exercise the License for any Excluded Purpose.
1010

11-
**1.2 Conditions.** In consideration of the License, Licensee’s distribution of the Software is subject to the following conditions:
11+
**1.2** For purposes of this Agreement, an “Excluded Purpose” is any use that is either a Competing Use or a Highly-Available Production Use, or both of them.
12+
13+
* **1.2.1** A “Competing Use” is making available any on-premises or distributed software product, or any software-as-a-service, platform-as-a-service, infrastructure-as-a-service, or other similar online service, that competes with any products or services that Snowplow or any of its affiliates provides using the Software.
14+
15+
* **1.2.2** Highly-Available Production Use is any highly-available use, including without limitation any use where multiple instances of any Software component run concurrently to avoid a single point of failure, in a production environment, where production means use on live data.
16+
17+
**1.3 Conditions.** In consideration of the License, Licensee’s use of the Software is subject to the following conditions:
1218

1319
* **a.** Licensee must cause any Software modified by Licensee to carry prominent notices stating that Licensee modified the Software.
1420

1521
* **b.** On each Software copy, Licensee shall reproduce and not remove or alter all Snowplow or third party copyright or other proprietary notices contained in the Software, and Licensee must include the notice below on each copy.
1622

1723
```
1824
This software is made available by Snowplow Analytics, Ltd.,
19-
under the terms of the Snowplow Community License Agreement, Version 1.0
20-
located at https://docs.snowplow.io/community-license-1.0
21-
BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY OF THE SOFTWARE,
22-
YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.
25+
under the terms of the Snowplow Limited Use License Agreement, Version 1.0
26+
located at https://docs.snowplow.io/limited-use-license-1.0
27+
BY INSTALLING, DOWNLOADING, ACCESSING, USING OR DISTRIBUTING ANY PORTION
28+
OF THE SOFTWARE, YOU AGREE TO THE TERMS OF SUCH LICENSE AGREEMENT.
2329
```
2430

25-
**1.3 Licensee Modifications.** Licensee may add its own copyright notices to modifications made by Licensee.
31+
**1.4 Licensee Modifications.** Licensee may add its own copyright notices to modifications made by Licensee.
2632

27-
**1.4 No Sublicensing.** The License does not include the right to sublicense the Software, however, each recipient to which Licensee provides the Software may exercise the Licenses so long as such recipient agrees to the terms and conditions of this Agreement.
33+
**1.5 No Sublicensing.** The License does not include the right to sublicense the Software, however, each recipient to which Licensee provides the Software may exercise the Licenses so long as such recipient agrees to the terms and conditions of this Agreement.
2834

2935
## TERM AND TERMINATION
3036

@@ -40,7 +46,7 @@ SNOWPLOW HEREBY DISCLAIMS ANY AND ALL WARRANTIES AND CONDITIONS, EXPRESS, IMPLIE
4046

4147
## LIMITATION OF LIABILITY
4248

43-
SNOWPLOW WILL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO, LOST PROFITS OR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ARISING OUT OF THIS AGREEMENT. THE FOREGOING SHALL APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW.
49+
SNOWPLOW WILL NOT BE LIABLE FOR ANY DAMAGES OF ANY KIND, INCLUDING BUT NOT LIMITED TO LOST PROFITS OR ANY CONSEQUENTIAL, SPECIAL, INCIDENTAL, INDIRECT, OR DIRECT DAMAGES, HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, ARISING OUT OF THIS AGREEMENT. THE FOREGOING SHALL APPLY TO THE EXTENT PERMITTED BY APPLICABLE LAW.
4450

4551
## GENERAL
4652

README.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ module "pipeline_db" {
5555
module "postgres_loader_enriched" {
5656
source = "snowplow-devops/postgres-loader-pubsub-ce/google"
5757
58+
accept_limited_use_license = true
59+
5860
name = "pg-loader-enriched-server"
5961
6062
network = var.network
@@ -103,6 +105,8 @@ module "bad_1_topic" {
103105
module "postgres_loader_bad" {
104106
source = "snowplow-devops/postgres-loader-pubsub-ce/google"
105107
108+
accept_limited_use_license = true
109+
106110
name = "pg-loader-bad-server"
107111
108112
network = var.network
@@ -191,6 +195,7 @@ module "postgres_loader_bad" {
191195
| <a name="input_purpose"></a> [purpose](#input\_purpose) | The type of data the loader will be pulling which can be one of ENRICHED\_EVENTS or JSON (Note: JSON can be used for loading bad rows) | `string` | n/a | yes |
192196
| <a name="input_region"></a> [region](#input\_region) | The name of the region to deploy within | `string` | n/a | yes |
193197
| <a name="input_schema_name"></a> [schema\_name](#input\_schema\_name) | The database schema to load data into (e.g atomic \| atomic\_bad) | `string` | n/a | yes |
198+
| <a name="input_accept_limited_use_license"></a> [accept\_limited\_use\_license](#input\_accept\_limited\_use\_license) | Acceptance of the SLULA terms (https://docs.snowplow.io/limited-use-license-1.0/) | `bool` | `false` | no |
194199
| <a name="input_app_version"></a> [app\_version](#input\_app\_version) | App version to use. This variable facilitates dev flow, the modules may not work with anything other than the default value. | `string` | `"0.3.1"` | no |
195200
| <a name="input_associate_public_ip_address"></a> [associate\_public\_ip\_address](#input\_associate\_public\_ip\_address) | Whether to assign a public ip address to this instance; if false this instance must be behind a Cloud NAT to connect to the internet | `bool` | `true` | no |
196201
| <a name="input_custom_iglu_resolvers"></a> [custom\_iglu\_resolvers](#input\_custom\_iglu\_resolvers) | The custom Iglu Resolvers that will be used by the loader to resolve and validate events | <pre>list(object({<br> name = string<br> priority = number<br> uri = string<br> api_key = string<br> vendor_prefixes = list(string)<br> }))</pre> | `[]` | no |
@@ -222,24 +227,19 @@ module "postgres_loader_bad" {
222227

223228
# Copyright and license
224229

225-
The Terraform Google Postgres Loader on Compute Engine project is Copyright 2021-present Snowplow Analytics Ltd.
226-
227-
Licensed under the [Snowplow Community License](https://docs.snowplow.io/community-license-1.0). _(If you are uncertain how it applies to your use case, check our answers to [frequently asked questions](https://docs.snowplow.io/docs/contributing/community-license-faq/).)_
230+
Copyright 2021-present Snowplow Analytics Ltd.
228231

229-
Unless required by applicable law or agreed to in writing, software
230-
distributed under the License is distributed on an "AS IS" BASIS,
231-
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
232-
See the License for the specific language governing permissions and
233-
limitations under the License.
232+
Licensed under the [Snowplow Limited Use License Agreement][license]. _(If you are uncertain how it applies to your use case, check our answers to [frequently asked questions][license-faq].)_
234233

235234
[release]: https://github.com/snowplow-devops/terraform-google-postgres-loader-pubsub-ce/releases/latest
236235
[release-image]: https://img.shields.io/github/v/release/snowplow-devops/terraform-google-postgres-loader-pubsub-ce
237236

238237
[ci]: https://github.com/snowplow-devops/terraform-google-postgres-loader-pubsub-ce/actions?query=workflow%3Aci
239238
[ci-image]: https://github.com/snowplow-devops/terraform-google-postgres-loader-pubsub-ce/workflows/ci/badge.svg
240239

241-
[license]: https://docs.snowplow.io/docs/contributing/community-license-faq/
242-
[license-image]: https://img.shields.io/badge/license-Snowplow--Community-blue.svg?style=flat
240+
[license]: https://docs.snowplow.io/limited-use-license-1.0/
241+
[license-image]: https://img.shields.io/badge/license-Snowplow--Limited--Use-blue.svg?style=flat
242+
[license-faq]: https://docs.snowplow.io/docs/contributing/limited-use-license-faq/
243243

244244
[registry]: https://registry.terraform.io/modules/snowplow-devops/postgres-loader-pubsub-ce/google/latest
245245
[registry-image]: https://img.shields.io/static/v1?label=Terraform&message=Registry&color=7B42BC&logo=terraform

main.tf

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,8 @@ locals {
181181
})
182182

183183
startup_script = templatefile("${path.module}/templates/startup-script.sh.tmpl", {
184+
accept_limited_use_license = var.accept_limited_use_license
185+
184186
config_b64 = base64encode(local.config)
185187
iglu_resolver_b64 = base64encode(local.iglu_resolver)
186188
version = local.app_version

templates/startup-script.sh.tmpl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ sudo docker run \
5858
%{ endif ~}
5959
--mount type=bind,source=$${CONFIG_DIR},target=/snowplow/config \
6060
--env JDK_JAVA_OPTIONS='${java_opts}' \
61+
--env ACCEPT_LIMITED_USE_LICENSE=${accept_limited_use_license} \
6162
snowplow/snowplow-postgres-loader:${version} \
6263
--config /snowplow/config/postgres_loader.json \
6364
--resolver /snowplow/config/iglu_resolver.json

variables.tf

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
variable "accept_limited_use_license" {
2+
description = "Acceptance of the SLULA terms (https://docs.snowplow.io/limited-use-license-1.0/)"
3+
type = bool
4+
default = false
5+
6+
validation {
7+
condition = var.accept_limited_use_license
8+
error_message = "Please accept the terms of the Snowplow Limited Use License Agreement to proceed."
9+
}
10+
}
11+
112
variable "name" {
213
description = "A name which will be pre-pended to the resources created"
314
type = string

0 commit comments

Comments
 (0)