Free Open Source with Commercial Support

Have you ever thought about “Free” Open Source with commercial support vs. commercial software? We have and we found that the following is true:

Free Open Source Software with commercial support

… is the best business model for companies selling services for very complex OSS software where customers might lack skilled personnel. This includes things like

The above systems can cause terrible pain to your productive environments when they crash. You want to have extremely skilled fire fighters ready when your system goes down. Some of the above systems have been said to be deliberately complex in order to be able to pursue this particular business model.

Commercial software or dual-licensed software

… is the best business model for companies selling very simple, easy to use software where customers do not rely on skilled personnel in the event of a crash. This is particularly true for

The above software are so easy to handle and to maintain, their vendors would hardly make any money with support. Granted, support is always included in the license fees. That’s just part of the service quality.

The Open Source Bikeshed.

“Him” or “They”? English language aficionados haven’t yet decided what to do with a singular pronoun of unknown (or irrelevant) sex. On Stack Exchange’s English Language and Usage site you can find lots of questions like this one, explaining the context.

Let’s talk about code. When coding, we also write documentation. When writing documentation, we tend to use the English language. According to Wikipedia, roughly 5% of the world’s population speak English as their native language. For the rest of us, “Him” or “Them” in documentation is an even more remote grammar challenge than for native speakers. Some may argue that it might not be as critical as maybe fixing a bug in a core banking system that causes the bank to “lose” 1 million [your currency] per minute.

Don’t get me wrong. I don’t want to trivialise the historic context. But if you’re not really into that context, discussing over “Him” vs. “Them” is just as interesting as discussing over “ISO 8859-1” vs. “UTF-8”. There’s a clear tendency towards doing the “better thing” in the long run (i.e. “Them” and “UTF-8”), and it’s good that better things are being established. But most people acknowledge that fact and then get back at fixing that other critical bug. In other words, most people don’t want to discuss the bikeshed.

However, this is not what 80 people on this GitHub pull request think. They take the time to publicly discuss

  1. The correct use of “Him” or “They” or “She” or “Them” or “One”
  2. The implications of the maintainer closing the pull request as “too trivial”
  3. The implications of the implications of people reacting to the offence

Now, if you follow OSS related blogs, or twitter, you will find lots of people getting incredibly involved with this topic. Take Joyent – a sponsor for the project at hand. On their blog, they reacted to this incident:

But while Isaac is a Joyent employee [having accepted the grammar-fixing pull request], Ben [rejecting the pull request] is not—and if he had been, he wouldn’t be as of this morning: to reject a pull request that eliminates a gendered pronoun on the principle that pronouns should in fact be gendered would constitute a fireable offense for me and for Joyent.

Joyent then continues by stating things like:

(Especially when that poor behavior transcended into the gobsmackingly inappropriate as Ben tried to revert Isaac’s commit.)

And then

Indeed, one of the challenges of an open source project that depends on volunteer effort is dealing with assholes

Source: http://www.joyent.com/blog/the-power-of-a-pronoun.

A reaction to the above made it on Hacker News, leading to another heated debate about the fundamentals of society, reproaches from all sides.

The Bikeshed in Open Source Software

We’re doing Open Source ourselves. We try to do it professionally, as we’re trying to make Open Source our business model. As with any business, it is not always easy to remain professional. People have weaknesses. People have convictions, visions and a cultural background. But there is one thing that Open Source has, unlike closed source businesses. It is immensely open and public. This means that a rather trivial situation about a very local problem that would otherwise be settled among 3-4 involved employees suddenly escalates, turns public and leads to tremendous ranting, shouting, insulting on social media, such as:

  • Blogs
  • Twitter
  • GitHub
  • Hackernews

People have invested a lot of energy into this particular Open Source bikeshed, going as far as publicly pilloring one of the people involved over their use of pronouns in the English language. As it seems ever so often, Open Source is not about software. It is about people, in all of their good and bad ways.

Oracle GlassFish, or Why You Should Think About Open Source Again

Oracle’s recent announcement about the discontinuation of commercial services for JEE’s reference implementation GlassFish has caused many reactions in the community involved with JEE. The reactions reach from:

This event seems to have a big impact on the whole Java ecosystem as many of the above people are key players and influencers in our community, and they neither agree nor know what this step by Oracle means for the future of JEE.

The most interesting point of view among all of the above, in my opinion, is tomitribe’s, looking at things from a mere business point of view with respect to Open Source. They’re saying:

Open Source Isn’t Free

