Hi i am planing to develope a software with a free Object Orinted database.
is db4o completly free ?
Thank.
flyingman wrote: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
erdsah88 wrote:if the company is going to use the db4o only in one server ?What does it pay?
If you download db4o under the GPL, develop an application and use this application including db4o inhouse only (i.e., no redistribution), it is fine to use the GPL'd version of db4o without you being obliged to open source your "derivative work" (i.e., the application itself) under the GPL to the public.
The trigger for the GPL obligations are the redistribution.
In short: No redistribution, no GPL constrains. If there is redistribution, you either go GPL yourself or choose the affordable commercial license of db4o.
erdsah88 wrote:if there a place that we can look for licencing....
http://www.db4o.com/about/company/legalpolicies/gpl.aspx
http://www.db4o.com/about/company/legalpolicies/gplinterpretation.aspx
http://www.db4o.com/commercial/purchase/policy.aspx
or inquire sales: http://www.db4o.com/commercial/purchase/enquiry.aspx
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.
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.
mkarnati wrote:Please say YES or NO.
I always like to say "YES", but...: What is the question?
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?
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):
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).
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:
because
If someone cannot agree to this, he/she is better off to look for alternatives to db4o.
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
I was recently reading through the community forum provided on the db4oweb site, and discovered a reference to an interpretation of the GNUGeneral Public License endorsed by the db4o developement team:http://db4o.com/about/company/legal...ation.aspxIn the same context that this reference appeared, the forum poster(Patrick Roemer) indicated that your law firm was responsible for thisinterpretation. In what sense is Fenwick and West responsible for thisinterpretation?I ask because the interpretation, specifically the four bullets indicatingcircumstances under which software must inherit the GPL are misleading. By strictly literal interpretation of the GPL, none of the statementsactually applies. The Free Software Foundation publishes a body of workexplicating their interpretation of the GPL. By FSF interpretation, onlythe first statement applies.The other claims simply hold no bearing on the reality of code releasedunder the GPL. The FSF does not appreciate misinterpretations of the GPL. Overly liberal interpretations do not provide important restrictionsnecessary to protect accepted implementations of technology standards.(As is the case here,) overly conservative interpretations promotemisunderstanding of the intent of the GPL and allow organizations who arenot interested in the meaning of the GPL to gain benefit by affiliatingthemselves with it. Worse, an organization might rely on a conservativeinterpretation of the GPL to protect their software, where such protectionis not actually afforded. (Commercial protection is not the intent or inthe spirit of the GPL.)The best scenario is one in which the GPL is applied as intended byorganizations who understand its implications. For projects where the GPLdoes not match the business model well, a different license or licensingscheme would be applied.Ultimately, a world in which free software is allowed to flourish underterms equally acceptable to its users and developers will provide thegreatest advancement of humanitarian and humanist goals.
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.
mpc823_99 wrote:However, GPL'ing the general framework would not be looked on favorably at my company.
mpc823_99 wrote: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?
Well, mpc823_99, this is an interesting case. But I could draw a very similar case that will certainly clear up the issue for you. What would happen if you wrote your own db4o adapter. Let's just say, for simplicity, that your persistance layer didn't actually persist anything, but worked as an adapter so that you could "plug-in" different persistance solutions...of which db4o may only be one of them.
Then let's say you sold your persistance framework under a closed license. It has no db4o bindings, correct? You could use it with any form of database. Fine.
Now you have your "db4o adapter". You've got a choice. Personally, you prefer not paying for db4o. So you choose to GPL your adapter. But your adapter requires your closed-source framework to work. (Does the GPL allow you to include non-GPL requirements? I'm not sure. But let's move on...)
Ok. So now, someone can pay for your framework. But when then want to use db4o, then they've got to make the same choice. They're using your db4o adapter....which is offered via the GPL. Gee. I guess they have to either GPL their application, or buy commercial licenses for ALL of their included components....including your adapter. (I hope you are dual-licensing it.)
The trigger in this case is that they are including GPL code in their application. Even if they are using it indirectly.
It's rather simple. You either like the idea of free software, and offer yours for free also. Or you pay for software you use, and charge for your own. (if it pleases you)
Eric Falsken wrote: Well, mpc823_99, this is an interesting case. But I could draw a very similar case that will certainly clear up the issue for you. What would happen if you wrote your own db4o adapter. Let's just say, for simplicity, that your persistance layer didn't actually persist anything, but worked as an adapter so that you could "plug-in" different persistance solutions...of which db4o may only be one of them. Then let's say you sold your persistance framework under a closed license. It has no db4o bindings, correct? You could use it with any form of database. Fine.
Eric Falsken wrote: Now you have your "db4o adapter". You've got a choice. Personally, you prefer not paying for db4o. So you choose to GPL your adapter. But your adapter requires your closed-source framework to work. (Does the GPL allow you to include non-GPL requirements? I'm not sure. But let's move on...)
Well, I personally don't have a preference one way or another. My company may prefer whatever leads to encouraging third parties the most.
Eric Falsken wrote: Ok. So now, someone can pay for your framework. But when then want to use db4o, then they've got to make the same choice. They're using your db4o adapter....which is offered via the GPL. Gee. I guess they have to either GPL their application, or buy commercial licenses for ALL of their included components....including your adapter. (I hope you are dual-licensing it.) The trigger in this case is that they are including GPL code in their application. Even if they are using it indirectly. It's rather simple. You either like the idea of free software, and offer yours for free also. Or you pay for software you use, and charge for your own. (if it pleases you)
Christof wrote:If you download db4o under the GPL, develop an application and use this application including db4o inhouse only (i.e., no redistribution), it is fine to use the GPL'd version of db4o without you being obliged to open source your "derivative work" (i.e., the application itself) under the GPL to the public. The trigger for the GPL obligations are the redistribution. In short: No redistribution, no GPL constrains. If there is redistribution, you either go GPL yourself or choose the affordable commercial license of db4o.