Generally, commercial entities are fairly comfortable using open source software in the products they distribute if the license is a the BSD license. Entities other than UC Berkeley often deploy the BSD license in their own name, so it is common to hear people refer to a BSD-style license, or a license that is BSD-esque when referencing the BSD license in another entity’s name.
Oracle Berkeley DB is one of the few open source software products that Oracle sells. It is dually licensed under a commercial license and an open source license. You can use the open source version for free or you can pay to use the commercial version.
A quick glance at the Oracle Berkeley DB open source license looks like a collection of BSD licenses, first from Berkeley, then from Harvard, and then from Oracle.
Visually, it would easily fall into the category of “BSD-style” or “BSD-esque.”
The standard BSD license has a copyright statement, 3 numbered paragraphs, and a big disclaimer of warranties and limitation of liability in all caps at the bottom. At a glance, it’s fairly easy to recognize (partially because it is so short and sweet compared to many open source licenses).
From 2000-2006, the top license in the Berkeley DB license was in the name of Sleepycat, and when Oracle acquired Sleepycat, they modified the copyright statement in the top license to refer to Oracle.
On closer look, the former Sleepycat and current Oracle license is most definitely *not* identical to the standard BSD license. In fact, it is very, very different.
The third paragraph in the standard BSD license states:
- Neither the name of the [COPYRIGHT HOLDER] nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
But, the third paragraph in the Sleepycat/Oracle Berkeley DB license is quite different:
- Redistributions in any form must be accompanied by information on how to obtain complete source code for the DB software and any accompanying software that uses the DB software. The source code must either be included in the distribution or be available for no more than the cost of distribution plus a nominal fee, and must be freely redistributable under reasonable conditions. For an executable file, complete source code means the source code for all modules it contains. It does not include source code for modules or files that typically accompany the major components of the operating system on which the executable file runs.
Both of these requirements are completely legitimate license conditions.
However, the traditional BSD license is a license that is notable for its lack of copyleft obligations — in other words, you can use software that comes to you via the BSD license without too much concern about it affecting the commercial license terms that you may put on your software that incorporates it.
On, the other hand, the Sleepycat/Oracle Berkeley DB license is an extremely strong copyleft license and requires that you distribute the source code to every piece of code you distribute that utilizes the Berkeley DB.
So, word to the wise, engineering managers and software legal departments: just because it’s a BSD-style license in the visual form, does *NOT* mean it’s BSD-style with respect to software freedom and copyleft.
As much as it’s annoying, someone with a licensing background needs to review and approve every third party in-license if the technology or software is going to be incorporated into a proprietary product or code.