
A Change in License for Berkeley DB - kstaken
http://meshedinsights.com/2013/07/05/a-change-in-license-for-berkeley-db/
======
anon1385
Personally I think this is great news. Great news for free software, great
news for users, great news for the AGPL. So very few web apps are open source,
despite so many of the people who develop them claiming to support free/open
source software. It seems that the only way to make the web open source is to
force the hand of the developers, and that means we need to start pushing
copyleft licences like the AGPL. The GPL was created for a different age. So
much of the software people use now runs on a different machine; we can't
continue to ignore this loophole.

BDB has had a commercial licence available for a long time, this move just
closes a loophole that people were exploiting to use BDB in non-free software
without contributing back.

Additionally, to the people saying 'oracle are only doing this to make money',
this is one of the ways you are supposed to make money/fund the development of
free software. RMS talks about it here: [http://www.fsf.org/blogs/rms/selling-
exceptions](http://www.fsf.org/blogs/rms/selling-exceptions)

 _I consider selling exceptions an acceptable thing for a company to do, and I
will suggest it where appropriate as a way to get programs freed._ \-- RMS

~~~
pron
I, too, like GPL and free software, but I'd like to stress that this change
hardly closes any loopholes. The previous BDB license was simply too vague and
open to competing interpretations. The AGPL does _not_ require web software
_using_ BDB to distribute its source code, only software actually _modifying_
BDB.

The gist of AGPL is this:

* If you _redistribute_ BDB with your software, then you must provide your software's source code (even if you haven't modified BDB).

* If you _use_ BDB on your web server, then you must provide the source for your software only if BDB is _modified_.

Since hardly anyone modifies BDB (I would assume), this affects almost no one.
It simply makes the license clear.

~~~
jbellis
Partly true. The FSF interprets "X linking Y" as "X modifying Y and therefore
subject to Y's license," which is why Microsoft got to make so much hay out of
the GPL's "virality."

------
DoubleMalt
While I don't have made up my mind completely about AGPL but lean to liking
it, changing to it for an infrastructure library, is really a backstabbing
move.

Nice to see a company so consistently living up to its reputation.

And one simply must appreciate the elegant irony of using a strong copyleft
license as a dagger.

~~~
davidw
> And one simply must appreciate the elegant irony of using a strong copyleft
> license as a dagger.

That's always been one of the ways to make money from free software. Mysql did
the same thing, and I think Qt did as well at some point in its history. If I
recall correctly, even RMS sort of approves of it.

