> For the complete documentation index, see [llms.txt](https://book.bsdcn.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://book.bsdcn.org/di-2-zhang-freebsd-dao-lun/di-2.2-jie-guan-yu-freebsd-xiang-mu.md).

# 2.2 关于 FreeBSD 项目

## FreeBSD 项目宗旨

FreeBSD 项目的宗旨是：使 FreeBSD 的代码得到最广泛的利用，让所有人，无论其目的为何，都能从中受益。这一宗旨可概括为“只求我为人人，不求人人为我”的开放共享理念。

FreeBSD 项目的源代码中包含部分受 GNU 通用公共许可证（GPL）和 GNU 宽通用公共许可证（LGPL）许可的软件，项目正在持续努力降低其所占比重。尽管这些许可证要求开源而非闭源，但它们仍带来一定的法律挑战和额外复杂性。为充分实现 FreeBSD 的宗旨，即尽可能提供无附加条件的软件以降低商业使用中的复杂性，FreeBSD 项目在可能的情况下更倾向于采用限制更少的 BSD 许可证。

> **思考题**
>
> > BSD 2 条款许可证摘录：“在满足以下条件的前提下，允许在源代码和二进制形式中 **重新分发** 和使用本软件，无论是否经过修改”
> >
> > “你可以继续从上游获取 BSD 授权的原始源代码，但如果你使用了基于原 BSD 衍生代码但以 GPL 再授权的版本，则仍需遵循 GPL。这形成了一条从 BSD 到 GPL 的单向通道：一旦 BSD 源代码被并入 GPL 项目，就如同进入了‘黑洞’，即 **BSD 代码的 GPL 化** 是不可逆的。BSD 世界逐渐被 GPL 蚕食。但事实上，BSD 代码在开源和闭源世界都得到了最大程度的复用。”
>
> 1. 除了可以将 BSD 许可的软件转为专有软件外，还能怎样理解这种“重新分发”？在满足条件（主要是一些免责和版权声明）后，能以何种许可证再分发和重许可？
> 2. 为什么自由软件基金会称 BSD 2 条款许可证和 GPLv2/GPLv3 兼容？如果 BSD 许可的软件 A 进入 GPLv2 项目 B 中成为其一部分。下游用户再分发时，在何种条件下，要求软件 A 也遵守 GPLv2 而非通过 BSD 协议转为专有软件？为什么？
> 3. 站在许可证的感染性角度，再理解 Linux kernel 的 GNU 化以及 FreeBSD 基本系统的去 GNU 化。
> 4. 怎样理解这种代码复用目的的成功达成？

## FreeBSD 治理结构

FreeBSD 的治理结构包含存储库、基金会、社区、提交者和核心小组等。

![FreeBSD 治理结构](/files/MDMy5wskVBCEtCZVAbOz)

### 源代码存储库

FreeBSD 项目历史悠久，其版本控制工具历经 CVS、SVN、Git。多年来，FreeBSD 的中央源代码树由 CVS（Concurrent Versions System）维护。CVS 是一款自由软件，提供源代码控制功能。随着源代码树的快速扩张和已存储历史记录的大量增加，CVS 的技术局限性日益明显，各存储库的迁移时间线如下：

| 时间          | 存储库   | 事件                            |
| ----------- | ----- | ----------------------------- |
| 2008 年 5 月  | src   | 从 CVS 迁移至 SVN                 |
| 2012 年 5 月  | doc   | 从 CVS 迁移至 SVN                 |
| 2012 年 7 月  | ports | 从 CVS 迁移至 SVN（CVS 与 SVN 双轨运行） |
| 2013 年 2 月  | ports | 正式关闭 CVS 访问                   |
| 2020 年 12 月 | src   | 迁移至 Git                       |
| 2020 年 12 月 | doc   | 迁移至 Git                       |
| 2021 年 4 月  | ports | 迁移至 Git                       |

目前使用 Git 进行协作开发。

FreeBSD 项目的存储库分为三个：freebsd-src（源代码）、freebsd-ports（Ports 软件移植）、freebsd-doc（文档）。三个项目地位平等。

### FreeBSD 基金会

FreeBSD 基金会是美国科罗拉多州博尔德的一家 501(c)(3) 非营利机构，致力于在全球范围内支持和推广 FreeBSD 项目及社区。基金会通过项目资助为软件开发提供资金，并配备专职人员及时应对紧急问题、实现新功能。基金会购买硬件以改善和维护 FreeBSD 基础设施，资助人员以提高测试覆盖率、持续集成和自动化水平。基金会通过在全球技术会议和活动中推广 FreeBSD 来进行宣传。基金会还提供研讨会、教育材料和演示，以招募更多用户和贡献者加入 FreeBSD。此外，基金会还代表 FreeBSD 项目执行合同、许可协议及其他需要认可法律实体的法律安排。基金会的所有权力集中在董事会，董事由现有董事会成员选举产生（新董事仅限现任董事提名），任期由章程规定。

在大部分国家，FreeBSD 商标由 FreeBSD 基金会持有。

### FreeBSD 社区

FreeBSD 项目通过网络进行远程开发。

FreeBSD 社区由来自世界各地的开发者和用户组成。FreeBSD 社区并非法律实体，也无固定办事处。FreeBSD 社区不仅是英文社区，还有中文、俄语、韩语、日语等社区。

### 提交者

提交者是指拥有直接写入 FreeBSD 存储库权限的人员。要成为提交者，需要通过导师机制，必须由已有提交者推荐。为了防范潜在的安全风险，提交者并非终身制，各存储库的非活跃期限如下：

| 存储库           | 非活跃期限        |
| ------------- | ------------ |
| freebsd-src   | 18 个月内至少一次提交 |
| freebsd-doc   | 18 个月内至少一次提交 |
| freebsd-ports | 12 个月内至少一次提交 |

非活跃提交者的权限将被暂停，但可以申请恢复。

### FreeBSD 核心小组

FreeBSD 核心小组是 FreeBSD 项目的最高领导机构，按章程由 9 名成员组成，采取集体领导制度，每位成员分管不同的子项目。FreeBSD 核心小组负责授予或撤销提交者权限及账户、执行行为准则（CoC）、管理项目子团队等。

FreeBSD 核心小组选举每两年举行一次，成员可以连选连任。只有在过去 12 个月内有过提交的提交者（视为活跃提交者）才拥有选举权和被选举权。

历史上，核心小组从未出现全体轮替的情况，一位核心小组成员在实践中通常会连任两届或更多届。核心小组成员和 FreeBSD 董事会成员往往存在交叉任职的情况。

FreeBSD 核心小组成员并不直接从中获取任何利益，均为志愿者。有些成员可能会接受 FreeBSD 基金会的雇佣或赞助来参与特定项目的开发。

## 课后习题

1. 分析 FreeBSD 的提交者（Committer）机制与核心小组选举制度，选取另一个开源项目（如 Linux 内核或 OpenBSD），从治理结构、代码审查流程和决策机制三个维度展开比较。


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://book.bsdcn.org/di-2-zhang-freebsd-dao-lun/di-2.2-jie-guan-yu-freebsd-xiang-mu.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
