From 82c1a4c067d14fa66ce0265fb4084837e2632047 Mon Sep 17 00:00:00 2001 From: Jeongkyu Shin Date: Sat, 13 Jun 2026 01:09:22 +0900 Subject: [PATCH] docs: add Apache-2.0 NOTICE and align tool naming to Broadcast SSH MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add a NOTICE file as recommended by Apache License 2.0 section 4(d). It records bssh's own copyright and attributes the two vendored upstream forks whose source we redistribute in-tree: russh (crates/bssh-russh, originally Thrussh by Pierre-Étienne Meunier, maintained by Eugeny Pankov) and russh-sftp (crates/bssh-russh-sftp, by AspectUnk), both Apache-2.0. Neither upstream ships a NOTICE file, so there is nothing to propagate; this attribution is for the vendored copies and the bssh-specific patches noted per crate. Extend the LICENSE copyright span to 2024-2026 to match active maintenance. Unify the auxiliary binaries with the v0.6.1 rebrand: bssh-server and bssh-keygen still surfaced "Backend.AI SSH" in their --help/version output while the main bssh CLI already said "Broadcast SSH". Switch both to "Broadcast SSH" so all tools are consistent. ARCHITECTURE.md keeps both names as "Broadcast SSH / Backend.AI SSH" to preserve the Backend.AI lineage in the design doc. --- ARCHITECTURE.md | 2 +- LICENSE | 2 +- NOTICE | 59 ++++++++++++++++++++++++++++++++++++++++++ src/bin/bssh_keygen.rs | 2 +- src/bin/bssh_server.rs | 6 ++--- 5 files changed, 65 insertions(+), 6 deletions(-) create mode 100644 NOTICE diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index d9c5fa4f..1f402a2f 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -2,7 +2,7 @@ ## Overview -bssh (Backend.AI SSH / Broadcast SSH) is a high-performance parallel SSH command execution tool with SSH-compatible interface. This document provides a high-level architecture overview. For detailed component documentation, see [docs/architecture/](./docs/architecture/). +bssh (Broadcast SSH / Backend.AI SSH) is a high-performance parallel SSH command execution tool with SSH-compatible interface. This document provides a high-level architecture overview. For detailed component documentation, see [docs/architecture/](./docs/architecture/). ### Core Capabilities diff --git a/LICENSE b/LICENSE index 0e64bb35..9515e49b 100644 --- a/LICENSE +++ b/LICENSE @@ -187,7 +187,7 @@ same "printed page" as the copyright notice for easier identification within third-party archives. - Copyright 2024 Jeongkyu Shin + Copyright 2024-2026 Jeongkyu Shin Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/NOTICE b/NOTICE new file mode 100644 index 00000000..78d2fd9f --- /dev/null +++ b/NOTICE @@ -0,0 +1,59 @@ +bssh (Broadcast SSH) +Copyright 2024-2026 Jeongkyu Shin + +Licensed under the Apache License, Version 2.0 (the "License"). You may not use +this product except in compliance with the License. A copy of the License is +provided in the LICENSE file and is also available at +http://www.apache.org/licenses/LICENSE-2.0. + +bssh is part of the Backend.AI project family developed by Lablup Inc. +(https://www.lablup.com). + +================================================================================ +Bundled third-party source +================================================================================ + +This product vendors modified source code from the projects below. Each lives +under crates/ as a thin fork that tracks an upstream release verbatim and adds +the bssh-specific patches noted here. Both upstream projects are licensed under +the Apache License, Version 2.0. + +-------------------------------------------------------------------------------- +russh (vendored as crates/bssh-russh, Cargo package "bssh-russh") +-------------------------------------------------------------------------------- + +Upstream : https://github.com/Eugeny/russh (tracking release 0.61.1) +License : Apache-2.0 + + Copyright 2016 Pierre-Étienne Meunier + Copyright the russh authors and contributors + +russh began as Thrussh by Pierre-Étienne Meunier and is currently maintained by +Eugeny Pankov and the russh contributors. The vendored copy is unmodified +upstream source plus a single change that drains pending Handle::data() messages +before the server session select loop (patches/handle-data-fix.patch), so +high-frequency PTY output is delivered reliably. + +-------------------------------------------------------------------------------- +russh-sftp (vendored as crates/bssh-russh-sftp, Cargo package "bssh-russh-sftp") +-------------------------------------------------------------------------------- + +Upstream : https://github.com/AspectUnk/russh-sftp (tracking release 2.3.0) +License : Apache-2.0 + + Copyright the russh-sftp authors and contributors (AspectUnk) + +The vendored copy is unmodified upstream source plus pipelined SFTP file I/O +helpers (write_all_pipelined / read_to_writer_pipelined) that keep multiple +requests in flight to hide per-request round-trip latency +(patches/pipelined-file-io.patch). + +================================================================================ +Linked third-party crates +================================================================================ + +bssh also links many third-party Rust crates at build time (see Cargo.toml and +Cargo.lock). Those crates are distributed under their own permissive licenses +(Apache-2.0, MIT, BSD, and similar); their license texts are available through +their respective source repositories and the Rust crate registry at +https://crates.io. diff --git a/src/bin/bssh_keygen.rs b/src/bin/bssh_keygen.rs index 8bcbd05a..bb70cd11 100644 --- a/src/bin/bssh_keygen.rs +++ b/src/bin/bssh_keygen.rs @@ -40,7 +40,7 @@ use clap::{ArgAction, Parser}; use std::io::{self, Write}; use std::path::PathBuf; -/// Backend.AI SSH Key Generator - Generate SSH key pairs in OpenSSH format +/// Broadcast SSH Key Generator - Generate SSH key pairs in OpenSSH format #[derive(Parser, Debug)] #[command(name = "bssh-keygen")] #[command(version)] diff --git a/src/bin/bssh_server.rs b/src/bin/bssh_server.rs index 5c700e30..2ff6ad29 100644 --- a/src/bin/bssh_server.rs +++ b/src/bin/bssh_server.rs @@ -25,11 +25,11 @@ use std::fs; use std::io::{self, Write}; use std::path::PathBuf; -/// Backend.AI SSH Server - A lightweight SSH server for containers +/// Broadcast SSH Server - A lightweight SSH server for containers #[derive(Parser, Debug)] #[command(name = "bssh-server")] #[command(version)] -#[command(about = "Backend.AI SSH Server - A lightweight SSH server for containers", long_about = None)] +#[command(about = "Broadcast SSH Server - A lightweight SSH server for containers", long_about = None)] struct Cli { /// Subcommand to execute #[command(subcommand)] @@ -426,7 +426,7 @@ fn gen_host_key(key_type: &str, output: &PathBuf, _bits: u32) -> Result<()> { /// Show version and build information fn show_version() -> Result<()> { println!("bssh-server {}", env!("CARGO_PKG_VERSION")); - println!("Backend.AI SSH Server"); + println!("Broadcast SSH Server"); println!(); println!("A lightweight SSH server for containers"); println!();