Or in other words, “There ain’t no such thing as a free lunch”. And to quote tomitribe even more, a very interesting thought they’re setting out is this:

What this says to me is that we as an industry still do not fully understand Open Source.

We most certainly do not understand Open Source. I’m an Open Source software vendor myself. I believe that Open Source is:

An excellent marketing tool

People look at Open Source as something “generally good”. When I talked about jOOQ at conferences and when it was an all-Open-Source piece of software (not yet dual-licensed), I got lots of opportunity to do free advertising. This has rapidly changed, now that I am offering an alternative commercial license.

A good tool enabler

I get free access to

The same here. As I’m now a “commercial” software vendor, some tools are no longer accessible to me.

The truth is: Open Source is a business strategy

It really is. And it seemed to have worked well for RedHat or Pivotal in the past. Has it worked for anyone else? We don’t know yet, as most other larger companies have such huge amounts of revenue in “classic” fields that they can simply “afford” Open Source. In fact, they’re so good at investing manpower and innovation into Open Source, it keeps the commercial competition in check, as it is hard to write a better and more complete JEE implementation than Weblogic or Websphere.

Apparently, even Larry Ellison is said to agree that the future of data centers lies within using commodity machines. At the same time, RedHat suggests “trying free” to Oracle.

No matter what the impact of the commercial unsupport of GlassFish on JEE will be, we’re only at the beginning of fully understanding what kind of impact this large scale “freemium” model will have on our world. This isn’t just about the software industry. The whole Internet has brought us “free” stuff. We get:

  • “Free” standards (compare W3C, IETF standards to ISO standards!)
  • “Free” Facebook and Twitter and GMail accounts
  • “Free” newspapers
  • “Free” music and films
  • “Free” commodity services for all sorts of work
  • “Free” work force as we can offshore anything to low-wage countries

This has been picked up recently by Tim Kreider, the author of “We Learn Nothing”, where he depicts how writing “free stuff” for the New York Times helps building “exposure”, and how that’s just nonsense as all this hard journalist work doesn’t pay anymore.

Does building “exposure” ring a bell?

Yes, I can build “exposure” by writing free Open Source on GitHub, and by answering complex questions for free on Stack Overflow. I personally use both tools to advertise jOOQ, no doubt. So I get a service (advertising) for a service (content). My deal appears fair to me. But loads of GitHub and Stack Overflow users contribute … just for the sake of contributing. To whom? To GitHub and Stack Overflow. And why? I don’t know.

So, should you contribute to GlassFish, if Oracle starts decreasing support and loosening interest as they have before with MySQL, Hudson, and other products inherited from Sun?

Let’s remember that Karl Marx has already taught us that our idea of capitalism will inevitably lead us to (citing from Wikipedia):

  • technological progress
  • increased productivity
  • growth
  • rationality
  • scientific revolution

Absolutely! There’s no way that productivity can get any better than by having loads of software developers world wide produce better and better tools (growth, progress) for nothing more than … for free!

So, don’t be a pawn of others’ Open Source strategies

So, instead of contemplating what Oracle’s move away from supporting the Open Source reference implementation of JEE means, become active yourself! Don’t just blindly consume Open Source, make it an option like any other option by consciously deciding in favour of Open Source or commercial software, depending on your specific needs.

Stop advertising their cool products for free at conferences, unless you pull out your own advantage from such an advertisement. Open Source is just yet another business model.

CUBRID: A Lesser-Known Korean OSS Database Gem

While RedHat and Google have been dumping MySQL for MariaDB, there’s actually a third, much lesser-known option for MySQL-oriented database folks in the RDBMS market: CUBRID.

One of CUBRID’s main goals is also to lure MySQL users away from Oracle by offering many equivalent syntax elements that are available in either the MySQL or Oracle databases. But this gem from the far east, which is backed by the Korean Naver Corp. offers a lot more. It is one of the few Open Source RDBMS that

  • is also an ORDBMS (only PostgreSQL can compete with this)
  • implements the SQL standard MERGE statement (HSQLDB and Firebird do as well, Derby is currently implementing it)
  • implements a wide variety of window functions (only PostgreSQL competes, again)
  • implements a wide variety of MySQL’s proprietary SQL extensions
  • implements Oracle’s awesome CONNECT BY syntax (no other database does that)

Popularity-wise, there’s surely much to catch up with, comparing with MySQL and MariaDB:

Reproduced with permission by DB-Engines.com
Reproduced with permission by DB-Engines.com

