A couple of years ago, ZDNet ran an article [1] interviewing Greg Stein on the Google Code project, discussing several software licenses and why Google Code only accepts a few of them. That article's been one of my biggest influences when it comes to "understanding" a few of the more common licenses around.
With relevance to the question I'm about to ask, here's the money quote:
That is one of the reasons that Google chooses the Apache License (2.0) as the default for the software it open-sources. It is permissive like BSD, but (unlike BSD) actually happens to mention the rights under copyright law and gives you a license under those rights. In other words, it actually knows what it is doing unlike some of the other permissive licenses.
Do you agree? Due to this article I've used and recommended the Apache License over the BSD and MIT licenses without question; but it's not like this article is necessarily the final word on this matter. Is there anything better (in the same vein) as the Apache License?
I like what you're saying, Adam, which is why I accepted your answer. However, it doesn't strike me as particularly useful, in general, to keep promoting both Apache and BSD (I guess we are just assuming MIT is no good in this company?) since they're essentially identical with that minor difference you mention that everyone basically does anyway.
Regarding 4 pages vs. 1 page: well, I guess I'd prefer the one that covers my ass better! :)
The Apache license has some extra benefits over the BSD or MIT X11 license-style licenses.
The Apache 2.0 licenses contain a patent grant, which means that at least the authors of the code are giving you any rights that you need for the authors' patents that happen to be in the code that you are using.
You need to keep in mind that the speaker, Greg Stein, is Apache Foundation Chairman in addition to being the Google Lead Open Source Engineer.
The BSD license is very, very, very simple, and was largely created in a time when software copyright was not a big issue, and so the legal language is not as finely crafted as it might otherwise be.
But it's easily readable English, and should still stand up in court just as well as any other license.
However:
The Apache license, as Greg correctly points out, is a "modern" EULA agreement with every single right specified and explicitly given, restricted, etc. Of course Google is going to prefer it - Google's lawyers won't authorize the BSD's simple language which could be open for even the tiniest bit of speculation.
However, it's very instructive to note that Google recognizes the licenses are either different enough, or that BSD is popular enough, to warrant including both of them instead of defining one as redundant.
As to whether you, or anyone else, should license code under a given license - that is completely up to the copyright holder (you, if you wrote it entirely).
I use BSD because every coder I know immediately understands what BSD is and means, whereas Apache is not as well known, and no one wants to read 4 pages of single spaced, 12pt type text (well, except lawyers - they charge by the hour...;-)
But if you carefully read the redistribution section, you'll find that the Apache license is slightly more restrictive - you are required to do slightly more work than the BSD license when you modify the source, for instance, and redistribute it. It's nominal - every programmer should be doing these things, but I think it leaves room for legal battles that ought not be part of a truly free license.
According to the Wikipedia article "Apache License", "The Free Software Foundation considers all versions of the Apache License (as of 2007) to be incompatible with the previous GPL versions 1 and 2." [See references 1-2 below]
[1] GPLv3 Final Draft Rationale". Free Software Foundation. May 31, 2007. (gplv3.fsf.org/rationale). Retrieved June 14, 2007.
[2] Free Software Foundation (January 14, 2008). "Licenses". (www.fsf.org/licensing/licenses). Retrieved January 30, 2008.
If the Apache2 is not GPL-compatible, I think that this is a relatively strong point for MIT or BSD licenses because they are GPL-compatible; this is crucial in any project that utilizes GPL-licensed code.