dbTalk Databases Forums  

Licensing question

comp.databases.berkeley-db comp.databases.berkeley-db


Discuss Licensing question in the comp.databases.berkeley-db forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
evolvah
 
Posts: n/a

Default Licensing question - 01-25-2007 , 02:00 PM






I have a few questions related to the licensing regulations on
BerkeleyDB.

How exactly does the Open Source License work for BerkeleyDB? Does it
imply that any application that uses (links with) it has to be under
GPL license? Or can it be under some other Open Source License like BSD
License for instance?

How to properly read the term "use" in this context? Is the direct
invocation of BDB API a "use"? I assume it is. But what about more
complex cases? Is the use determined by the fact of linking (statically
or dynamically) with libraries built from BDB source code? Or may be by
having some of BDB header files in the dependencies of the developed
source code even if they are not directly included in the application
source code?

Could somebody please clarify these questions?


Thanks!
/evolvah


Reply With Quote
  #2  
Old   
Florian Weimer
 
Posts: n/a

Default Re: Licensing question - 01-25-2007 , 02:34 PM






Quote:
How exactly does the Open Source License work for BerkeleyDB? Does it
imply that any application that uses (links with) it has to be under
GPL license? Or can it be under some other Open Source License like BSD
License for instance?
It doesn't have to be GPL, but at least the resulting executable has
to be treated as if it were covered by the GPL (that is, you must
distribute source code along with them).

Quote:
How to properly read the term "use" in this context? Is the direct
invocation of BDB API a "use"? I assume it is. But what about more
complex cases? Is the use determined by the fact of linking (statically
or dynamically) with libraries built from BDB source code?
I can't help you with these questions. Sleepycat's position was
somewhat inconsistent in the past. I'm pretty sure they assume that
dynamically linking against the library causes the resulting work to
be covered by the source code distribution requirement. But on the
other hand, Perl and Python scripts can use the library, independently
of the licensing terms:

Quote:
Do I have to pay for a Berkeley DB license5A to use it in my Perl or Python scripts?

No, you may use the Berkeley DB open source license at no cost. The
Berkeley DB open source license requires that software that uses
Berkeley DB be freely redistributable. In the case of Perl or Python,
that software is Perl or Python, and not your scripts. Any scripts you
write are your property, including scripts that make use of Berkeley
DB. None of the Perl, Python or Berkeley DB licenses place any
restrictions on what you may do with them.
<http://www.oracle.com/technology/software/products/berkeley-db/htdocs/licensing.html>

An interesting question is how Java fits into that interpretation.


Reply With Quote
  #3  
Old   
evolvah
 
Posts: n/a

Default Re: Licensing question - 01-25-2007 , 04:38 PM



Thanks for the response, Florian!

To bring things into a more or less concrete state, let's imagine that
I wrote an application which is a custom database server with
BerkeleyDB as a storage back-end. Please correct me if I'm wrong but my
understanding is that the source code of this server has to be made
Open Source to meet the requirements but it does not have to be GPL'ed
though. It can be distributed under BSD license, for instance.

But what about a remote application that connects to this custom DB
server and manipulates data? Does it have to be made Open Source as
well? My understanding is that if Oracle uses a standard GPL then by
the "viral" nature of it I would have to make my DB server GPL'ed as
well as the application itself has to be GPL'ed; otherwise, it will
turn into a maintenance nightmare to support a client and a server
which do not really share marshaling routines.


/evolvah

On Jan 25, 2:34 pm, Florian Weimer <f... (AT) deneb (DOT) enyo.de> wrote:
Quote:
How exactly does the Open Source License work for BerkeleyDB? Does it
imply that any application that uses (links with) it has to be under
GPL license? Or can it be under some other Open Source License like BSD
License for instance?It doesn't have to be GPL, but at least the resulting executable has
to be treated as if it were covered by the GPL (that is, you must
distribute source code along with them).

How to properly read the term "use" in this context? Is the direct
invocation of BDB API a "use"? I assume it is. But what about more
complex cases? Is the use determined by the fact of linking (statically
or dynamically) with libraries built from BDB source code?I can't help you with these questions. Sleepycat's position was
somewhat inconsistent in the past. I'm pretty sure they assume that
dynamically linking against the library causes the resulting work to
be covered by the source code distribution requirement. But on the
other hand, Perl and Python scripts can use the library, independently
of the licensing terms:

| Do I have to pay for a Berkeley DB license5A to use it in my Perl or Python scripts?
|
| No, you may use the Berkeley DB open source license at no cost. The
| Berkeley DB open source license requires that software that uses
| Berkeley DB be freely redistributable. In the case of Perl or Python,
| that software is Perl or Python, and not your scripts. Any scripts you
| write are your property, including scripts that make use of Berkeley
| DB. None of the Perl, Python or Berkeley DB licenses place any
| restrictions on what you may do with them.

http://www.oracle.com/technology/sof...eley-db/htdocs...

An interesting question is how Java fits into that interpretation.


Reply With Quote
  #4  
Old   
Florian Weimer
 
Posts: n/a

Default Re: Licensing question - 01-26-2007 , 08:58 AM



