关于本书

此 repo 包含计算机网络的源文本:系统方法,现在可根据知识共享 (CC BY 4.0) 许可条款获得。邀请社区在相同条款下提供更正、改进、更新和新材料。

像许多开源软件项目一样,这个项目也包含了曾经受限制的内容:Elsevier 拥有版权的 Peterson 和 Davie 第 5 版。我们希望开源这些材料既能使其广泛可用,又能吸引新内容:更新已有内容,扩展它以涵盖新主题,并通过额外的教学材料扩充文本。

我们最初将扮演编辑的角色(策划和文字编辑)为回来的贡献,但我们的计划是与其他致力于项目成功的人分享该项目的所有权。

如果您使用这项工作,归属应包括以下信息:

标题:计算机网络:一种系统方法

作者:拉里·彼得森和布鲁斯·戴维

版权所有:爱思唯尔,2012

来源:https://github.com/SystemsApproach/book

许可证:CC BY 4.0

读了这本书

本书是系统方法系列的一部分,在线版本发布在 https://book.systemsapproach.org。

要跟踪进度并接收有关新版本的通知,您可以在 Facebook 和 Twitter 上关注该项目。

要阅读有关 Internet 如何发展的动态评论,请遵循 Substack 上的系统方法。

Releases and Editions

我们发布不断变化的开源内容,而不是发布固定的书籍,尽管您可以大致将 v6.0 等同于第 6 版。阅读前言以了解此版本中的新增功能。请注意,Morgan Kaufmann (Elsevier) 计划基于 v6.0 的一个分支发布其教科书的第 6 版,但展望未来,此处找到的开源版本不一定与任何未来发布的版本保持同步。

一般来说,master 包含一个连贯且内部一致的材料版本。 (如果是代码,这本书会构建和运行。)正在开发的新内容被签入分支,直到它可以合并到 master 而不破坏自洽。然后在 https://book.systemsapproach.org 上可用的本书的网络版本是从 master 连续生成的,对应于一个典型的维护版本(尽管我们不费心标记它)。

只要有足够的新内容来证明努力的合理性,就会标记次要版本(例如 v6.1)。这种情况每季度发生一次,或给予或接受,主要是为了创建快照,以便课程中的每个人都可以知道他们正在使用相同的版本。

build 这本书

要构建 Web 可查看版本,您首先需要下载源代码:

mkdir ~/systemsapproach
cd ~/systemsapproach
git clone https://github.com/systemsapproach/book.git
cd book

构建过程存储在 Makefile 中,需要安装 Python。

Makefile 将创建一个安装文档生成工具集的 virtualenv (doc_venv)。

要在 _build/html 中生成 HTML,请运行 make html。

要检查本书的格式,请运行 make lint。

要查看其他可用的输出格式,请运行 make。

如何贡献

我们希望,如果您使用此材料,您也愿意为之做出贡献。如果您不熟悉开源,您可以查看这篇如何为开源做贡献指南。除其他外,您将了解如何发布您希望看到解决的问题,以及发布拉取请求以将您的改进合并回 GitHub。

如果您确实想贡献补丁或新材料,则需要签署贡献者许可协议 (CLA)。第一次发出拉取请求时,系统会提示您签署 CLA。

CLA 非常简单:它确立了 (a) 您有权贡献您所贡献的内容,以及 (b) 根据与现有内容相同的 CC BY 条款,您所贡献的内容可供其他所有人使用。

CLA 有点不寻常,因为它明确指出 Elsevier 的权利(与每个人的权利相同),但这确实表明他们打算继续根据这些材料出版教科书。

您还应该熟悉贡献指南。

如果您想做出贡献并正在寻找需要注意的东西,请参阅当前的项目委员会。我们还想扩展从第 5 版继承而来的初始集之外的主题/章节集,因此,如果您有想法,我们很乐意听取您的意见。发送电子邮件至 Discussion@systemsapproach.org,或者加入论坛更好。

最后,尽管这是一项持续的努力,但我们将尝试记录和跟踪我们的进展。现在,将其视为穷人的发行说明。有关正在进行的工作的其他信息可以在 wiki 中找到。

加入我们

多年来,我们希望您从《计算机网络:系统方法》中获得了价值,我们渴望您加入我们的新事业。

拉里·彼得森和布鲁斯·戴维

2019 年 11 月

参考资料

https://github.com/SystemsApproach/book