Skip to content

Commit 0efb47c

Browse files
authored
Merge pull request #669 from bruin-data/audit-go-licenses-elv2-busl
Add license audit checks
2 parents 818e51b + 168b65d commit 0efb47c

7 files changed

Lines changed: 33084 additions & 4 deletions

File tree

.github/workflows/tests.yml

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,14 @@ jobs:
121121
run: make setup
122122
- name: Check the formatting and linting
123123
run: make lint-ci
124-
124+
125+
licenses:
126+
runs-on: depot-ubuntu-24.04-4
127+
steps:
128+
- uses: actions/checkout@v4
129+
- uses: actions/setup-go@v6
130+
with:
131+
go-version-file: 'go.mod'
132+
cache-dependency-path: "go.sum"
133+
- name: Check third-party license notices
134+
run: make licenses-check

.gitleaksignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,6 @@ docs/supported-sources/smartsheets.md:generic-api-key:38
66
ingestr/src/google_analytics/helpers_test.py:generic-api-key:45
77
ingestr/src/google_analytics/helpers_test.py:generic-api-key:51
88
ingestr/src/google_analytics/helpers_test.py:generic-api-key:58
9+
THIRD_PARTY_LICENSES.txt:sourcegraph-access-token:16318
10+
THIRD_PARTY_LICENSES.txt:sourcegraph-access-token:16389
11+
THIRD_PARTY_LICENSES.txt:sourcegraph-access-token:16480

LICENSE

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
# Functional Source License, Version 1.1, ALv2 Future License
2+
3+
## Abbreviation
4+
5+
FSL-1.1-ALv2
6+
7+
## Notice
8+
9+
Copyright 2026 Bruin Data Limited
10+
11+
## Terms and Conditions
12+
13+
### Licensor ("We")
14+
15+
The party offering the Software under these Terms and Conditions.
16+
17+
### The Software
18+
19+
The "Software" is each version of the software that we make available under
20+
these Terms and Conditions, as indicated by our inclusion of these Terms and
21+
Conditions with the Software.
22+
23+
### License Grant
24+
25+
Subject to your compliance with this License Grant and the Patents,
26+
Redistribution and Trademark clauses below, we hereby grant you the right to
27+
use, copy, modify, create derivative works, publicly perform, publicly display
28+
and redistribute the Software for any Permitted Purpose identified below.
29+
30+
### Permitted Purpose
31+
32+
A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
33+
means making the Software available to others in a commercial product or
34+
service that:
35+
36+
1. substitutes for the Software;
37+
38+
2. substitutes for any other product or service we offer using the Software
39+
that exists as of the date we make the Software available; or
40+
41+
3. offers the same or substantially similar functionality as the Software.
42+
43+
Permitted Purposes specifically include using the Software:
44+
45+
1. for your internal use and access;
46+
47+
2. for non-commercial education;
48+
49+
3. for non-commercial research; and
50+
51+
4. in connection with professional services that you provide to a licensee
52+
using the Software in accordance with these Terms and Conditions.
53+
54+
### Patents
55+
56+
To the extent your use for a Permitted Purpose would necessarily infringe our
57+
patents, the license grant above includes a license under our patents. If you
58+
make a claim against any party that the Software infringes or contributes to
59+
the infringement of any patent, then your patent license to the Software ends
60+
immediately.
61+
62+
### Redistribution
63+
64+
The Terms and Conditions apply to all copies, modifications and derivatives of
65+
the Software.
66+
67+
If you redistribute any copies, modifications or derivatives of the Software,
68+
you must include a copy of or a link to these Terms and Conditions and not
69+
remove any copyright notices provided in or with the Software.
70+
71+
### Disclaimer
72+
73+
THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
74+
IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
75+
PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
76+
77+
IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
78+
SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
79+
EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
80+
81+
### Trademarks
82+
83+
Except for displaying the License Details and identifying us as the origin of
84+
the Software, you have no right under these Terms and Conditions to use our
85+
trademarks, trade names, service marks or product names.
86+
87+
## Grant of Future License
88+
89+
We hereby irrevocably grant you an additional license to use the Software under
90+
the Apache License, Version 2.0 that is effective on the second anniversary of
91+
the date we make the Software available. On or after that date, you may use the
92+
Software under the Apache License, Version 2.0, in which case the following
93+
will apply:
94+
95+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
96+
this file except in compliance with the License.
97+
98+
You may obtain a copy of the License at
99+
100+
http://www.apache.org/licenses/LICENSE-2.0
101+
102+
Unless required by applicable law or agreed to in writing, software distributed
103+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
104+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
105+
specific language governing permissions and limitations under the License.

Makefile

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,15 @@ NAME=ingestr$(shell if [ "$(shell go env GOOS)" = "windows" ]; then echo .exe; f
22
BUILD_DIR ?= bin
33
BUILD_SRC=.
44
VERSION ?= dev
5+
GO_LICENSES_MODULE ?= github.com/google/go-licenses@v1.6.0
6+
LICENSE_DISALLOWED_TYPES ?= forbidden,restricted,unknown
7+
LICENSE_TARGETS ?= linux/amd64 linux/arm64 darwin/amd64 darwin/arm64 windows/amd64
58

69
NO_COLOR=\033[0m
710
OK_COLOR=\033[32;01m
811
ERROR_COLOR=\033[31;01m
912

10-
.PHONY: all clean test build deps generate lint format lint-ci format-ci test-ci setup
13+
.PHONY: all clean test build deps generate licenses licenses-check lint format lint-ci format-ci test-ci setup
1114

1215
all: clean deps test build
1316

@@ -32,6 +35,14 @@ generate:
3235
@echo "$(OK_COLOR)==> Generating registry imports$(NO_COLOR)"
3336
@go run ./cmd/genregistry
3437

38+
licenses: generate
39+
@echo "$(OK_COLOR)==> Updating third-party license notices$(NO_COLOR)"
40+
@GO_LICENSES_MODULE="$(GO_LICENSES_MODULE)" LICENSE_DISALLOWED_TYPES="$(LICENSE_DISALLOWED_TYPES)" LICENSE_TARGETS="$(LICENSE_TARGETS)" ./hack/update-third-party-licenses.sh
41+
42+
licenses-check: generate
43+
@echo "$(OK_COLOR)==> Checking third-party license notices$(NO_COLOR)"
44+
@GO_LICENSES_MODULE="$(GO_LICENSES_MODULE)" LICENSE_DISALLOWED_TYPES="$(LICENSE_DISALLOWED_TYPES)" LICENSE_TARGETS="$(LICENSE_TARGETS)" ./hack/update-third-party-licenses.sh --check
45+
3546

3647
build: generate deps
3748
@echo "$(OK_COLOR)==> Building the application...$(NO_COLOR)"

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -356,6 +356,6 @@ Feel free to create an issue if you'd like to see support for another source or
356356

357357
## License
358358

359-
This project is licensed under the MIT License - see the LICENSE file for details.
359+
ingestr is source-available under the [Functional Source License 1.1](https://fsl.software/), with Apache 2.0 as the future license. You can use ingestr freely for internal production use, development, testing, education, research, and professional services. You cannot use ingestr to offer a competing commercial ingestion, ELT, connector, or managed data pipeline product/service.
360360

361-
Some components are licensed under Apache 2.0 - see the NOTICE file for details.
361+
Each version becomes Apache 2.0 two years after release.

0 commit comments

Comments
 (0)