A couple of things were not mentioned in the accepted answer:
- documentation associated with the software
- community adoption
- BSD-2-Clause Plus Patent aka "BSD+Patent"
Another difference between the BSD licenses and the MIT license is how they deal with the meaning of "software".
MIT applies to the documentation associated with the software, BSD doesn't.
In MIT license, the word "Software" with a capital "S" is explicitly defined as being "this software and associated documentation files". In the BSD licenses, they talk about "source code and binary form", no mention of documentation.
In fact, FreeBSD uses a complete different license for its documentation.
Both MIT and BSD allow you to release your documentation under another license, that's potentially more restrictive. It is what Symfony does with MIT+CC-BY-SA.
If you want to be liberal with your documentation as well, you'd probably want to pick MIT instead of BSD. It avoids you to have to choose another documentation-specific license like CC-BY or equivalent on top of your BSD licensed source code.
I want to mitigate a little bit this assertion. I Am Not A Lawyer. Choose A License, the GitHub initiative, suggests that any open source software license is suitable for documentation:
Any open source software license or open license for media (see above)
also applies to software documentation. If you use different licenses
for your software and its documentation, be sure to specify that
source code examples in the documentation are also licensed under the
Flask is an example of widespread BSD-licensed project that also applies BSD to its documentation:
This license applies to all files in the Flask repository and source
distribution. This includes Flask’s source code, the examples, and
tests, as well as the documentation.
The NPM package manager contains libraries mostly released under MIT. So using it as well for your NPM package will most likely grant you more adoption.
Similarly, if you're looking to work closely with the FreeBSD project for example, you'd rather use one of the BSD licenses.
It's easier for your work to be accepted by a community when its license is already widely used within this very same community.
Let's face it though, MIT is in general more popular.
BSD-2-Clause Plus Patent aka "BSD+Patent"
There is another relatively new OSI-approved BSD license which @Philipp didn't talk about: BSD-2-Clause Plus Patent, also referred as BSD-2-Clause-Patent or "BSD+Patent".
BSD+Patent is exactly the same as BSD-2-Clause, except that BSD+Patent contains the explicit patent grant of the Apache License v2:
Subject to the terms and conditions of this license, each copyright
holder and contributor hereby grants to those receiving rights under
this license a perpetual, worldwide, non-exclusive, no-charge,
royalty-free, irrevocable (except for failure to satisfy the
conditions of this license) patent license to make, have made, use,
offer to sell, sell, import, and otherwise transfer this software,
where such license applies only to those patent claims, already
acquired or hereafter acquired, licensable by such copyright holder or
contributor that are necessarily infringed by:
(a) their Contribution(s) (the licensed copyrights of copyright
holders and non-copyrightable additions of contributors, in source or
binary form) alone; or
(b) combination of their Contribution(s) with the work of authorship
to which such Contribution(s) was added by such copyright holder or
contributor, if, at the time the Contribution is added, such addition
causes such combination to be necessarily infringed. The patent
license shall not apply to any other combinations which include the
Except as expressly stated above, no rights or licenses from any
copyright holder or contributor is granted under this license, whether
expressly, by implication, estoppel or otherwise.
Like MIT and BSD-2-Clause and unlike Apache License v2, BSD+Patent is compatible with GPLv2. Like Apache License v2 and unlike MIT and BSD-2-Clause, BSD+Patent avoids leading to potential patent trolls.
Licensing under BSD+Patent is an interesting alternative to dual-licensing under MIT+Apache v2.