Markdown

BSD

BSD is the Acronym for Berkeley Software Distribution

A family of short, permissive copyright grants that began with the Berkeley Software Distribution of Unix. Recipients may use, modify, and ship the code, including inside proprietary products. There is no copyleft. The surviving texts differ on whether redistributors must keep a notice, and whether they may use names to endorse a derived product.

Do not treat the BSD license as a single document. The original four-clause advertising requirement is a different, GPL-incompatible text. Current catalogs mean one of the three grants below. All of them are silent on patents, unlike longer corporate permissive licenses that spell a patent grant out.

Three Clauses, Two Clauses, and Zero

The permission sentence is the same idea in each variant: redistribution and use in source and binary form, with or without modification, are allowed. The conditions are what change.

  • 3-Clause (New or Revised): Keep the copyright notice, the list of conditions, and the disclaimer in source. Reproduce them in the documentation that ships with binaries. Do not use the copyright holder’s or contributors’ names to endorse derived products without prior written permission.
  • 2-Clause (Simplified or FreeBSD): The same two notice conditions, without the no-endorsement sentence. The FreeBSD Project’s current guide prefers this text, marked SPDX-License-Identifier: BSD-2-Clause, for new files.
  • Zero-Clause: A one-sentence permission grant plus an as is disclaimer, with no duty to keep the notice in source or binaries. SPDX calls it 0BSD. It is still a copyright license, not a public-domain dedication. Toybox ships under it.

The University of California rescinded the advertising clause on its own BSD Unix files on 22 July 1999. That letter did not rewrite every third-party clone of the old four-clause text. The GNU project treats the modified 3-clause grant as compatible with the General Public License (GPL) and the advertising clause as incompatible.

How the Variants Compare

Choose a license catalog treats 2-clause and 3-clause as close cousins of the Expat-style MIT grant. The ISC License published by the Internet Systems Consortium (ISC) is the same job with even less boilerplate. Zero-Clause is the outlier: it drops the notice requirement the others keep.

VariantNotice in source and binariesNo-endorsement clausePatent grant
3-ClauseRequiredYesSilent
2-ClauseRequiredNoSilent
Zero-ClauseNot requiredNoSilent

What to Put on a File

SPDX identifiers on individual files are still BSD-3-Clause, BSD-2-Clause, and 0BSD. Those strings name a text, not a second acronym. A compliance scan that reports three BSD hits is looking at three members of this family, not three unrelated licenses.

  • New library code: 2-clause if you want MIT-like brevity with BSD wording; 3-clause if you need the name-protection sentence.
  • Snippets where you truly want no notice duty: Zero-Clause. Keep the notices anyway if later users need to see who granted permission.
  • Inbound four-clause files: Treat the advertising sentence as a real extra restriction. Do not mix that text into a GPL work.

The MIT Expat grant is the usual alternative when a team wants a permission-to-deal sentence instead of numbered redistribution conditions. None of these texts is a substitute for a license that states a patent grant in so many words.