From 2c937fc33102b0e2527643e0b80771b9a6e4c5cf Mon Sep 17 00:00:00 2001 From: windsornguyen Date: Fri, 31 Jul 2026 15:02:14 -0700 Subject: [PATCH 1/2] chore: standardize project licensing on Apache-2.0 --- CONTRIBUTING.md | 5 +++-- Cargo.toml | 2 +- NOTICE | 9 +++++++++ README.md | 9 +++++++-- STYLE.md | 2 +- ci/cli.test.ts | 2 +- ci/cli.ts | 2 +- docs/getting_started/what_is_bsmr.md | 6 +++--- package.json | 1 + packages/rust/starlark/starlark_js_example/Cargo.toml | 1 + packages/rust/starlark/vscode/client/package-lock.json | 2 +- packages/rust/starlark/vscode/package-lock.json | 2 +- packages/rust/starlark/vscode/package.json | 2 +- 13 files changed, 31 insertions(+), 14 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 2932452082..39cab4d612 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,5 +43,6 @@ Report vulnerabilities through the private process in ## License -Contributions are licensed under both the [MIT license](LICENSE-MIT) and the -[Apache License 2.0](LICENSE-APACHE). +Unless explicitly stated otherwise, contributions submitted to Bessemer are +licensed under the [Apache License 2.0](LICENSE-APACHE). Preserve every +copyright, license, and attribution notice in inherited files. diff --git a/Cargo.toml b/Cargo.toml index df58a1fdd8..87e9f1fc85 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -167,7 +167,7 @@ resolver = "2" [workspace.package] version = "0.1.0" edition = "2024" -license = "MIT OR Apache-2.0" +license = "Apache-2.0" repository = "https://github.com/dedalus-labs/bsmr" [workspace.dependencies] diff --git a/NOTICE b/NOTICE index 5dc8ccbda8..8e069512d8 100644 --- a/NOTICE +++ b/NOTICE @@ -1,3 +1,12 @@ +Bessemer +Copyright 2026 Dedalus Labs, Inc. + +Bessemer is derived from Buck2, copyright Meta Platforms, Inc. and affiliates. +Buck2-derived files retain their original copyright and license notices. Meta +makes those files available under MIT OR Apache-2.0; LICENSE-MIT is retained +for those upstream files. Bessemer's collective work and Dedalus-authored +contributions are licensed under Apache-2.0 in LICENSE-APACHE. + The code in `app/bsmr_error_derive` is adapted from thiserror (https://github.com/dtolnay/thiserror). The code in `tools/testing/completion/verify/src/runtime` is adapted from `complete_pty` diff --git a/README.md b/README.md index b6ed70d9f3..94ebac4e16 100644 --- a/README.md +++ b/README.md @@ -38,5 +38,10 @@ that remote should remain disabled. ## License -Bessemer is available under either the [MIT license](LICENSE-MIT) or the -[Apache License 2.0](LICENSE-APACHE). +Bessemer's collective work and Dedalus-authored contributions are licensed +under the [Apache License 2.0](LICENSE-APACHE). + +Buck2-derived and third-party files retain their original copyright and +license notices. Buck2 files remain available under Meta's MIT OR Apache-2.0 +grant, so [LICENSE-MIT](LICENSE-MIT) remains for those upstream files. See +[NOTICE](NOTICE) for attribution details. diff --git a/STYLE.md b/STYLE.md index dec269a291..6b95471123 100644 --- a/STYLE.md +++ b/STYLE.md @@ -17,7 +17,7 @@ Bessemer code should be obvious to inspect, operate, and extend. ```text //===----------------------------------------------------------------------===// // Copyright 2026 Dedalus Labs, Inc. -// SPDX-License-Identifier: MIT OR Apache-2.0 +// SPDX-License-Identifier: Apache-2.0 // // Describe this file's single responsibility. //===----------------------------------------------------------------------===// diff --git a/ci/cli.test.ts b/ci/cli.test.ts index 8c37a10e1c..6103c1c5eb 100644 --- a/ci/cli.test.ts +++ b/ci/cli.test.ts @@ -1,6 +1,6 @@ //===----------------------------------------------------------------------===// // Copyright 2026 Dedalus Labs, Inc. -// SPDX-License-Identifier: MIT OR Apache-2.0 +// SPDX-License-Identifier: Apache-2.0 // // Verifies CLI command selection, ordering, and fail-fast execution. //===----------------------------------------------------------------------===// diff --git a/ci/cli.ts b/ci/cli.ts index 99b28588eb..2ac16e232f 100644 --- a/ci/cli.ts +++ b/ci/cli.ts @@ -1,6 +1,6 @@ //===----------------------------------------------------------------------===// // Copyright 2026 Dedalus Labs, Inc. -// SPDX-License-Identifier: MIT OR Apache-2.0 +// SPDX-License-Identifier: Apache-2.0 // // Routes repository CI commands through Hollywood's typed process executor. //===----------------------------------------------------------------------===// diff --git a/docs/getting_started/what_is_bsmr.md b/docs/getting_started/what_is_bsmr.md index 134b823c50..89fcf23f41 100644 --- a/docs/getting_started/what_is_bsmr.md +++ b/docs/getting_started/what_is_bsmr.md @@ -15,6 +15,6 @@ It provides: - a shared prelude for common language toolchains. Bessemer is derived from -[Buck2](https://github.com/facebook/buck2). The project retains upstream -copyright notices and licenses while developing under its own name and public -interfaces. +[Buck2](https://github.com/facebook/buck2). Bessemer's collective work and +Dedalus-authored contributions use Apache-2.0. Buck2-derived and third-party +files retain their original copyright and license notices. diff --git a/package.json b/package.json index cadf60e49b..6a8908f874 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "bsmr-ci", "private": true, "type": "module", + "license": "Apache-2.0", "scripts": { "ci": "node ci/cli.ts" }, diff --git a/packages/rust/starlark/starlark_js_example/Cargo.toml b/packages/rust/starlark/starlark_js_example/Cargo.toml index 9c6225bfcd..e307b5f258 100644 --- a/packages/rust/starlark/starlark_js_example/Cargo.toml +++ b/packages/rust/starlark/starlark_js_example/Cargo.toml @@ -1,6 +1,7 @@ [package] description = "Example of running starlark-rust interpreter in browser" edition = "2024" +license = "Apache-2.0" name = "starlark_js_example" publish = false version = "0.0.0" diff --git a/packages/rust/starlark/vscode/client/package-lock.json b/packages/rust/starlark/vscode/client/package-lock.json index 2098b80324..ccc8e589aa 100644 --- a/packages/rust/starlark/vscode/client/package-lock.json +++ b/packages/rust/starlark/vscode/client/package-lock.json @@ -24,7 +24,7 @@ "..": { "name": "starlark", "version": "1.0.0", - "license": "Apache2", + "license": "Apache-2.0", "dependencies": { "@vscode/vsce": "^3.5.0", "vscode-languageclient": "^9.0.1" diff --git a/packages/rust/starlark/vscode/package-lock.json b/packages/rust/starlark/vscode/package-lock.json index 8fac8c0dee..7079e63bfa 100644 --- a/packages/rust/starlark/vscode/package-lock.json +++ b/packages/rust/starlark/vscode/package-lock.json @@ -7,7 +7,7 @@ "": { "name": "starlark", "version": "1.0.0", - "license": "Apache2", + "license": "Apache-2.0", "dependencies": { "@vscode/vsce": "^3.9.2", "vscode-languageclient": "^9.0.1" diff --git a/packages/rust/starlark/vscode/package.json b/packages/rust/starlark/vscode/package.json index b13267f319..92911b2499 100644 --- a/packages/rust/starlark/vscode/package.json +++ b/packages/rust/starlark/vscode/package.json @@ -5,7 +5,7 @@ "workspace" ], "author": "Facebook", - "license": "Apache2", + "license": "Apache-2.0", "version": "1.0.0", "repository": { "type": "git", From ef5d84121860514f702f580ecebaaba8993eb5ea Mon Sep 17 00:00:00 2001 From: windsornguyen Date: Fri, 31 Jul 2026 20:05:43 -0700 Subject: [PATCH 2/2] docs(license): formalize Apache-2.0 boundary --- NOTICE | 9 ++++----- README.md | 10 +++++----- STYLE.md | 8 ++++---- ci/cli.test.ts | 6 +++--- ci/cli.ts | 6 +++--- docs/getting_started/what_is_bsmr.md | 7 ++++--- 6 files changed, 23 insertions(+), 23 deletions(-) diff --git a/NOTICE b/NOTICE index 8e069512d8..10923781e5 100644 --- a/NOTICE +++ b/NOTICE @@ -1,11 +1,10 @@ Bessemer -Copyright 2026 Dedalus Labs, Inc. +Copyright (c) 2026 Dedalus Labs, Inc. and its contributors Bessemer is derived from Buck2, copyright Meta Platforms, Inc. and affiliates. -Buck2-derived files retain their original copyright and license notices. Meta -makes those files available under MIT OR Apache-2.0; LICENSE-MIT is retained -for those upstream files. Bessemer's collective work and Dedalus-authored -contributions are licensed under Apache-2.0 in LICENSE-APACHE. +Except where an inherited notice states otherwise, Bessemer is licensed under +Apache-2.0. Buck2-derived and third-party files retain their original +copyright, license, and attribution notices. The code in `app/bsmr_error_derive` is adapted from thiserror (https://github.com/dtolnay/thiserror). diff --git a/README.md b/README.md index 94ebac4e16..589710ce23 100644 --- a/README.md +++ b/README.md @@ -38,10 +38,10 @@ that remote should remain disabled. ## License -Bessemer's collective work and Dedalus-authored contributions are licensed -under the [Apache License 2.0](LICENSE-APACHE). +Except where an inherited notice states otherwise, Bessemer is licensed under +the [Apache License 2.0](LICENSE-APACHE). Buck2-derived and third-party files retain their original copyright and -license notices. Buck2 files remain available under Meta's MIT OR Apache-2.0 -grant, so [LICENSE-MIT](LICENSE-MIT) remains for those upstream files. See -[NOTICE](NOTICE) for attribution details. +license notices. [LICENSE-MIT](LICENSE-MIT) records Meta's upstream grant; it +does not license Bessemer-authored additions under MIT. See [NOTICE](NOTICE) +for attribution details. diff --git a/STYLE.md b/STYLE.md index 6b95471123..83b38ae106 100644 --- a/STYLE.md +++ b/STYLE.md @@ -5,7 +5,7 @@ Bessemer code should be obvious to inspect, operate, and extend. ## Source documentation - Start every new Dedalus-owned source file with the repository preamble below. -- State the file's responsibility in one sentence inside the preamble. +- State the file's responsibility in one sentence below the legal header, after one blank line. - Preserve existing Meta and third-party notices exactly. Claim Dedalus copyright only for Dedalus-authored work. - Mark modifications when an inherited file's license requires it; never replace the original notice. - Document every named function in new or materially modified code with the language's native documentation syntax. @@ -16,11 +16,11 @@ Bessemer code should be obvious to inspect, operate, and extend. ```text //===----------------------------------------------------------------------===// -// Copyright 2026 Dedalus Labs, Inc. +// Copyright (c) 2026 Dedalus Labs, Inc. and its contributors // SPDX-License-Identifier: Apache-2.0 -// -// Describe this file's single responsibility. //===----------------------------------------------------------------------===// + +// Describe this file's single responsibility. ``` ## Engineering diff --git a/ci/cli.test.ts b/ci/cli.test.ts index 6103c1c5eb..d55c55abd8 100644 --- a/ci/cli.test.ts +++ b/ci/cli.test.ts @@ -1,10 +1,10 @@ //===----------------------------------------------------------------------===// -// Copyright 2026 Dedalus Labs, Inc. +// Copyright (c) 2026 Dedalus Labs, Inc. and its contributors // SPDX-License-Identifier: Apache-2.0 -// -// Verifies CLI command selection, ordering, and fail-fast execution. //===----------------------------------------------------------------------===// +// Verifies CLI command selection, ordering, and fail-fast execution. + import assert from "node:assert/strict"; import { readFile } from "node:fs/promises"; import { test } from "node:test"; diff --git a/ci/cli.ts b/ci/cli.ts index 2ac16e232f..7c259892d4 100644 --- a/ci/cli.ts +++ b/ci/cli.ts @@ -1,10 +1,10 @@ //===----------------------------------------------------------------------===// -// Copyright 2026 Dedalus Labs, Inc. +// Copyright (c) 2026 Dedalus Labs, Inc. and its contributors // SPDX-License-Identifier: Apache-2.0 -// -// Routes repository CI commands through Hollywood's typed process executor. //===----------------------------------------------------------------------===// +// Routes repository CI commands through Hollywood's typed process executor. + import { realpathSync } from "node:fs"; import { dirname, resolve } from "node:path"; import { fileURLToPath } from "node:url"; diff --git a/docs/getting_started/what_is_bsmr.md b/docs/getting_started/what_is_bsmr.md index 89fcf23f41..99234b68f8 100644 --- a/docs/getting_started/what_is_bsmr.md +++ b/docs/getting_started/what_is_bsmr.md @@ -15,6 +15,7 @@ It provides: - a shared prelude for common language toolchains. Bessemer is derived from -[Buck2](https://github.com/facebook/buck2). Bessemer's collective work and -Dedalus-authored contributions use Apache-2.0. Buck2-derived and third-party -files retain their original copyright and license notices. +[Buck2](https://github.com/facebook/buck2). Except where an inherited notice +states otherwise, Bessemer is licensed under Apache-2.0. Buck2-derived and +third-party files retain their original copyright, license, and attribution +notices.