Downvoters: go read some history, there's nothing factually incorrect in what
I wrote above. The bozo proliferation seems to continue unabated here:-(

Here's RMS himself: [http://www.fsf.org/blogs/rms/selling-
exceptions](http://www.fsf.org/blogs/rms/selling-exceptions)

~~~
DoubleMalt
The difference being that these projects had the restrictive licenses from
early on. They did not change from permissive (and in the context of web
service infrastructure GPL is actually a permissive license) to something more
restrictive.

On the contrary Qt changed the license from GPL to LGPL what definitely helped
the proliferation (and the survival after the Nokia disaster).

MySQL ... well moving this to AGPL would give MariaDB the final push it needs
(if it still needs one). So they just let it rot.

Too bad there was no equivalent project for BerkeleyDB.

~~~
jcrites
Regarding a Berkeley DB equivalent, how about Tupl?

[https://github.com/cojen/Tupl](https://github.com/cojen/Tupl)

> Tupl is a high-performance, concurrent, transactional, scalable, low-level
> database. Intended to replace BerkeleyDB, Tupl supports true record-level
> locking. Unlike BerkeleyDB-JE, Tupl doesn't suffer from garbage collection
> pauses with very large databases. Tupl also includes support for cursors,
> upgradable locks, deadlock detection, hot backups, striped files,
> encryption, nested transaction scopes, and direct lock control.

~~~
evgen
In Java. For a low-level in-process library that most people link in to their
actual app Java is completely unsuitable. Not quite sure how this replaces
most of the BDB use-cases, but if you are going to run in another process then
there are a whole host of options to consider. Tupl looks pretty interesting
and it would be fun to have a reason to play with it, but this does not handle
any of the cases where I turn to BDB.

------
beedogs
What an absolutely horrible company Oracle is. They are without a doubt the
biggest enemy to free and open source software, and I'll be glad when they're
gone.

~~~
reeses
I agree with much of this, but mainly on their sales and marketing tactics.

However, what does your rationale for finding them reprehensible have to do
with the article? The Affero GPL/GPLv3 is arguably the most open source
license available.

~~~
makomk
The Affero GPL has a clause requiring the operators of network servers that
use AGPL code to provide full source of the network server. Berkley DB is used
in, amongst other places, Subversion - so when they next do a distro upgrade
in a few months, a whole bunch of developers are going to find they're no
longer license compliant and have no easy way of becoming license compliant.

~~~
tome
Subversion is Apache licensed, so I fail to see how this would be a problem.

~~~
Sanddancer
Subversion uses bdb as its backend.

~~~
tome
And the Apache licensed Subversion is still compatible with AGPL licensed BDB.
What am I missing here?

~~~
tome
Apparently the Apache License is not compatible with AGPLv3. I confess I do
not understand why.

[http://lists.debian.org/debian-
devel/2013/07/msg00041.html](http://lists.debian.org/debian-
devel/2013/07/msg00041.html)

------
DrJokepu
I don't understand the sentiments in this thread. They own the thing. They do
whatever they want with it. They have paid good money for it. Yet they have
chosen to give it away as free software (with a license even Richard Stallman
and the other FSF folks would approve). What is this sense of entitlement here
on HN?

~~~
valisystem
It is not the change of license in itself that makes people think it is a
questionable move, it is the strategic nature of this decision.

When building a solution/product, you have to choose the components you use,
and invest in it, in time and sometimes money, and its technical and legal
specificities can have strong implications on your solution.

License change is a hazard than can happen, and it is also one the harder to
foresee, and when it happens to a product to you depend on it can have a big
impact.

And it is Berkeley DB, same house as BSD known for the ultra permissive
license. I wouldn't have anticipated that, and I guess with many others.

Given the fact that you may not be able to move to another product, and that
your business may depend on the license permissiveness, it can be assimilated
with totally legal, but nonetheless, extortion.

~~~
jasonlotito
I wish people acted like this when Sparrow essentially stopped being
developed. But the collective came back with: "You got what you paid for" and
"You can still use it" and "You shouldn't have expected free updates for
life."

And when free services shut down, or start charging, they say "If you aren't
paying for it, you are the product" or "You can't complain if you didn't pay
for it."

So now the same thing happens for the BDB, and people are upset. But it's the
_same_ exact thing. Well, except the BDB's older versions are still available
with full source available, and there has always been a paid license
available. And the AGPL only applies if you are modifying the BDB source.

It's the two-faced nature of this current culture of developers. We'll consume
open source products. Hell, we'll contribute back open source tools. Hell,
we'll ship it under BSD because we are want to be permissive and "really
free." But we won't do it with our real products.

> Given the fact that you may not be able to move to another product, and that
> your business may depend on the license permissiveness

As has been said time and time again: there is nothing forcing you to upgrade.
Nothing forcing you to change. You are free to continue using exactly what
have depended on.

------
__alexs
Those people who think this is some sort of enormously evil event that will
kill BerkeleyDB because the AGPL is the evilest most restrictive free software
license ever should probably read Section 13 here
[http://www.gnu.org/licenses/agpl.html](http://www.gnu.org/licenses/agpl.html)

This pretty much only affects you if you are running some weird internal
forked version that has upstream merged into it regularly. I don't get the
impression that this is a common situation for BDB users.

(Although since Oracle did it it's probably inherently evil anyway of course.)

~~~
pron
You are absolutely right about the license, but I think you're confusing
Oracle with Google. Oracle aren't evil, they just want your money. It's Google
that wants to know everything about your life so that it can give you an IV
line of ads. Google - evil, Oracle - just greedy :)

------
chenster
Wow, Oracle has did again. Oracle has proven again it is now the single most
evil software company out there, surpassing Microsoft. What they are doing is
to incrementally convert open source free software into their proprietary cash
cow.

~~~
dvirsky
how does this affect Python users? Berkeley is part of the default standard
library and is installed by all Python users everywhere.

~~~
stock_toaster
Wasn't it removed in python3, and deprecated since 2.6?

~~~
dvirsky
still included with the batteries in 2.7, which comes with most distros.

------
DigitalSea
Oracle angering people with questionable money-driven greedy decisions? Yep,
sure sounds like the Oracle we've come to know over the years. While the
licence in itself isn't bad, making such a big change like that and
essentially forcing people to buy licences is a dog move.

------
smnrchrds
In Python 2.x there was a module for Berkley DB which is removed in Python 3
(bsddb module). I'm curious that since Berkley DB has always had a strong
copyright license and it was not PSFL, how things worked legally. There is no
mention in the docs[1] that if you use an _import bsddb_ in your code you have
to make it open-source. When they decided to remove it there was no mention of
the license, just difficulty of maintenance[2].

So, was it possible to use Berkley DB without releasing your code as open-
source before this change or was it because no one thought it was necessary to
mention it in the docs?

[1]
[http://docs.python.org/2/library/bsddb.html](http://docs.python.org/2/library/bsddb.html)
[2] [http://jessenoller.com/2008/09/04/stirred-up-dem-bees-
should...](http://jessenoller.com/2008/09/04/stirred-up-dem-bees-should-bsddb-
be-removed-from-python/)

~~~
toyg
I thought bsddb was not actually shipped with CPython, and had to be manually
built (which was a pain and would invariably fail, IIRC). I guess people were
supposed to check source docs.

~~~
smnrchrds
No, not really. This is what happens in my normal Python installation in
Windows:

    
    
        Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win 32
        Type "help", "copyright", "credits" or "license" for more information.
        >>> from bsddb import db
        >>> print db.DB_VERSION_STRING
        Berkeley DB 4.7.25: (May 15, 2008)
        >>>
    

And this[1] works completely. Just replace _bsddb3_ with _bsddb_.

[1] [http://code.activestate.com/recipes/189060-using-berkeley-
db...](http://code.activestate.com/recipes/189060-using-berkeley-db-database/)

------
znowi
Oracle is the Wall Street of IT industry. Toxic business practices and
disregard to customer interest. Profit is the only imperative.

------
ExpiredLink
Why do people complain when Oracle changes the license to a Free license? Just
kidding. Denounce Oracle but also denounce the "Free" software zealots who
invented unfair licenses like AGPL.

~~~
ExpiredLink
To be more precise: AGPL was invented by commercial software vendors to
combine the aura of free and open software with a (largely unsuccessful)
Shareware/Freemium business model.

------
apendleton
Fortunately for those not keen on the new licensing scheme, it seems like
there are some other solid options on the market now for on-disk embedded key-
value storage, under a variety of licenses: LevelDB, Kyoto Cabinet, and the
new LSM library from sqlite4.

------
digismack
If you change a software license, are users of that software bound to the new
terms if they don't "update" to the version of the software released with the
updated terms?

~~~
schrijver
No, you can’t apply licenses retroactively—if you have a version with the old
license it is still under that license.

~~~
vorg
But you can stop supporting the older versions, say, by only applying fixed
bugs to the newer versions.

------
qwerta
My startup works on free alternative (apache licensed) db engine. When I saw
title I was really woried they would change license to more liberal. That
would affect our future sales seriously. But this is great new for us! :-)

~~~
seunosewa
Why are you worried about the "future sales" of your free bob alternative?

~~~
qwerta
We sell non-free tools and services.

------
halayli
I feel this post has shown that many don't understand what AGPL is or just
assumed that because the article is about Oracle and licensing then it got to
be evil, let's bash Oracle!

