Skip to content
/ librfs Public

A Unix-based virtual filesystem supporting multi-threaded reads and single-threaded writes, ideally suited for backups, large-scale data storage, and networked environments.

License

Notifications You must be signed in to change notification settings

librfs/librfs

Repository files navigation

rfs filesystem

rfs is a large-scale project consisting of multiple components, each managed as a separate git submodule within this repository.

All licenses used by this project are available in the LICENSES/ directory.
To determine the specific license applied to each subproject, please refer to the README and LICENSE files located within the respective subproject directories.

Simply put, the core of rfs is licensed under MIT and GPL-2.0-or-later, while the fuse and networking components are licensed under AGPL-3.0. Since librfs includes all functionalities, it contains crates licensed under GPL-2.0-or-later and is thus upgraded to GPL-3.0 for compatibility with AGPL-3.0, making the entire librfs project licensed under AGPL-3.0.

The rfsd daemon consists of two parts: the first part exposes Unix socket and Axum HTTP interfaces, which is licensed under GPL-2.0-or-later; the second part is the daemon's standalone logic, licensed under MIT.

The rfsv CLI tool is licensed under GPL-2.0-only.

Source files in this project must begin with the following header format:

  src/filename.rs
  SPDX-License-Identifier: license
  Copyright (c) year author

This header ensures consistent license attribution and copyright declaration across the codebase.

The librfs project originally planned to include built-in FUSE support. However, it was later realized that rfs should function as a stable and independent service, and whether to mount rfs should be left to the user’s discretion. Therefore, rfs-fuse was separated into its own project, which depends on librfs. The rfsd daemon now solely manages the rfs processes running on the operating system. Due to the early inclusion of FUSE, parts of the librfs codebase still contain AGPL-3.0 licensed code that will no longer be modified, so the overall license has been upgraded to AGPL-3.0.

About

A Unix-based virtual filesystem supporting multi-threaded reads and single-threaded writes, ideally suited for backups, large-scale data storage, and networked environments.

Resources

License

Stars

Watchers

Forks

Languages