I know people who buy oracle can probably spare a few bucks, but what your doing is now making my open source product that is free (as in beer) and then suddenly adding a cost to it. I really really think your are going to alienate a lot of users based on perception and principal. It doesn't matter that your probably right that the cost shouldn't be that big of a deal, but people will perceive it that way and not adopt jooq.
I have to think twice now about using jooq. Which is really upsetting because I really like it and do think its a better than everything that is out there. It's a sad day....
Darren
It's not a legal issue I'm worried about, when people see this style of commercial licensing they get turned off by it and apache is full of a bunch of open source enthusiasts. So while jooq is awesome, querydsl is probably acceptable. So I think I'm going to have to look further at querydsl because I'm not too sure jooq will be accepted by the community anymore.
As I said before, sad day for me....
Darren
Darren
Actually I've been assuming something about how this license works, that I should verify:
Suppose I've written a piece of software using JOOQ (and say it uses the JOOQ Runtime module for execution) and sell this product to buy 5 companies that will use it with Oracle. Does this mean that either they each have to buy a JOOQ licence, or I have to buy those licenses and include them with my product? I've been assuming that my buying a single license does not cover me for however many copies of it I sell and get deployed on my customers servers.
Is this right or am I misinterpreting?
--
Actually I've been assuming something about how this license works, that I should verify:
Suppose I've written a piece of software using JOOQ (and say it uses the JOOQ Runtime module for execution) and sell this product to buy 5 companies that will use it with Oracle. Does this mean that either they each have to buy a JOOQ licence, or I have to buy those licenses and include them with my product? I've been assuming that my buying a single license does not cover me for however many copies of it I sell and get deployed on my customers servers.
Is this right or am I misinterpreting?
17.2 Partial Ordinary TerminationThe Customer shall be entitled to terminate the Agreement for a part of theWorkstations at the end of each Subscription Period by observing a noticeperiod of three (3) months. [...]
Other price plans
Haven't found a price plan that suits your needs? Contact us for an individual price plan.
Are you saying that your license allows me to include you jars with my software and my customers to run that software without buying additional licenses?
2.1.1 WorkstationAll of the above price plans charge a Subscription Fee only for developerWorkstations, not for server Workstations. A developer Workstation may onlybe accessed by one user at a time.
(If so, I'm very happy and the concerns I have been expressing have been over-inflated.)
--
2.1.2 Termination of Trial EditionThe Trial Edition Subscription shall be automatically terminated 30 days afterDelivery onto a Workstation, after which it must be immediately removed fromsuch Workstation. Without the written consent of the Supplier, Customer is notentitled to install the same Major Release of the Software on the sameWorkstation again under the terms of the Trial Edition Subscription.
As a follow up,
--
So, you can check your application's SQL Server compatibility once per Workstation and Major Release. jOOQ's licensing strategy generally doesn't keep you from implementing a 15-people, 5-year project against MySQL, and then switching to SQL Server in the last month of the project. But I'm pretty sure, if you were to do this, your application will terribly fail and the money saved on jOOQ licenses will be lost again in eternal bugfixing sessions :-)
--
So, you can check your application's SQL Server compatibility once per Workstation and Major Release. jOOQ's licensing strategy generally doesn't keep you from implementing a 15-people, 5-year project against MySQL, and then switching to SQL Server in the last month of the project. But I'm pretty sure, if you were to do this, your application will terribly fail and the money saved on jOOQ licenses will be lost again in eternal bugfixing sessions :-)
Unless you have the power of Microsoft behind you all licensing agreements are honor based rather than enforceable, but I hope that you find that the majority of your business focussed users are prepared to honor not just the letter but also the spirit of your agreement terms.
I fit far more in the 'likes to mess about with code' group of users and so am unlikely to generate you any income as your OS based solution allows me to continue to work with JOOQ.
And all the best on your new endeavor! Exciting.
--
Lukas,
I think if your open to creative solutions we can probably work something out. I'll have to get back to you when I have more concrete plans to include jOOQ and also after I've discussed it with the larger community.
Just a general comment. You obviously know databases and are quite an expert with SQL. jOOQ offers some incredible power if you want to fully exploit the capabilities of SQL. There are a lot of users that would use jOOQ that are not SQL experts and have very simple requirements. For example, in Apache CloudStack the data access patterns are trivial and do not really need advanced SQL features. But regardless of the features and power that jOOQ exposes, I believe users will still want to use jOOQ because its a delightfully simple API and easy to use. So you can look at your users in two groups: casual users who use jOOQ because it provides a simple and nice API, and power user who use jOOQ because it allows them to get to powerful SQL features. For power users, I think they will pay because jOOQ truly provides unmatched features. For casual users, you'll never be able to monetize them. Power users though will probably be less than 10% of your user base. So just be careful as you try to monetize the power user, that you do not alienate the casual users. The casual user will never pay you money, but they are essential to the livelihood of jOOQ.
I think you run the risk of unintentionally painting a picture that jOOQ is for people that need advanced SQL features.
Hi Lukas,
I think Darren is right and you are underestimating, so called,
'casual' users. JOOQ gives power users features they can get nowhere
else.
The fact is, most casual database users are struggling with JPA or
Hibernate. In fact, I guess, they would save themselves a pain if they
would switch to document repositories, because most of the time they
do CRUD of tree-like forms, mapped to relational table model. Maybe
few percent of their data is truly "relational".
So, they don't want or they cannot switch to NoSQL (like I said, most
of the time they cannot even switch from Oracle/MsSQL to PostgreSQL),
so basic JOOQ usage like code generator and basic CRUD is all they can
hope for.
JOOQ works great, simple stuff is simple, so there is no need for them
to ask questions or have their say. I think there can be more of them
than you think...
As usual, taking advantage of the opportunity, thanks for great job!
If only the JCP Spec Leaders were capable of creating such a stuff,
the world would be a much better place to live, hehehe
--