From fae3061611adbfaea00d892b44f7486efa07848b Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 14:28:51 -0500 Subject: [PATCH 01/11] Ignore package-lock.json. --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index afaa031b..7ba3e780 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ coverage node_modules reports .cache +package-lock.json From fe7fdb1837111d0e71fa77a1789407bf7805c289 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 14:30:08 -0500 Subject: [PATCH 02/11] Open source under BSD-3-Clause. --- LICENSE.md | 137 ++++++--------------------------- index.js | 4 +- lib/config.js | 4 +- lib/configUtil.js | 4 +- lib/events.js | 4 +- lib/helpers.js | 5 +- lib/index.js | 4 +- lib/loggers/WorkerTransport.js | 4 +- lib/loggers/fileLogger.js | 4 +- lib/loggers/formatters.js | 4 +- lib/loggers/index.js | 4 +- lib/util.js | 4 +- lib/worker.js | 4 +- package.json | 2 +- test/mocha/test.js | 4 +- test/test.config.js | 4 +- test/test.js | 4 +- 17 files changed, 72 insertions(+), 128 deletions(-) diff --git a/LICENSE.md b/LICENSE.md index 0559a0b5..5d85cf36 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,115 +1,28 @@ -Bedrock Non-Commercial License v1.0 -=================================== +BSD 3-Clause License -Copyright (c) 2011-2019 Digital Bazaar, Inc. -All rights reserved. - -Summary -======= - -This license allows the licensee to use Bedrock and its software modules -for non-commercial purposes such as self-study, research, personal -projects, or for evaluation purposes. If the licensee uses Bedrock -directly or indirectly to generate revenue, or to provide products or -services to more than 500 people (users), the licensee must immediately -obtain a non-profit or commercial license. - -Examples -======== - -These are examples of cases that are allowed by this license: - -* The licensee is an individual that creates Bedrock-dependent software for - personal use only. -* The licensee is an individual or group of students/researchers that uses - Bedrock to experiment with an idea for a non-commercial project. -* The licensee is a startup company that prototypes a Bedrock-dependent - product before they have cash flow and will be testing the prototype - software with less than 500 users. The service will not generate revenue - of any kind. -* The licensee is a for-profit organization that creates a product or - service that is used by less than 500 users and is built with or - integrates with Bedrock. The service must be exclusively provided for free - and no parent, subsidiary, agent, or affiliate organization may profit - from its direct or indirect use. - -These cases require a non-profit or commercial license: - -* The licensee is a non-profit that receives funding to create and/or run a - Bedrock-dependent service. -* The licensee is a startup company with Bedrock-dependent software that is - funded by another organization. -* The licensee is a startup company that is going into production with - Bedrock-dependent software. -* The licensee has more than 500 users using a Bedrock-dependent service - either directly or indirectly. -* The licensee is a medium to large organization that builds or integrates a - commercial product or service with Bedrock. - -THE LICENSE -=========== - -This section and all subsequent sections of this document constitute the -agreement between the licensee and Digital Bazaar, Inc. - -DEFINITIONS -=========== - -* Product - The Bedrock software and any modules associated with Bedrock -where Digital Bazaar, Inc. owns the copyright. - -CONDITIONS -========== +Copyright (c) 2011-2024, Digital Bazaar, Inc. Redistribution and use in source and binary forms, with or without -modification, are permitted for NON-COMMERCIAL PURPOSES as long as the -following conditions are met: - -1. Any use of the Product must not generate revenue for the licensee or - any parent, subsidiary, agent, or affiliate of the licensee. Use of - Product includes, but is not limited to, interacting with any of the - licensee's Product-dependent products or services over a network. - -2. The aggregate number of individual people (users) of the licensee's - products or services that use Product must be less than 500. - -3. Redistributions of source code must retain the above copyright notice - intact, this list of conditions and the following disclaimer. - -4. Redistributions in binary form must reproduce the above copyright - notice, this license and the following disclaimer in the documentation and - on a web page available via interactive use and/or other materials - provided with the distribution. - -5. Neither the name of the copyright holder, the names of its - contributors, nor any trademarks held by the copyright holder may be used - to endorse or promote products or services built using the Product without - specific prior written permission. - -6. Any modifications are clearly outlined in release documentation and are - specifically mentioned as not being a part of an official Product release. - No additional restrictions to this license may be made when distributing - modifications. - -7. For the avoidance of doubt, this license prohibits sublicensing of the - Product. - -8. Any breach of this license by licensee must be resolved within 30 days. - Failure to do so results in the termination of this license. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS -IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR -CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, -EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -To obtain a non-profit or commercial license for Product, please contact -Digital Bazaar, Inc. at the following email address: - -Digital Bazaar +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/index.js b/index.js index 7d1a9ba9..e5c55676 100644 --- a/index.js +++ b/index.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import * as bedrock from './lib/index.js'; diff --git a/lib/config.js b/lib/config.js index e88b9e8e..b8d161e1 100644 --- a/lib/config.js +++ b/lib/config.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2021 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import {fileURLToPath} from 'node:url'; import path from 'node:path'; diff --git a/lib/configUtil.js b/lib/configUtil.js index 633b3a0c..56c78456 100644 --- a/lib/configUtil.js +++ b/lib/configUtil.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import {config as brConfig} from './config.js'; import {getByPath, setByPath, toPath} from './helpers.js'; diff --git a/lib/events.js b/lib/events.js index 68012df1..7530ac80 100644 --- a/lib/events.js +++ b/lib/events.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import {EventEmitter} from '@digitalbazaar/async-node-events'; diff --git a/lib/helpers.js b/lib/helpers.js index 8de3ec26..1c4ba6fa 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -1,6 +1,9 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ + // eslint-disable-next-line max-len const PROPERTY_REGEX = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; const ESCAPE_REGEX = /\\(\\)?/g; diff --git a/lib/index.js b/lib/index.js index ff14c148..ad72e7b9 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import * as brUtil from './util.js'; import {boolify, getByPath} from './helpers.js'; diff --git a/lib/loggers/WorkerTransport.js b/lib/loggers/WorkerTransport.js index 148eb66f..1490cc0d 100644 --- a/lib/loggers/WorkerTransport.js +++ b/lib/loggers/WorkerTransport.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import cycle from 'cycle'; import Transport from 'winston-transport'; diff --git a/lib/loggers/fileLogger.js b/lib/loggers/fileLogger.js index 36eb9e21..db6e96e1 100644 --- a/lib/loggers/fileLogger.js +++ b/lib/loggers/fileLogger.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import * as brUtil from '../util.js'; import * as formatters from './formatters.js'; diff --git a/lib/loggers/formatters.js b/lib/loggers/formatters.js index b96cf61b..2151aa4d 100644 --- a/lib/loggers/formatters.js +++ b/lib/loggers/formatters.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import jsonStringify from 'fast-safe-stringify'; import {MESSAGE} from 'triple-beam'; diff --git a/lib/loggers/index.js b/lib/loggers/index.js index 3f3389a6..b87a0369 100644 --- a/lib/loggers/index.js +++ b/lib/loggers/index.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import * as fileLogger from './fileLogger.js'; import * as formatters from './formatters.js'; diff --git a/lib/util.js b/lib/util.js index d57151ba..82c411c5 100644 --- a/lib/util.js +++ b/lib/util.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import {config} from './config.js'; import {serializeError} from 'serialize-error'; diff --git a/lib/worker.js b/lib/worker.js index 88ca86de..73345093 100644 --- a/lib/worker.js +++ b/lib/worker.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ // wait for initialization options from primary process.on('message', init); diff --git a/package.json b/package.json index c7e580d0..8f6090fd 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "6.0.2-0", "type": "module", "description": "A core foundation for rich Web applications.", - "license": "SEE LICENSE IN LICENSE.md", + "license": "BSD-3-Clause", "author": { "name": "Digital Bazaar, Inc.", "email": "support@digitalbazaar.com", diff --git a/test/mocha/test.js b/test/mocha/test.js index 7d024589..fb98b4c8 100644 --- a/test/mocha/test.js +++ b/test/mocha/test.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import * as bedrock from '@bedrock/core'; const {util: {BedrockError}} = bedrock; diff --git a/test/test.config.js b/test/test.config.js index e327461c..76d6e329 100644 --- a/test/test.config.js +++ b/test/test.config.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2019-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2019-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import {config} from '@bedrock/core'; import {fileURLToPath} from 'node:url'; diff --git a/test/test.js b/test/test.js index 2d00fa62..9d187e0c 100644 --- a/test/test.js +++ b/test/test.js @@ -1,5 +1,7 @@ /*! - * Copyright (c) 2019-2022 Digital Bazaar, Inc. All rights reserved. + * Copyright (c) 2019-2022 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause */ import * as bedrock from '@bedrock/core'; import '@bedrock/test'; From 8eae59555390b800e2c953ca5baa0ccfad92073d Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 14:31:34 -0500 Subject: [PATCH 03/11] Add preamble to workflow & eslint config. --- .eslintrc.cjs | 5 +++++ .github/workflows/main.yml | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/.eslintrc.cjs b/.eslintrc.cjs index eaf2ed60..3ee94fa7 100644 --- a/.eslintrc.cjs +++ b/.eslintrc.cjs @@ -1,3 +1,8 @@ +/*! + * Copyright (c) 2022-2024 Digital Bazaar, Inc. + * + * SPDX-License-Identifier: BSD-3-Clause + */ module.exports = { root: true, parserOptions: { diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9f52eeb5..01ef7a10 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,3 +1,7 @@ +# Copyright (c) 2020-2024 Digital Bazaar, Inc. +# +# SPDX-License-Identifier: BSD-3-Clause + name: Bedrock Node.js CI on: [push] From 577ac567a34c1d13cd3f3d6e86b006f3608f990b Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 15:00:39 -0500 Subject: [PATCH 04/11] Add raw BSD-3-Clause to LICENSES/ dir. Per REUSE v3.0 https://reuse.software/spec/#license-files --- LICENSES/BSD-3-Clause.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 LICENSES/BSD-3-Clause.txt diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt new file mode 100644 index 00000000..ea890afb --- /dev/null +++ b/LICENSES/BSD-3-Clause.txt @@ -0,0 +1,11 @@ +Copyright (c) . + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. From 45a2af2649ea2c46d73b309763aea52486a343c2 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 15:14:05 -0500 Subject: [PATCH 05/11] Add .reuse/dep5 for full REUSE compliance. This includes explicit reference to each file which currently lack (or cannot themselves contain) a license comment preamble. This is primarily to avoid the addition of several `.license` files per licensable file. --- .reuse/dep5 | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .reuse/dep5 diff --git a/.reuse/dep5 b/.reuse/dep5 new file mode 100644 index 00000000..203b4b39 --- /dev/null +++ b/.reuse/dep5 @@ -0,0 +1,7 @@ +Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Contact: Digital Bazaar, Inc. + +Files: *.md .gitignore .npmrc package.json test/.npmrc test/mocha/.eslintrc + test/package.json +Copyright: 2012-2024 Digital Bazaar, Inc. +License: BSD-3-Clause From 2d46cbe0cbd0ecb5ec93128c148a74bb804f17e4 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 15:20:47 -0500 Subject: [PATCH 06/11] Fix copyright year on some files. --- lib/index.js | 2 +- lib/util.js | 2 +- lib/worker.js | 2 +- test/mocha/test.js | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/index.js b/lib/index.js index ad72e7b9..d2dbc79d 100644 --- a/lib/index.js +++ b/lib/index.js @@ -1,5 +1,5 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/lib/util.js b/lib/util.js index 82c411c5..261162ed 100644 --- a/lib/util.js +++ b/lib/util.js @@ -1,5 +1,5 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/lib/worker.js b/lib/worker.js index 73345093..f0985905 100644 --- a/lib/worker.js +++ b/lib/worker.js @@ -1,5 +1,5 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. * * SPDX-License-Identifier: BSD-3-Clause */ diff --git a/test/mocha/test.js b/test/mocha/test.js index fb98b4c8..c1eae04c 100644 --- a/test/mocha/test.js +++ b/test/mocha/test.js @@ -1,5 +1,5 @@ /*! - * Copyright (c) 2012-2022 Digital Bazaar, Inc. + * Copyright (c) 2012-2024 Digital Bazaar, Inc. * * SPDX-License-Identifier: BSD-3-Clause */ From 87d6b52f7bd9ec31be66fd6e19e05c7a7555ff6b Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 16:28:22 -0500 Subject: [PATCH 07/11] Add CHANGELOG entry. --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 795a3739..879aed3e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # `@bedrock/core` ChangeLog +## 6.0.2 - xxxx-xx-xx +- Open Source under BSD-3-Clause license. + ## 6.0.1 - 2022-04-29 ### Fixed From 0b9932306bcb16fa84e7a364f3dcbb38048596aa Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 16:31:57 -0500 Subject: [PATCH 08/11] Bump node versions to 20.x (latest LTS). --- .github/workflows/main.yml | 20 ++++++++++---------- CHANGELOG.md | 1 + package.json | 2 +- 3 files changed, 12 insertions(+), 11 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 01ef7a10..be7140d2 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -12,11 +12,11 @@ jobs: timeout-minutes: 10 strategy: matrix: - node-version: [18.x] + node-version: [20.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: npm install @@ -28,11 +28,11 @@ jobs: timeout-minutes: 10 strategy: matrix: - node-version: [14.x, 16.x, 18.x] + node-version: [20.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: | @@ -49,11 +49,11 @@ jobs: timeout-minutes: 10 strategy: matrix: - node-version: [18.x] + node-version: [20.x] steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v1 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - run: | @@ -65,7 +65,7 @@ jobs: cd test npm run coverage-ci - name: Upload coverage to Codecov - uses: codecov/codecov-action@v2 + uses: codecov/codecov-action@v4 with: file: ./test/coverage/lcov.info fail_ci_if_error: true diff --git a/CHANGELOG.md b/CHANGELOG.md index 879aed3e..98691c24 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,7 @@ ## 6.0.2 - xxxx-xx-xx - Open Source under BSD-3-Clause license. +- Bump Node.js versions to 20.x (current LTS). ## 6.0.1 - 2022-04-29 diff --git a/package.json b/package.json index 8f6090fd..f8f50302 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "jsdoc-to-markdown": "^7.1.1" }, "engines": { - "node": ">=14" + "node": ">=20" }, "main": "./lib/index.js" } From 39105c9722bf6cc2fc7d0193cd6846b97d16f257 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 16:58:22 -0500 Subject: [PATCH 09/11] Remove old broken reference to the Bedrock logo. --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 9b1227af..9f018b90 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,3 @@ - - [![Bedrock Node.js CI](https://github.com/digitalbazaar/bedrock/workflows/Bedrock%20Node.js%20CI/badge.svg)](https://github.com/digitalbazaar/bedrock/actions?query=workflow%3A%22Bedrock+Node.js+CI%22) A core foundation for rich Web applications. From a96b6fc7abbcf6a931860ad4c37c55f4ffb05874 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 17:01:05 -0500 Subject: [PATCH 10/11] Clarify Bedrock licensing scenario. --- LICENSE-bedrock.md | 115 +++++++++++++++++++++++++++++++++++++++++++++ README.md | 10 ++-- 2 files changed, 120 insertions(+), 5 deletions(-) create mode 100644 LICENSE-bedrock.md diff --git a/LICENSE-bedrock.md b/LICENSE-bedrock.md new file mode 100644 index 00000000..91c3522f --- /dev/null +++ b/LICENSE-bedrock.md @@ -0,0 +1,115 @@ +Bedrock Non-Commercial License v1.0 +=================================== + +Copyright (c) 2011-2021 Digital Bazaar, Inc. +All rights reserved. + +Summary +======= + +This license allows the licensee to use Bedrock and its software modules +for non-commercial purposes such as self-study, research, personal +projects, or for evaluation purposes. If the licensee uses Bedrock +directly or indirectly to generate revenue, or to provide products or +services to more than 500 people (users), the licensee must immediately +obtain a non-profit or commercial license. + +Examples +======== + +These are examples of cases that are allowed by this license: + +* The licensee is an individual that creates Bedrock-dependent software for + personal use only. +* The licensee is an individual or group of students/researchers that uses + Bedrock to experiment with an idea for a non-commercial project. +* The licensee is a startup company that prototypes a Bedrock-dependent + product before they have cash flow and will be testing the prototype + software with less than 500 users. The service will not generate revenue + of any kind. +* The licensee is a for-profit organization that creates a product or + service that is used by less than 500 users and is built with or + integrates with Bedrock. The service must be exclusively provided for free + and no parent, subsidiary, agent, or affiliate organization may profit + from its use. + +These cases require a non-profit or commercial license: + +* The licensee is a non-profit that receives funding to create and/or run a + Bedrock-dependent service. +* The licensee is a startup company with Bedrock-dependent software that is + funded by another organization. +* The licensee is a startup company that is going into production with + Bedrock-dependent software. +* The licensee has more than 500 users using a Bedrock-dependent service + either directly or indirectly. +* The licensee is a medium to large organization that builds or integrates a + commercial product or service with Bedrock. + +THE LICENSE +=========== + +This section and all subsequent sections of this document constitute the +agreement between the licensee and Digital Bazaar, Inc. + +DEFINITIONS +=========== + +* Product - The Bedrock software and any modules associated with Bedrock +where Digital Bazaar, Inc. owns the copyright. + +CONDITIONS +========== + +Redistribution and use in source and binary forms, with or without +modification, are permitted for NON-COMMERCIAL PURPOSES as long as the +following conditions are met: + +1. Any use of the Product must not generate revenue for the licensee or + any parent, subsidiary, agent, or affiliate of the licensee. Use of + Product includes, but is not limited to, interacting with any of the + licensee's Product-dependent products or services over a network. + +2. The aggregate number of individual people (users) of the licensee's + products or services that use Product must be less than 500. + +3. Redistributions of source code must retain the above copyright notice + intact, this list of conditions and the following disclaimer. + +4. Redistributions in binary form must reproduce the above copyright + notice, this license and the following disclaimer in the documentation and + on a web page available via interactive use and/or other materials + provided with the distribution. + +5. Neither the name of the copyright holder, the names of its + contributors, nor any trademarks held by the copyright holder may be used + to endorse or promote products or services built using the Product without + specific prior written permission. + +6. Any modifications are clearly outlined in release documentation and are + specifically mentioned as not being a part of an official Product release. + No additional restrictions to this license may be made when distributing + modifications. + +7. For the avoidance of doubt, this license prohibits sublicensing of the + Product. + +8. Any breach of this license by licensee must be resolved within 30 days. + Failure to do so results in the termination of this license. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +To obtain a non-profit or commercial license for Product, please contact +Digital Bazaar, Inc. at the following email address: + +Digital Bazaar diff --git a/README.md b/README.md index 9f018b90..3d2acea7 100644 --- a/README.md +++ b/README.md @@ -798,18 +798,18 @@ License Bedrock and all Bedrock modules are: - Copyright (c) 2011-2021 Digital Bazaar, Inc. - All Rights Reserved + Copyright (c) 2011-2024 Digital Bazaar, Inc. You can use Bedrock for non-commercial purposes such as self-study, research, -personal projects, or for evaluation purposes. See the [LICENSE][] file for -details about the included non-commercial license information. +personal projects, or for evaluation purposes. Many Bedrock libraries (including +the core) are open source licensed under the [BSD-3-Clause](LICENSE.md). However, +some components use a custom non-commercial, source visible license: see the +[LICENSE-bedrock.md](LICENSE-bedrock.md) file for details. [AUTHORS]: AUTHORS.md [FEATURES]: FEATURES.md [CONTRIBUTING]: CONTRIBUTING.md [FAQ]: FAQ.md -[LICENSE]: LICENSE.md [Vue.js]: https://vuejs.org/ [JSON-LD]: http://json-ld.org [JSON-LD context]: http://www.w3.org/TR/json-ld/#the-context From a66b5e55f95cd9dcfec6a93f5b5ffc2f20355974 Mon Sep 17 00:00:00 2001 From: Benjamin Young Date: Mon, 12 Feb 2024 17:13:01 -0500 Subject: [PATCH 11/11] Correct Node LTS version use. --- .github/workflows/main.yml | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index be7140d2..bc60550e 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,7 +28,7 @@ jobs: timeout-minutes: 10 strategy: matrix: - node-version: [20.x] + node-version: [18.x, 20.x] steps: - uses: actions/checkout@v4 - name: Use Node.js ${{ matrix.node-version }} diff --git a/package.json b/package.json index f8f50302..63f80b33 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "jsdoc-to-markdown": "^7.1.1" }, "engines": { - "node": ">=20" + "node": ">=18" }, "main": "./lib/index.js" }