But the next time you’re looking at a replacement for MySQL, why not also consider CUBRID?

Who Says “I Want to Contribute” ?

In recent posts, I’ve been a bit critical with Open Source. But doing Open Source is a lot of fun. The publicity of feedback is thrilling and encouraging. And then, there’s the “I want to contribute” phenomenon. Those guys that are so thrilled with your wicked product that will change the world, they want to help. They want to participate. They want to contribute. They want instructions on how to do it. And then ……….. the big void. You’ll never hear from them again. Even if you ask them a couple of times, through private messages, etc. Even if you show them a couple of easy tickets that they could resolve first. Blank.

Who are they? Where did they come from? Where do they go? Are the real? Or robots?

Whoever they are, I find them amusing and refreshing. But now, back to work. Someone has to actually write the Open Source code.

On Degrading Merchandise Quality

I’ve just replaced 4 halogen bulbs in my appartment. When I threw the old ones into our recycling bin, I’ve noticed that there were already around 8 bulbs in there. From the last 5-6 months, only! This made me sad, as it shows how our consumer society works. Read on to learn how jOOQ strives to be different with respect to endurability and long-lasting quality.

More stuff I’m made to buy because it falls apart

I’ve just bought a new mobile phone, because the old one didn’t really work anymore, after only 2 years!

I’ll be buying a new hard drive next week, because the one I’ve bought recently (to replace a broken, 3 year old one) heats up too quickly and doesn’t give me the throughput I want!

I buy 2 pairs of new Adidas a year, because they don’t last as long as my leather shoes!

I buy about 5 mini-umbrellas a year, because apparently, they’re made to last a mere 10 days of rainfall!

I buy about 2 new city bikes a year, because mending them is more expensive than buying new ones. It’s not that I’d just have to replace tires, they’re actually quite broken after 1/2 year!

I bought a Windows Surface RT tablet just to learn that almost no programs can run on it. I would have had to buy the Pro version and throw the old one away.

Should we really work this way?

I’m forced to buy new stuff. I buy new stuff because the previous stuff I’ve had breaks apart so quickly. And in many cases, it is very clear that it has been designed to break apart in a short period of time. Replacing things with new things is an industry of its own. If stuff were made to last and to work for 10 years (Hah 10 years. Our grandparents used the same stuff for 40 years!), corporations would make less money with new merchandise to replace their previous equivalent merchandise. Take my awesome Samsung flat screen TV, for instance. I had bought it around 7 year ago, and it still works like a charm. Samsung never got any money from me again, even if I’m a very happy customer. Is that a bad business plan for Samsung?

There’s more to life than making tons of money and keeping a paying customer base for your deliberately mediocre product line. There is a strong urge to contribute to making this world a better place. By selling quality products that do not fall apart very quickly. Products that do not require a lot of support. Products that are easy to use and long-lasting, such that the return on investment for your customer is extremely high, at the cost of making “only” a living instead of tons of money and waste.

At Data Geekery, producing such products is our highest credo. This is why we charge a bit of money for licensing with support included, because we think that our quality is so high, you might not even need any support. We could make a lot more money by lowering our quality and by hiring a lot of expensive consultants to explain to you how our complicated product works. But jOOQ is not complicated, it is extremely easy to use.

Many “free” Open Source products don’t work this way. They lure you in by being free and LGPL-licensed, unloading a lot of consulting and maintenance costs onto you only later on. It is your choice. Do you want to invest in your future by keeping maintenance costs low? Or do you want to get a cheap product and pay later on? Think about dirt cheap ink jet printers and how much you’ll pay on those quickly-emptying ink-cartridges later on. Think about dirt cheap coffee machines and how much you’ll pay on those capsules later on. Think about some computer products, and how often you have to pay for ridiculous updates, because the “old” minor release of the operating system is no longer supported.

Don’t think in short terms. Don’t fall for “free” stuff. There is no such thing as free lunch. You always pay. A little bit now, or much more later.

A Significant Difference Between Open Source and Commercial Software

A recent event has triggered a lot of interest in the debate about the good and the bad parts of Open Source. Oracle’s attack on Open Source. For large corporations who aren’t Red Hat, taking a stand on the topic is far from easy. Oracle used to sell only commercial software, but has since acquired a lot of open-sourcey companies, such as Sleepycat Software (BerkeleyDB) or Sun Microsystems (Java, MySQL). Phrasing a long-term strategy upon this legacy isn’t easy.

