|
|
is db4o completly free ?
Last post 02-12-2006, 11:54 PM by DarKlajid. 23 replies.
-
10-24-2005, 12:03 PM |
-
flyingman
-
-
-
-
Joined on 10-24-2005
-
-
Posts 3
-
-
-
|
Hi i am planing to develope a software with a free Object Orinted database.
is db4o completly free ?
Thank.
|
|
-
10-24-2005, 04:30 PM |
|
|
Re: is db4o completly free ?
flyingman wrote: | |
It's as free as your software is. :)
Please check:
http://db4o.com/about/company/legalpolicies/gplinterpretation.aspx
Best regards,
Patrick
|
|
-
10-27-2005, 11:26 PM |
-
yellow_emperor
-
-
-
-
Joined on 10-28-2005
-
-
Posts 4
-
-
-
|
Re: is db4o completly free ?
Patrick's reply is not the whole story. The GPL interpretation
preferred by the db4o developers is, in certain regards, contrary to
the canonical interpretation published by the Free Software Foundation.
Citing the four elements from the URL listed in Patrick's post (that force 'your software' to inherit the GPL):
- You compile your software against the db4o software;
- Your software contains specific references to the db4o software;
- Your software requires the db4o software to work; or
- Your software uses the proprietary API to the db4o software.
The
first point is generally agreed upon by the open source community and
by the FSF in particular. Statically linked library compilation
causes portions of the library code to be written into the final
executable binary file produced by compilation. Thus, it is
argued, that the resulting binary is inseparable from the library code,
making it a derivative work. In the interpretation of the FSF,
dynamically linked library compilation has been included in this
conception for various reasons. (It is easy to argue the contrary
for DLLs, and, by certain extension, for SLLs, but the FSF's
interpretation is likely to be the one accepted by an official arbiter
such as a judge in civil court.)
However, any separation of function that extends beyond code-linking
does not force inheritance of the GPL. Let me point to an example
given by the FSF in association with the GPL to make this clear: the
Linux kernel is licenced under the GPL, but neither a command-shell nor
a text-file editor written for Linux must necessarily inherit the
GPL. Any shell must be capable of executing commands and
exploring the file-system. To do this, it must execute
system-calls. System-calls are a kernel's API for performing
tasks of all kinds. In the Linux world, extensions to the POSIX
API exist that could arguably make the Linux API proprietary.
(See the fourth point cited above.)
Because of this system-call dependence on the Linux API, any Linux
shell is so dependent on Linus's kernel that it could not run on any
other POSIX compliant kernel without a new compile from source, and in
some cases, source modification. With general agreement, any
particular binary distribution of the shell would require the kernel it
was compiled for in order to work. (See the third point cited
above.) Much of the same applies for a text-editor. Beyond
the system-call level, the text editor may even use facilities provided
by its calling shell, including invoking other commands using a POSIX
(Bourne shell, 'sh') compliant or more proprietary (take 'bash'
extensions to 'sh' for example) shell language. In the case of
the shell or the editor, invocation of GPLed components via proprietary
command-line or system-call interfaces counts (in any meaningful sense)
as a specific reference to that GPLed software. (See the second
point cited above.)
Keep in mind that open source, and specifically GPLed software of all
kinds can be interfaced with using the network layer or the
command-line, and the code that does this is NOT considered a
derivative work by the FSF, or anyone who credibly interprets the
GPL. Consider MySQL AB. They publish their RDBMS under the
GPL, but their connectors (interface DLLs) under the LGPL. The
connectors are not required to inherit the GPL. The LGPL is a
little more relaxed, allowing you to link covered code into your own.
By a strictly literal interpretation of the GPL, a product like db4o
may be used without particular concern, providing that you have not
edited db4o code into your code, and you have not modified db4o
code. (A scenario where your software could be installed, and a
stock db4o package could be installed, and neither product needs to
make changes to the layout or content of the other to function.)
Because of this reality, an individual or organization considering the
release software under the GPL should consider it roughly equivalent to
giving the software away.
Be warned though. The writers and maintainers of the GPL (the
FSF) have a different opinion. They draw the line past SLLs and
through DLLs. The FSF is likely to define reality in a legal
setting. But there is still ground to stand on. Because
using db4o is tentatively in the SLL/DLL camp, you could produce a
GPLed component that exposes db4o functionality in some other way
(e.g.: command-line, or more likely: TCP/IP for localhost or remote
use, or even a web service or other SOA exposing service). Then
anyone could use that GPLed component as an interface to db4o from
their own software (proprietary, for sale, BSD, Apache2, GPL, LPGL,
whatever).
At very least, the second, third and fourth statements cited above are
not consistent with the GPL or valid interpretations of it. An
individual or organization desiring those caveats should not release
the software under the GPL. Instead, a new license should be
written or a new licensing scheme should be devised.
|
|
-
10-28-2005, 01:47 AM |
-
Christof
-
-
-
-
Joined on 10-20-2005
-
San Mateo, CA
-
Posts 1,359
-
-
-
|
Re: is db4o completly free ?
Yellow_emperor,
thanks for your extensive discussion of the GPL.
What is important to know is that db4o's GPL version is free of charge, but not free of obligations: If you use GPL software, you have to give back under the GPL.
Now, as you point out, there is a range of interpretations of the triggers for inheritance of the GPL. To be able to give our users a clear guideline we have asked one of the word's most knowledgeable law firms, Fenwick & West, that has done plenty of GPL litigations, to provide this statement. I am pretty confident that these guidelines are not contradicting the GPL.
Let's take a step back: The GPL version of db4o is for those developers that are members of the open source community. Open source is about sharing - give and take.
What you are really discussing are hybrids of open source and closed source software and how to walk the fine line to circumvent the very spirit of the GPL. I think, if you decide not to open source your software, usually for commercial reasons, then you should really not free-ride on open source offers. For this case, we offer an alternate, very affordable commercial license. It runs at cost which are much lower than any incumbent, closed-source software alternative. These small license fees enable the team to provide a great product, great support and an ecosystem around the db4o platform.
If you still take the risk and use open source software without giving back, you should not be surprised if both, the open source community as well as the db4objects' team, will not be happy about it.
Does that make sense?
Christof
Christof Wittig » db4objects
|
|
-
10-28-2005, 09:13 AM |
-
yellow_emperor
-
-
-
-
Joined on 10-28-2005
-
-
Posts 4
-
-
-
|
Re: is db4o completly free ?
What is most desirable for db4o and their licensees is the existence of
harmony between the db4o business model and the db4o software
license. I suggest that this may not be the case. One
evaluation of db4o's desire (based on claims made on their web-site)
is, in simple terms, that everyone except commercial users should have
access to their software under the GPL (and that commercial users
should have to pay).
One obvious way to realize harmony in a case like this one is to
subordinate the GPL to a larger licensing scheme. An approach
could be formulated that would say explicitly that non-commercial use
of the software is subject to the GPL, but commercial use (which would
require some work to formalize) is subject to separate license terms.
Any potential sticking points for this model in the GPL or in the FSF
interpretation could be circumvented by referencing the GPL as a
licensing model, but making explicit the fact that a different license,
including certain caveats, applies. It should be noted that
stating an interpretation of a software license is not the same as
explicitly defining a license that would apply as those interpretations
suggest.
|
|
-
10-30-2005, 02:08 PM |
-
erdsah88
-
-
-
-
Joined on 10-30-2005
-
-
Posts 59
-
-
-
|
Re: is db4o completly free ?
I am confused.....
if the company is going to use the db4o only in one server ?What does it pay?
if there a place that we can look for licencing....
(sorry it took me 6 months to understand SQL and oracle licencing please help)
|
|
-
10-30-2005, 05:17 PM |
-
11-03-2005, 11:39 PM |
-
mkarnati
-
-
-
-
Joined on 11-04-2005
-
-
Posts 3
-
-
-
|
Please comment on this plain English version in Plain English...
Please say YES or NO.
I have a website and I make my living out of it by selling ads and goods and services from that site. I am planning to use db40 as a backend datastore for that. I have developed a java/dotnet based web application and I am using db4o for my datastore. I am under the impression that I don't need to buy any commercial license for this purpose eventhough I am making money out of my website. And also, if somebody asks me to share my application code with the public, since I am using GPL license, I am not legally obliged to share my application code.
|
|
-
11-04-2005, 12:00 AM |
-
mkarnati
-
-
-
-
Joined on 11-04-2005
-
-
Posts 3
-
-
-
|
Re: Please comment on this plain English version in Plain English...
Sorry I hit the post button before I complete my second scenario:
Scenario 2:
I have developed a Java/C# application and used db4o as a datastore. I want to sell my application and make money. But, here, I have not changed any code of db4o. I am simply using its .jar file. That's it. And, what ever I am charging my user, I am charging for my labor on my application code and I am not giving him the source code of my application. In this senario, I need to go for a commercial license of db4o eventhough I am not changing any code. Because I am distributing db4o along with my application to the user, and my application is dependent on db4o as a datastore.
Scenario 3:
I have developed the above application (mentioned in scene 2) and just sold it to my users without distributing db4o database with it. But, I will advise them to download the GPL version of db4o and use it with my application. Since I am not distributing db4o along with my application, I don't need to buy any commercial license for it. And also I don't need to share the source code of my application with the public since I consider it as proprietary and my own and I am charging only for what I have developed.
|
|
-
11-04-2005, 12:15 AM |
-
Christof
-
-
-
-
Joined on 10-20-2005
-
San Mateo, CA
-
Posts 1,359
-
-
-
|
Re: Please comment on this plain English version in Plain English...
mkarnati wrote: | |
I always like to say "YES", but...: What is the question? ![Wink [;-)]](/emoticons/emotion-5.gif)
mkarnati wrote: | | Scenario 1:
I have a website and I make my living out of it by selling ads and goods and services from that site. I am planning to use db40 as a backend datastore for that. I have developed a java/dotnet based web application and I am using db4o for my datastore. I am under the impression that I don't need to buy any commercial license for this purpose eventhough I am making money out of my website. And also, if somebody asks me to share my application code with the public, since I am using GPL license, I am not legally obliged to share my application code. |
|
I am not a lawyer. If you want peace-of-mind, you need to go and get legal advise or become a (commercial) dDN member - the latter is cheaper and also helps us to continue to invest into the product and to make our living.
In general, though, the classical question is two-part and goes like this:
a) Am I obliged to buy a commercial license of db4o for this use case?
Answer: No.
You can (always) use GPL licensed db4o.
b) When I use the GPL version, am I obliged to share my application code ("derivative work") with the community?
Answer: No.
Unless you re-distribute your application code - in this case you need to open source it under the GPL and notify all users about it and link to where the source code is available. Redistribution could include shipping your application to a provider, a subcontractor or to any other third party... there's a wide array of legal interpretations.
Also keep in mind that the GPL 3 is on its way which will address a couple of issues, specifically with respect to using GPL'd software in Web services.
| Scenario 2:
I have developed a Java/C# application and used db4o as a datastore. I want to sell my application and make money. But, here, I have not changed any code of db4o. I am simply using its .jar file. That's it. And, what ever I am charging my user, I am charging for my labor on my application code and I am not giving him the source code of my application. In this senario, I need to go for a commercial license of db4o eventhough I am not changing any code. Because I am distributing db4o along with my application to the user, and my application is dependent on db4o as a datastore. |
|
Again: You can use the GPL version for free, but you must open source your application under the GPL. If you don't you will be in breach of the GPL license terms.
Or: You buy a commerical license which gives you the right to redistribute db4o and derivative work close-source.
The trigger is the redistribution, not whether you have modified the db4o source code (that is something that applies to the LGPL, but not the GPL)
| Scenario 3:
I have developed the above application (mentioned in scene 2) and just sold it to my users without distributing db4o database with it. But, I will advise them to download the GPL version of db4o and use it with my application. Since I am not distributing db4o along with my application, I don't need to buy any commercial license for it. And also I don't need to share the source code of my application with the public since I consider it as proprietary and my own and I am charging only for what I have developed. |
|
This scenario is the same as 2.
You hit all 4 triggers we specifically spelled out for the GPL applicability (db4o specific interpretation of the GPL):
- You compile your software against the db4o software;
- Your software contains specific references to the db4o software;
- Your software requires the db4o software to work; or
- Your software uses the proprietary API to the db4o software.
What you really do with this setup is to circumvent the spirit of the GPL, which is: If you use open source GPL components, you have to be GPL yourself. Take and give. Give and take.
What's so bad with sharing a small fraction of your revenue with someone who provides a major component and saves you tons of time? Also, your small contribution puts us in a situation to provide support, continue the product development and also take into account specific features that you need (as opposed to other dDN members).
Christof
Christof Wittig » db4objects
|
|
-
11-04-2005, 01:23 AM |
-
yellow_emperor
-
-
-
-
Joined on 10-28-2005
-
-
Posts 4
-
-
-
|
Re: Please comment on this plain English version in Plain English...
According to accepted interpretations of the GPL, if you separate your
code from GPLed code in a way that does not involve compile-time
dependence on GPLed components, you are not required to apply the GPL
to your code. By this interpretation, any component that
interfaces directly with db4o must inherit the GPL if it is
distributed. ('Distributed', in this context, means made
available for license outside of the organization that produced the
code in question.) This is because such code must include the
db4o interface classes (to interface with the engine or with the client
access connector, both available under the GPL).
It is conceivable that some projects might achieve a level of
separation from db4o that would not require them to inherit the
GPL. For example, a team could study the db4o client-server
protocol, and produce a complete implementation of a db4o client that
could replace the db4o client, or exist as a component of a larger
project. As long as the client code does not contain db4o source,
it is not required to inherit the GPL.
Another team might decide to include db4o inside a web-service or
eventing framework. An interface to an object-persistence layer
could be conceived, designed, implemented (as Java classes for example)
and published to the public domain. A module that adapts the db4o
interface to the framework interface would be required to inherit the
GPL if distributed. But other modules that worked within the
framework would not be required to inherit the GPL, even if they had to
compile against the (public domain) interface.
The 'distribution' qualification introduces other possibilities for
individuals or organizations desiring to use GPLed code as components
of their own software without inheriting the GPL. In some cases,
clients pay firms for access to their software resources. In
cases like these, software does not count as being distributed.
Also, one firm could rent usage of computer hardware from another, and
run software on that hardware without it qualifying as redistributed.
Worse, if a company can tolerate selling licenses to use their source
code (and not compiled binary forms), then code that would include
GPLed code during a potential compile process is not necessarily
required to inherit the GPL. A client could then build the code
against the GPLed code (using prepacked 'make' procedures), and could
use the resulting product in-house. (The client in this model is
not able to distribute the result unless the purchased source code
license allowed them to re-release the purchased code as GPL.)
These caveats get even worse when you consider scripting
languages. In cases like these, a make procedure is often not
required (because the source code is the operational form of the
program).
|
|
-
11-04-2005, 02:37 AM |
-
Christof
-
-
-
-
Joined on 10-20-2005
-
San Mateo, CA
-
Posts 1,359
-
-
-
|
db4o has a concise, unambiguous and fair licensing policy
Yellow_emperor, I appreciate you sharing this.
Just take a step back, though: You explain with a lot of diligence how commercial, closed source companies try to circumvent the intention and spirit of the GPL and use free, GPL software components without neither giving back to the community nor pay for it.
I agree with you that there are many interpretations of the GPL out there. The entire thread here and the calls for "plain English" reflect that very well. Because this is not very user friendly, db4objects has introduced the GPL interpretation policy which eliminates all this disturbing and economically risky ambiguity. This concise framework is still within the boundaries of the GPL, but without the ambiguity of its interpretations.
I respect that someone might not like the outcome (i.e., that there are less free-riders on this ambiguity), but I think we all agree that we're better off having a clear policy in place rather than ambiguity which will then just end up wasting our time discussing over licensing issues and/or even paying lawyers for it.
We at db4objects prefer to invest in good software and service rather than lawyers. So everything is very simple: If you are open source, we are open source and share all we have freely with each other. If you are closed source (i.e., commercial) we ask you for a small contribution once and not until you ship (distribute) your software, i.e., when you collect money from your own customers and when you are in a position to pay your suppliers.
As a result, db4o's dual license policy is IMO:
- concise and unambiguous and
- fair
because
- the product is very affordable (much lower unit prices) and cash saving to those that make money using db4o (... and we can only afford this because we have much lower cost than conventional vendors by leveraging db4o's open source status)
- the product is free for those that can't afford paying for software (like students, faculty, researchers, evaluators, community projects etc.) but who can retribute their own work instead because they don't need to protect commercial, proprietary IP
If someone cannot agree to this, he/she is better off to look for alternatives to db4o.
Christof
Christof Wittig » db4objects
|
|
-
11-04-2005, 06:30 PM |
-
mkarnati
-
-
-
-
Joined on 11-04-2005
-
-
Posts 3
-
-
-
|
Re: Please comment on this plain English version in Plain English...
Thanks Christof for your quick response. I totally agree with you. In fact these questions were asked by one of my friends and simply rephrased his questions by creating scenarios. I gave almost a similar reply for his questions, but he was not convinced. So, I wanted to check my understanding .
Thanks,
Mallesham Karnati
|
|
-
11-05-2005, 05:18 AM |
-
yellow_emperor
-
-
-
-
Joined on 10-28-2005
-
-
Posts 4
-
-
-
|
Re: db4o has a concise, unambiguous and fair licensing policy
For the benefit of the db4o team, I am on their side. I want to
see open source technologies succeed, and business models that allow
organizations to be profitable and continue to contribute to the open
source community are of particular use in a market economy like
ours. For the success of such businesses and the projects they
support, careful business execution is valuable. One domain that
calls for particular care is the choice of a licensing model.
Hence my previous comments in this thread.
A week ago, I sent this message to the law firm you mentioned:
--------------------------------------------------
I was recently reading through the community forum provided on the db4o web site, and discovered a reference to an interpretation of the GNU General Public License endorsed by the db4o developement team:
http://db4o.com/about/company/legalpolicies/gplinterpretation.aspx
In the same context that this reference appeared, the forum poster (Patrick Roemer) indicated that your law firm was responsible for this interpretation. In what sense is Fenwick and West responsible for this interpretation?
I ask because the interpretation, specifically the four bullets indicating circumstances under which software must inherit the GPL are misleading. By strictly literal interpretation of the GPL, none of the statements actually applies. The Free Software Foundation publishes a body of work explicating their interpretation of the GPL. By FSF interpretation, only the first statement applies.
The other claims simply hold no bearing on the reality of code released under the GPL. The FSF does not appreciate misinterpretations of the GPL. Overly liberal interpretations do not provide important restrictions necessary to protect accepted implementations of technology standards.
(As is the case here,) overly conservative interpretations promote misunderstanding of the intent of the GPL and allow organizations who are not interested in the meaning of the GPL to gain benefit by affiliating themselves with it. Worse, an organization might rely on a conservative interpretation of the GPL to protect their software, where such protection is not actually afforded. (Commercial protection is not the intent or in the spirit of the GPL.)
The best scenario is one in which the GPL is applied as intended by organizations who understand its implications. For projects where the GPL does not match the business model well, a different license or licensing scheme would be applied.
Ultimately, a world in which free software is allowed to flourish under terms equally acceptable to its users and developers will provide the greatest advancement of humanitarian and humanist goals.
--------------------------------------------------
I have not yet received a reply.
I do not dispute the reasonable nature of db4o pricing, and I would
argue for the usefullness of a financially supported db4o team. I
am suggesting that a license should be applied to db4o that protects it
in a way that the db4o team can accept. (An interpretation of a
license's terms is not the same thing as a license that satisfies such
an interpretation.)
An organization that desires to license their software similarly to the
GPL but under a specific and controversial interpretation is in a
position that is best resolved by devising a new license. If such
an organization applies the GPL anyway, the organization implicitly
accepts that licensees can and will use the software under the terms of
other interpretations of the GPL; and that these interpretations may
not agree with the interpretation endorsed by the organization.
It appears as though db4o may be in this position.
While it is nice to consider what individuals and organizations should
do in a situation, it is not reasonable to anticipate that these
concerns will dictate behavior, especially in a business setting.
If the debate is over the perception of license applications by the
community, it should be noted that the intent or spirit of the GPL is
often framed in a particular way. It is commonly believed that
the GPL is designed to protect standard implementations of information
technologies from becoming proprietary. In this view, the danger
is not that commercial organizations will use the standard or sell
products built on it. (In fact, this is even desirable if it
means that the standard technology receives support and
acceptance.) Instead, the danger is that a proprietary solution
might be able to borrow from the standard, produce a better product,
and then supplant the standard in common use (thus taking control of
the standard away from the community).
In this spirit, the GPL is intended to give an implementation away, and
entrust it to the community. Interpretations of the GPL have
flexed to incorporate other intentions in certain domains, but it could
be argued that this flexing has a negative impact on the community by
spreading uncertainty and fear about the use of GPLed standards.
For example, the spirit of the GPL can be maintained even when
incorporating a statically linked GPLed library into a proprietary
product. In this case, the product vendor might be under some
onus to explain to its clients that a given binary executable included
object code generated from GPLed source code. (This covers the
obligation not to claim the code as the vendor's creation, but even
better, generates visibility for the GPLed library.) Now that
interpretations of the GPL prevent this behavior, the FSF has brought
us the LGPL. A good thing, but it should be unnecessary.
Now we have more licenses and more confusion.
|
|
-
02-03-2006, 04:59 AM |
-
mpc823_99
-
-
-
-
Joined on 02-03-2006
-
-
Posts 3
-
-
-
|
Re: Please comment on this plain English version in Plain English...
yellow_emperor wrote: | Another team might decide to include db4o inside a web-service or
eventing framework. An interface to an object-persistence layer
could be conceived, designed, implemented (as Java classes for example)
and published to the public domain. A module that adapts the db4o
interface to the framework interface would be required to inherit the
GPL if distributed. But other modules that worked within the
framework would not be required to inherit the GPL, even if they had to
compile against the (public domain) interface.
|
|
Wow, this is exactly my question. I am actually building an event framework using the eclipse rich client platform (RCP). I have a general framework for accepting events into the system and triggering registered listeners. Because I'm using the RCP, I have designed the system to be very modular. With the basic framework in place, one module that I am now writing is a listener that registers to receive all events and stores them in a database. DB4O seems well suited to this task. My question is then what licensing restrictions, if any, fall onto the framework? Certainly I have no problem GPL'ing the database module itself. However, GPL'ing the general framework would not be looked on favorably at my company. My reading of this thread, the GPL, and DB4O's interpretation lead me to believe that I only would have to GPL the particular module, not the entire framework. But what happens if I provide an API for others to use (utilizing extension points)? Do other modules that use that API then fall under the GPL?
|
|
Page 1 of 2 (24 items)
1
|
|
|