Quote:
But what about a remote application that connects to this custom DB
server and manipulates data? Does it have to be made Open Source as
well? My understanding is that if Oracle uses a standard GPL then by
the "viral" nature of it I would have to make my DB server GPL'ed as
well as the application itself has to be GPL'ed;
I do not consider network access to the functionality of a server
distribution of the server's object code. In other words, no
distribution in the GPL sense takes place, and its viral nature
doesn't come into effect. (I can't tell you if Oracle shares this
view.)


Reply With Quote
  #5  
Old   
evolvah
 
Posts: n/a

Default Re: Licensing question - 01-30-2007 , 11:13 AM



I agree. Besides, GPL is not even mentioned in the License Agreement
<http://www.oracle.com/technology/sof...ley-db/htdocs/
oslicense.html>.

I sent an inquiry to the official address in Oracle on January 25th
and still I have no official response...


/Sergey

On Jan 26, 8:58 am, Florian Weimer <f... (AT) deneb (DOT) enyo.de> wrote:
Quote:
But what about a remote application that connects to this custom DB
server and manipulates data? Does it have to be made Open Source as
well? My understanding is that if Oracle uses a standard GPL then by
the "viral" nature of it I would have to make my DB server GPL'ed as
well as the application itself has to be GPL'ed;I do not consider network access to the functionality of a server
distribution of the server's object code. In other words, no
distribution in the GPL sense takes place, and its viral nature
doesn't come into effect. (I can't tell you if Oracle shares this
view.)


Reply With Quote
  #6  
Old   
Florian Weimer
 
Posts: n/a

Default Re: Licensing question - 01-30-2007 , 12:31 PM



Quote:
I agree. Besides, GPL is not even mentioned in the License Agreement
http://www.oracle.com/technology/sof...ley-db/htdocs/
oslicense.html>.
Yes, but it uses the same copyleft trick as the GPL. The GPL is much
stronger because it's made much more explicit that you cannot impose
additional restrictions on the recipient. But the basic question,
whether access to a server running a piece of software implies
distribution, should have the same answer for both licenses.


Reply With Quote
  #7  
Old   
Gregory Burd
 
Posts: n/a

Default Re: Licensing question - 03-05-2007 , 11:01 AM



Evolvah,

I'm happy to answer your questions. Your basic understanding of
the license is correct, but there are some things I should clear up.
The "Sleepycat Public License" works much like the GNU GPL, but in
some ways is less restrictive. Essentially, in order to use Berkeley
DB Products under the Sleepycat license you must open source the
application that uses DB and make it available to others. The
definition of 'use' we use is the same as for the GNU GPL v2. So,
your product may be GPL, or ASL, or any other OSI approved open source
license. Under those conditions your use is covered by the Sleepycat
license. If your use falls outside of that, you need to speak to
Oracle about acquiring a commercial license.

Linking against the library (or including the JAR in the case of
Berkeley DB Java Edition) and invoking the APIs is clearly 'use'.
Static and dynamic linking are not differentiated. That means that if
you ship an application that doesn't include the DB library in your
packaging but then links dynamically against DB later on a customer
machine and your code invokes the DB APIs it is still 'use'.
Including a header file could mean that you're calling the API or it
could be a coding mistake. If you 'use' the APIs we provide then
you must comply with the terms of the Sleepycat license. By the way,
that license is unchanged despite the acquisition and we plan on
keeping it that way.

regards, sorry for the delayed response,

-greg

__________________________________________________ ___________________

Gregory Burd greg.burd (AT) oracle (DOT) com
Product Manager, Berkeley DB/JE/XML Oracle Corporation


Reply With Quote
  #8  
Old   
Gregory Burd
 
Posts: n/a

Default Re: Licensing question - 03-05-2007 , 11:03 AM



Florian,

I'm sorry if you feel we've been inconsistent, let me know when
that happens and I'll try to help clear things up. You are right
about 'scripting languages'. Java is considered *not* to be a
scripting language.

-greg

__________________________________________________ ___________________

Gregory Burd greg.burd (AT) oracle (DOT) com
Product Manager, Berkeley DB/JE/XML Oracle Corporation


Reply With Quote
  #9  
Old   
Gregory Burd
 
Posts: n/a

Default Re: Licensing question - 03-05-2007 , 11:08 AM



Florian,

You are correct, according to most common interpretations of the
GNU GPL v2 invocation over a network (as in a web service) is not
considered 'use'. Interestingly the GPL v3 may change that. But that
is still up in the air. Remember that Berkeley DB products are not
under the GPL but the Sleepycat license. It is unclear how or if our
interpretation of use over a network will change if the GPL v3 changes
that aspect of the definition of 'use'. Historically we've tracked
the GPL's definitions, but take that with a grain of salt.

-greg

__________________________________________________ ___________________

Gregory Burd greg.burd (AT) oracle (DOT) com
Product Manager, Berkeley DB/JE/XML Oracle Corporation


Reply With Quote
  #10  
Old   
Gregory Burd
 
Posts: n/a

Default Re: Licensing question - 03-05-2007 , 11:11 AM



Sergey,

I normally get such questions when they are sent to 'berkeleydb-
info_us (AT) oracle (DOT) com', is that the address you used? I apologize for
the delay. We're happy to answer questions. We're easier to find on
the OTN forums (http://forums.oracle.com/forums/category.jspa?
categoryID=18).

-greg

__________________________________________________ ___________________

Gregory Burd greg.burd (AT) oracle (DOT) com
Product Manager, Berkeley DB/JE/XML Oracle Corporation


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.