Git Product home page Git Product logo

book's Introduction

About This Book

This repo contains source text for Computer Networks: A Systems Approach, now available under terms of the Creative Commons (CC BY 4.0) license. The community is invited to contribute corrections, improvements, updates, and new material under the same terms.

Like many open source software projects, this one has been seeded with once restricted content: the 5th edition of Peterson and Davie, copyrighted by Elsevier. Our hope is that open sourcing this material will both make it widely available and serve as an attractor for new content: updating what’s already there, expanding it to cover new topics, and augmenting the text with additional teaching collateral.

We will initially play an editorial role (curating and wordsmithing) for contributions that come back, but our plan is to share ownership of the project with others committed to its success.

And if you make use of this work, the attribution should include the following information:

 Title: Computer Networks: A Systems Approach
 Authors: Larry Peterson and Bruce Davie
 Copyright: Elsevier, 2012
 Source: https://github.com/SystemsApproach/book
 License: CC BY 4.0

Read the Book

This book is part of the Systems Approach Series, with an online version published at https://book.systemsapproach.org.

To track progress and receive notices about new versions, you can follow the project on Facebook and Twitter. To read a running commentary on how the Internet is evolving, follow the Systems Approach Blog.

Releases and Editions

We release ever-changing open source content rather than publish fixed books, although you can roughly equate v6.0 with a 6th Edition. Read the Preface to find out what’s new in this version. Note that Morgan Kaufmann (Elsevier) plans to publish a 6th edition of their textbook based on a fork of v6.0, but going forward, open source releases found here will not necessarily stay in sync with any future published editions.

In general, master contains a coherent and internally consistent version of the material. (If it were code, the book would build and run.) New content under development is checked into branches until it can be merged into master without breaking self-consistency. The web version of the book available at https://book.systemsapproach.org is then continuously generated from master, corresponding to a typical maintenance release (although we do not bother to tag it as such).

Minor releases (e.g., v6.1) are tagged whenever there is sufficient new content to justify the effort. This happens quarterly, give-or-take, and is primarily to create a snapshot so that everyone in a course can know they are using the same version.

Build the Book

To build a web-viewable version, you first need to download the source:

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

The build process is stored in the Makefile and requires Python be installed. The Makefile will create a virtualenv (doc_venv) which installs the documentation generation toolset.

To generate HTML in _build/html, run make html.

To check the formatting of the book, run make lint.

To see the other available output formats, run make.

How to Contribute

We hope that if you use this material, you are also willing to contribute back to it. If you are new to open source, you might check out this How to Contribute to Open Source guide. Among other things, you’ll learn about posting Issues that you’d like to see addressed, and issuing Pull Requests to merge your improvements back into GitHub.

If you do want to contribute either patches or new material, you will need to sign a Contributor Licensing Agreement (CLA). You’ll be prompted to sign the CLA the first time you make a pull request.

The CLA is pretty straightforward: it establishes that (a) you have the right to contribute what you’re contributing, and (b) what you contribute is available to everyone else under the same CC BY terms as the existing content. The CLA is a little unusual in that it explicitly calls out Elsevier’s rights (which are the same as everyone’s), but this does signal their intent to continue publishing textbooks based on the material.

You should also familiarize yourself with the guidelines for contributing.

If you’d like to contribute and are looking for something that needs attention, see the current Project Board. We’d also like to expand the set of topics/chapters beyond the initial set inherited from the 5th edition, so if you have ideas, we’d love to hear from you. Send email to [email protected], or better yet, join the forum.

Finally, in as much as this is an on-going effort, we will try to record and track our progress. For now, think of this as a poor-man’s release notes. Additional information about work-in-progress can be found in the wiki.

Join Us

We hope you’ve gotten value out of Computer Networks: A Systems Approach over the years, and we’re eager to have you join us in this new venture.

Larry Peterson & Bruce Davie
November 2019

book's People

Contributors

llpeterson avatar drbruced12 avatar jhh67 avatar klinvill avatar teone avatar pdelong avatar functor avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.