At the same time, Oracle is extremely successful, having surpassed IBM’s revenue, making Oracle the second largest software company in the world. The continuing popularity of its flagships Java and the Oracle database is promising, also for middleware vendors providing products such as jOOQ, for their flagships.

At Data Geekery, Open Source is also very important, just as commercial licensing has become, since recently. The change towards dual-licensing has been received rather positively on the jOOQ user group, even if it led to open questions about the continued Open Source strategy. But what’s the real difference between Open Source and commercial software? At Adobe, Dr. Roy Fielding is often cited saying that there is essentially no difference between Open Source and commercial software, and he’s quite an authority for both worlds. Both are absolutely viable business models with their pros and cons respectively (unfortunately, I cannot back this up with an actual citation).

One significant difference, however, is that low-quality open source software can heavily outlive low-quality commercial software, as it just never really dies, as no one is “losing money” on low OSS “sales”. I’ve recently blogged about how to recognise such low-quality Open Source software.

Open Source is foremost a business and marketing strategy, just as much as it is a mission. This business strategy can be a good or a bad choice for any software vendor.

jOOQ Newsletter October 10, 2013

Subscribe to this newsletter here.

jOOQ 3.2 Released

After a bit of time, jOOQ 3.2 has finally been released. This interesting release mainly includes two new SPIs (Service Provider Interfaces), which allow for:

  • Injecting pre and post CRUD operation behaviour, which is useful for global ID generators.
  • Injecting behaviour into the SQL rendering lifecycle allowing for arbitrary SQL transformations. This is very useful for things like shared-schema multi-tenancy.

Besides, the code generator has seen lots of improvements. More details can be seen in the release notes.

jOOQ Licensing and Support

With the new jOOQ 3.2, apart from introducing great new features, we are changing quite a few things on how we operate. At Data Geekery GmbH, we believe in Open Source. But we also believe in the creative power enabled by commercial software. This is why we have chosen to implement a dual-licensing strategy. Read more about this strategy here:

http://blog.jooq.org/2013/10/09/jooq-3-2-offering-commercial-licensing-and-support

SQL2jOOQ

A very interesting open source tool is being developed by a third-party vendor called GUDU Soft in cooperation with Data Geekery: SQL2jOOQ. This tool is based on GUDU Soft’s SQL Parser application, which can parse a variety of text-based SQL strings, transform ASTs and render new dialects. One of these output dialects is jOOQ. For jOOQ developers migrating large amounts of legacy SQL to jOOQ, this will be an invaluable tool in the tool chain.

MongoDB and NoSQL Heat

MongoDB was in the news big time last week when they announced their recent raise of $150 million in a venture-funding round. While cynics claimed that they failed to write the transaction to disk, this is still a very important milestone for 10gen. After all, MongoDB is the only non-relational DBMS figuring in a quite objective top 10 rating considering 194 systems.

To SQL or not to SQL? Our take from the jOOQ perspective is clear. Any competitor in the market dominated by Oracle and SQL Server is good, even (or maybe because) it is a non-SQL vendor:

http://blog.jooq.org/2013/10/02/the-premature-return-to-sql/

jOOQ™ 3.2 Offering Commercial Licensing and Support

Four years ago, the Java database middleware market was dominated by a variety of ORMs implementing JPA. This paradigm was hardly challenged by alternatives. There was a gap for an API making SQL a first-class citizen in the Java language ecosystem and jOOQ had come to fill this gap. With jOOQ, developers who engage heavily in writing SQL finally had a tool that helped them express SQL almost natively in the Java language, leveraging the Java 6+ compiler’s features to validate their SQL statement’s syntax and type correctness. In the last four years, jOOQ had become increasingly popular and mature. jOOQ is used by many demanding customers operating on large and complex databases. The feedback that we have had from those customers was unanimously positive, although there was one thing missing. That one missing thing was professional support, warranties, and thus commercial licensing. With the new jOOQ 3.2, apart from introducing great new features, we are changing quite a few things on how we operate.

jOOQ is now jOOQ™
After jOOQ 3.1, we have now published jOOQ™ 3.2

At Data Geekery GmbH, we believe in Open Source. But we also believe in the creative power enabled by commercial software. This is why we have chosen to implement the following dual-licensing strategy:

  • Users using jOOQ with popular Open Source databases will continue to be able to get our high-quality, integration-tested Apache Software License 2.0 licensed free Open Source distribution from Maven Central, from GitHub, or from the jOOQ website. At the same time, they will continue to profit from our free community support in English on the jOOQ User Group.
  • Users using jOOQ with commercial databases will be able to profit from our competitive commercial jOOQ subscription licenses, which include support for commercial databases, as well as professional support in English, German, and French, early access to releases and bugfixes, warranties, custom engineering and much more.
