70

There are many articles out there which cover the topic in length and breadth, but so far I haven't found a nice, concise answer to the question.

What are the most important differences between the BSD and the MIT licenses and in what way do their intended uses specifically differ?

  • 4
    Guys we have a discussion in meta about this... we agreed questions like this are okay did we not? – Trevor Clarke Jun 27 '15 at 14:32
  • 3
    discussion on meta, which seems to be leaning towards allowing this question. (Because BSD and MIT are both quite short as far as licenses go, otherwise it would need to be narrowed down more.) – overactor Jun 27 '15 at 15:57
  • 1
    vote to close because it's too useful and helpful – sam boosalis Oct 30 '18 at 1:05
60

When talking about BSD license, you have to be aware that there is not one, but actually three different BSD licenses. The most basic is the two-clause BSD license:

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

The three-clause BSD license adds this clause:

Neither the name of the [organization] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

And the four-clause BSD license also this clause:

All advertising materials mentioning features or use of this software must display the following acknowledgement: This product includes software developed by the [organization].

The MIT license does not contain any clauses regarding promotion and advertising material, so it is most similar to the 2-clause BSD license:

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

So what both the 2-clause BSD license and the MIT license have in common are:

  • Permits use
  • Permits redistribution
  • Permits redistribution with modification
  • Provision to retain the copyright notice and warranty disclaimer

In addition the MIT license also explicitly allows:

  • merging
  • publishing
  • sublicensing
  • selling

However, all these freedoms are implied by the BSD license, because all these activities can be considered "use" and/or "redistribution" of the software.

The practical differences between the 2-clause BSD license and the MIT license are marginal. Which one to pick is mostly up to personal taste. Especially considering that both licenses are considered compatible, so you can take code under one license and use it in a project under the other, as long as you keep the license text around.

  • 4
    To me, the biggest difference is the existence of three BSD licenses and one MIT license. In order to avoid fragmentation/doubt I prefer MIT. – Abhi Beckert Sep 2 '15 at 2:19
  • 3
    Partially incorrect: sublicensing is not permitted by the BSD license but the other terms (merging, publishing, selling) are permitted by the BSD license. Sublicensing is an important "freedom" as it would allow you to add another license that implies restrictions (e.g. the GPL). Ad the BSD license does not permit sublicensing, you cannot add the GPL restrictions to the code. – schily Sep 14 '15 at 14:14
  • softwareengineering.stackexchange.com/a/122008/7525 says "BSD-licensed projects can be used/redistributed in MIT-licensed projects. FALSE MIT license allows for distribution without contribution credits; BSD doesn't." Do you disagree? – endolith Dec 16 '17 at 17:23
  • 1
    @AbhiBeckert: Actually it is the other way around. “BSD-2-clause” is unique. But there are various licenses that MIT has used, so the classical MIT license is sometimes written as “MIT/Expat” to make that distinction clear. Therefore I find BSD-2-clause easier to understand – Martin Ueding Aug 10 '18 at 13:28
  • @schily: GNU lists BSD-2-clause and BSD-3-clause as compatible with the GPL. Therefore sublicensing must be included. – Martin Ueding Aug 10 '18 at 13:32

Your Answer

By clicking "Post Your Answer", you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.