My understanding is that:
- MIT-licensed projects can be used/redistributed in BSD-licensed projects.
True (but unless there are modifications, the users can get it from the sources also.
- BSD-licensed projects can be used/redistributed in MIT-licensed projects.
False MIT license allows for distribution without contribution credits; BSD doesn't.
- The MIT and the BSD 2-clause licenses are essentially identical.
False See above.
- BSD 3-clause = BSD 2-clause + the "no endorsement" clause
True.
- Issuing a dual license allows users to choose from those licenses—not be bound to both.
True.
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 copyright holders. 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 a 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 codebase 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 a commercial license or closed source, and it cannot be any other license which is less strict than GPL.
An example can take MIT, Apache or BSD license code, modified and distributed under GPL. Once a codebase is distributed as GPL, its further derived versions cannot be distributed under MIT, Apache or BSD license but must be GPL only.
Edit:
An 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. Whereas some other open source community creates 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 override the original rights of either generation and cannot in any way reduce the obligation of the applicable license.
EDIT 2
Adding an interesting read - GPL and MPL Licenses has a serious conflict. Read this.
My specific question is "how do you select which one you want to use." In my case, I want to only use the BSD license and I want to make it explicitly clear that I do not opt into the GPL v2 license in any way.
You just do. Unless you don't change the source-code there, you don't even need to touch the plate. It can be stayed as is, yes, even touching it for no reason might look more suspicious then just leaving it as-is.
The licenses are offered to you btw. Into which one you opt, you can say anytime, you can choose anytime which one. The one day you might like BSD and the other day you might even use GPL. Both is possible. You can even choose both, even if they both would be incompatible to each other. Only based on the fact the original author(s) did dual-license it.
How do you do that and have it hold up to legal challenge?
No-one can predict the future, but keep references of the websites of today, so that you can document that you've taken care and you can back-up your statement that the dual-license is disjunctive (OR) and not conjunctive (AND).
As long as it's clear that you were allowed to use the software under the terms of the BSD license (and you fulfilled the requirements) I see no reason why it shouldn't hold up a legal challenge, I can not even imagine of which kind such a legal challenge would be?
Best Answer
I'm not a lawyer, and this depends on which country you are in.
Having said that, I understand that saying you use a particular license and attaching a notice to that effect within the source code is sufficient. Adding license text to every file is probably over-cautious.
Remember: if there is no license, then someone isn't allowed to copy your code at all under copyright law (with certain fair use exceptions).
Ultimately it's up to the courts to decide. But I think that if you published your source code with the clear intent to offer it under a particular license, a court would agree that the license was intended to apply to the complete work.
If you are choosing an open source license, please stick with one of the major ones. This avoids confusion about unusual licenses and significantly increases opportunities for collaboration and code sharing. In particular, the OSI lists a number of "Licenses that are popular and widely used or with strong communities". I'd strongly recommend sticking to one of these!
The Free Software Federation / GNU project also has some useful pages about open source licensing, including the recommended copyleft licenses.