license-models
Our license models

Of course, customers using jOOQ with an Open Source database can also purchase a commercial license subscription, if they wish to profit from our professional support and services. In the following FAQ, we’ll answer to some questions you may have:

Why offering a workstation license?

We believe that the main added value of jOOQ is added to our customer’s development lifecycles. jOOQ helps developers write SQL code in 10% of the time they needed if they had used JDBC or other String-based approaches directly. At the same time, jOOQ and its powerful source code generator help prevent coding mistakes early in the development lifecycle, preventing 90% of the usual SQL mistakes. jOOQ is thus a development tool, as opposed to a database, which is a storage tool adding most value at runtime. This is why jOOQ offers a workstation license, as opposed to most databases offering server licenses.

Why not just offering support for an all-Open-Source library?

We’re aware of vendors that sell all-Open-Source software, making money only with expensive support subscriptions. This is a viable model for vendors offering server software, such as databases, where 24/7 support is very crucial. It is also a viable model for vendors offering very complex software, which needs a lot of additional, costly consulting efforts. jOOQ is none of the aforementioned. It is middleware, which is very easy to use and will not generate any consulting business as it adds almost no complexity on top of SQL itself. We have challenged our decision with a variety of existing users and customers, and we firmly believe that we can add most value with a dual-licensing model that builds upon dependent database licensing models. After all, spending a bit of money on a jOOQ license will save our customers an incredible amount of money on their development lifecycle with powerful databases like DB2, Oracle, SQL Server, or Sybase.

Why stick with the Apache License?

The Apache License has served us well in the past four years. It is very liberal while at the same time, protecting our trademarks. It is a license that has enabled us to grow and get lots of high quality community feedback and contributions. We do not want to follow suit with other dual-licensing companies who go down the *GPL path, as we believe that dual-licensing *GPL software is not true to the spirit of Open Source Software in the long run. By staying with the Apache License, we want to express our deep commitment to Open Source.

What about contributor copyrights?

We take copyrights seriously. This is why we had our major contributors sign an agreement to transfer all copyrights to us. While we need to settle copyrights, we still want to publicly attribute authorship to those contributors who have shared code or documentation with us. Of course, we also welcome all future contributions by our community! Should you as a contributor feel that your copyrights are challenged or infringed by our dual-licensing, please do contact us directly.

What happened to the jOOQ Console?

While the jOOQ Console 3.1 will continue to be available to jOOQ 3.2 users from Maven Central, the jOOQ Console development has been stopped in its current form. It will make room for a new, commercial profiler software that Data Geekery will develop in the near future, stay tuned.

Why do this at all?

Because we want to show our commitment to jOOQ, which is much more than a library. It is a vision of a better Java and SQL integration. It is innovation in various fields of the Java ecosystem. We want to:

  • Support those who love both Java and SQL and who were denied appropriate tooling, in the past.
  • Further develop the integration of internal domain-specific languages in Java, by formalising language aspects of software like jOOQ. Not just for jOOQ.
  • Expand our high-quality SQL integration into the Scala ecosystem by offering a native Scala API – and possibly core.
  • Further improve the jOOQ Console to provide more high-quality development tooling.
  • Make our SQL knowledge available to our customers through our blog and source code.

In order to implement the above plans, we need to create a business from jOOQ. And we believe that this business will be extremely interesting both to us and to our customers. Together, as the jOOQ ecosystem, we’ll create a better Java/SQL world! Let us start with jOOQ 3.2!

Conference Gem: The MEDIT Symposium

The MEDIT Symposium is one of this year’s international conference gems that you shouldn’t miss, if you’re into Open Source! It features three very interesting tracks

  • Cloud Computing
  • Open Source
  • Mobile Development

I’m delighted to line up my own talk about jOOQ with Apache committers (Cassandra, Cordova, Isis), Groovy Language Toolkit developers, researchers and book authors. This mix of topics will certainly lead to inspiring discussions at lunch and at the later happy hour.

Apart from the fact that the admission fee is very reasonable, there’s nothing like an escape from cold northern October to Sicilly, southern Italy:

I’m looking forward to meeting you numerously at the MEDIT Symposium in October 2013!