From 6b28ab15914aabaa12b7055269fb30febbe6a9d7 Mon Sep 17 00:00:00 2001 From: Marius Merschformann Date: Tue, 5 Mar 2024 18:02:28 +0100 Subject: [PATCH] Adding license and header check action --- .github/workflows/header.yml | 17 +++++++ .nextmv/check_header.py | 27 +++++++++++ LICENSE.md | 87 ++++++++++++++++++++++++++++++++++++ README.md | 2 +- 4 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/header.yml create mode 100644 .nextmv/check_header.py create mode 100644 LICENSE.md diff --git a/.github/workflows/header.yml b/.github/workflows/header.yml new file mode 100644 index 0000000..0d292dd --- /dev/null +++ b/.github/workflows/header.yml @@ -0,0 +1,17 @@ +name: header +on: [push] +jobs: + check-header: + runs-on: ubuntu-latest + steps: + - name: git clone + uses: actions/checkout@v4 + + - name: set up Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: check header in .go files + run: | + python .nextmv/check_header.py diff --git a/.nextmv/check_header.py b/.nextmv/check_header.py new file mode 100644 index 0000000..cb28bdd --- /dev/null +++ b/.nextmv/check_header.py @@ -0,0 +1,27 @@ +# Description: This script checks if the header is present in all go files. +import glob +import sys + +HEADER = "// © 2019-present nextmv.io inc" + +# List all go files in all subdirectories +go_files = glob.glob("**/*.go", recursive=True) + +# Check if the header is the first line of each file +missing = [] +checked = 0 +for file in go_files: + with open(file, "r") as f: + first_line = f.readline().strip() + if first_line != HEADER: + missing.append(file) + checked += 1 + +# Print the results +if missing: + print(f"Missing header in {len(missing)} of {checked} files:") + for file in missing: + print(f" {file}") + sys.exit(1) +else: + print(f"Header is present in all {checked} files") diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 0000000..a6f51ce --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,87 @@ +# LICENSE + +Business Source License 1.1 + +Parameters + +Licensor: nextmv.io inc +Licensed Work: go-highs + +Change Date: Four years from the date the Licensed Work is published. +Change License: GPLv3 + +For information about alternative licensing arrangements for the Software, +please email info@nextmv.io. + +Notice + +The Business Source License (this document, or the “License”) is not an Open +Source license. However, the Licensed Work will eventually be made available +under an Open Source License, as stated in this License. + +License text copyright © 2023 MariaDB plc, All Rights Reserved. “Business Source +License” is a trademark of MariaDB plc. + +----------------------------------------------------------------------------- + +## Terms + +The Licensor hereby grants you the right to copy, modify, create derivative +works, redistribute, and make non-production use of the Licensed Work. The +Licensor may make an Additional Use Grant, above, permitting limited production +use. + +Effective on the Change Date, or the fourth anniversary of the first publicly +available distribution of a specific version of the Licensed Work under this +License, whichever comes first, the Licensor hereby grants you rights under the +terms of the Change License, and the rights granted in the paragraph above +terminate. + +If your use of the Licensed Work does not comply with the requirements currently +in effect as described in this License, you must purchase a commercial license +from the Licensor, its affiliated entities, or authorized resellers, or you must +refrain from using the Licensed Work. + +All copies of the original and modified Licensed Work, and derivative works of +the Licensed Work, are subject to this License. This License applies separately +for each version of the Licensed Work and the Change Date may vary for each +version of the Licensed Work released by Licensor. + +You must conspicuously display this License on each original or modified copy of +the Licensed Work. If you receive the Licensed Work in original or modified form +from a third party, the terms and conditions set forth in this License apply to +your use of that work. + +Any use of the Licensed Work in violation of this License will automatically +terminate your rights under this License for the current and all other versions +of the Licensed Work. + +This License does not grant you any right in any trademark or logo of Licensor +or its affiliates (provided that you may use a trademark or logo of Licensor as +expressly required by this License).TO THE EXTENT PERMITTED BY APPLICABLE LAW, +THE LICENSED WORK IS PROVIDED ON AN “AS IS” BASIS. LICENSOR HEREBY DISCLAIMS ALL +WARRANTIES AND CONDITIONS, EXPRESS OR IMPLIED, INCLUDING (WITHOUT LIMITATION) +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, +NON-INFRINGEMENT, AND TITLE. MariaDB hereby grants you permission to use this +License’s text to license your works, and to refer to it using the trademark +“Business Source License”, as long as you comply with the Covenants of Licensor +below. + +## Covenants of Licensor + +In consideration of the right to use this License’s text and the “Business +Source License” name and trademark, Licensor covenants to MariaDB, and to all +other recipients of the licensed work to be provided by Licensor: + +To specify as the Change License the GPL Version 2.0 or any later version, or a +license that is compatible with GPL Version 2.0 or a later version, where +“compatible” means that software provided under the Change License can be +included in a program with software provided under GPL Version 2.0 or a later +version. Licensor may specify additional Change Licenses without limitation. To +either: (a) specify an additional grant of rights to use that does not impose +any additional restriction on the right granted in this License, as the +Additional Use Grant; or (b) insert the text “None” to specify a Change Date. +Not to modify this License in any other way. + +License text copyright © 2023 MariaDB plc, All Rights Reserved. “Business Source +License” is a trademark of MariaDB plc. diff --git a/README.md b/README.md index 5d97da8..42ac607 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ ## License Please note that go-highs is provided as _source-available_ software (not -_open-source_). For further information, please refer to the [LICENSE](./LICENSE) +_open-source_). For further information, please refer to the [LICENSE](./LICENSE.md) file. ## Usage