Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

My understanding is that:

  • MIT-licensed projects can be used/redistributed in BSD-licensed projects.
  • BSD-licensed projects can be used/redistributed in MIT-licensed projects.
  • The MIT and the BSD 2-clause licenses are essentially identical.
  • BSD 3-clause = BSD 2-clause + the "no endorsement" clause
  • Issuing a dual license allows users to choose from those licenses—not be bound to both.

If all of the above is correct, then what is the point of using a dual MIT/BSD license? Even if the BSD refers to the 3-clause version, then can't a user legally choose to only abide by the MIT license?

It seems that if you really want the "no endorsement" clause to apply then you have to license it as just BSD (not dual). If you don't care about the "no endorsement" clause, then MIT alone is sufficient and MIT/BSD is redundant.

Similarly, since the MIT and BSD licenses are both "GPL-compatible" and can be redistributed in GPL-licensed projects, then dual licensing MIT/GPL also seems redundant.

share|improve this question

migrated from stackoverflow.com Nov 28 '11 at 2:08

This question came from our site for professional and enthusiast programmers.

    
Can you provide an MIT + BSD licenses example? It's usually redundant to dual license under two similarly permissive licenses, but I've seen dual licensing abused as a way to explicitly state that code could be redistributed under each one of the licenses. –  Yannis Rizos Nov 28 '11 at 2:20
    
@Yannis Yea I wondered if people dual-licensed them just to be more explicit for people who don't know. But I think it just makes it more confusing for them. –  ryanve Nov 28 '11 at 2:56
    
Interesting read: tomhull.com/ocston/docs/mozgpl.html –  Dipan Mehta Dec 16 '11 at 4:46

1 Answer 1

My understanding is that:

  1. MIT-licensed projects can be used/redistributed in BSD-licensed projects.
    TRUE (but unless there are modifications, the users can get it from the original sources also.

  2. BSD-licensed projects can be used/redistributed in MIT-licensed projects.
    FALSE MIT license allows for distribution without contribution credits; BSD doesn't.

  3. The MIT and the BSD 2-clause licenses are essentially identical.
    FALSE See above.

  4. BSD 3-clause = BSD 2-clause + the "no endorsement" clause
    TRUE

  5. Issuing a dual license allows users to choose from those licenses—not be bound to both.
    TRUE (I think so!)

Similarly, since the MIT and BSD licenses are both "GPL-compatible" and can be redistributed in GPL-licensed projects, then dual licensing MIT/GPL also seems redundant.

NO. Here is a major difference. MIT license and Apache License -only requires that you give credit to original copywriters. If you choose, you can redistribute source; but if you choose you can keep your new derived product without opening code. Hence, it is possible to use code developed under MIT and apache - under commercial license.

If you ever use code with GPL based license and happen to modify it you must distribute your modified code as well under GPL. In other words, once any GPL code base is used under a project, and if you want to publish that as a product, it has to be published with the source code and it has to be published under GPL. It cannot ever be commercial license or closed source, and it cannot be any other license which is less stricter than GPL.

It is possible for example to take MIT, Apache or BSD license code, modified and distributed under GPL. Once a code base is distributed as GPL, it's further derived versions cannot be distributed under MIT, Apache or BSD license but must be GPL only.

Edit:
Example Case of Dual license: Suppose Nice Office is released under dual license - MIT and GPL. It has two possibilities. Some people can create NicePro Office, which can be commercial and sell. Where as some other open source community and create a fork NiceOpen Office. In this case, it can enforce upon GPL distribution (of the original Nice Office as well as NiceOpen Office version) hence if you start with NiceOpen Office, you must comply to GPL only and not MIT license.

The point is in case of dual license the first person who derives a license has a choice. He can choose either way - however, the second person needs to adhere to the choice the first person made. He/She cannot over ride the original rights of either generation and cannot in anyway reduce the obligation of applicable license.

EDIT 2 Adding an interesting read - GPL and MPL Licenses has a serious conflicts. Read this. http://www.tomhull.com/ocston/docs/mozgpl.html

share|improve this answer
1  
Nice answer. Suggest you clarify the last paragraph to state that "in the event that you publish modified software under the GPL, you must also publish the modified source code". –  gahooa Nov 28 '11 at 6:25
2  
@Dipan If a project is dual licensed under MIT/GPL, then it can be used in a proprietary project b/c the user can choose to follow only the MIT. If a project holds only the MIT license, then it can be redistributed under others licenses including the GPL. That's what I meant by redundant. –  ryanve Nov 28 '11 at 8:13
6  
@DipanMehta What do you mean by "contribution credits" in #2? It sounds like you're referring to the BSD 4-clause license, which is not verified by the FSF like the 3-clause and 2-clause are. I'm talking about the 3-clause and the 2-clause ones, in which case I'm pretty sure that all five statements are true. –  ryanve Nov 28 '11 at 8:20
2  
You can use BSD-licensed code in conjunction with MIT-licensed code; you just have to mention in the project's materials that "BazApp uses libfoobar, which is distributed under a BSD license" or something like that. The BSD and MIT licenses are applied on a per-file, rather than per-project, level. –  mipadi Nov 28 '11 at 15:51
4  
@Dipan_Mehta As ryanve already told you, you're talking about the original 4-clause BSD license, while the OP is talking about the revised 3- and 2-clause BSD licenses. The 2-clause BSD license is actually equivalent to the MIT one. Even the OSI page states so. –  user54062 May 15 '12 at 10:15

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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