The dark side of commercial open source

Open source
Open source

open-source-success-and-failure.jpg

Apple, thirsting for deep big data DNA, has acqui-hired FoundationDB. That's great for Apple and great for the still small FoundationDB team.

It's not so great, however, for the open-source community that was forming around FoundationDB's open-source projects.

In anticipation of the big announcement, FoundationDB removed its FAQ, cut stopped downloads, and pulled its GitHub repositories. As long-time open-source observer Jack Clark grumbles, "Not cool, FoundationDB."

And all I got was this lousy t-shirt

FoundationDB promised an interesting slant on the NoSQL landscape. Part key-value store (think Hbase), FoundationDB introduced a multi-model approach that "refused to be pigeon-holed" as strictly NoSQL, as 451 Research's Matthew Aslett notes, and also introduced the ability to perform ACID transactions. Need SQL? FoundationDB has you covered.

While the approach has yet to really take off with developers -- the company's database ranks #115 among the 216 total databases tracked by DB-Engines -- it has interesting long-term potential.

Potential that Apple clearly saw.

Unfortunately, Apple doesn't want to be in the business of selling or distributing databases, it would appear. While a deal hasn't formally been announced as of the time of this writing, the deal has all but been confirmed, as ZDNet reports.

Sadly, the clearest evidence that a deal is about to hit is FoundationDB's dumping of its open-source ambitions. As its community page advises:

FoundationDB community page
FoundationDB community page

figa-communitypage.png

How the company "strongly value[s] participation in this community" is unclear when it immediately dismantled the ability for anyone to participate upon closing its deal with Apple. Perhaps they want the community to "participate" by cheering on their good fortune?

Buying open source

This brings us to one critical problem with commercial open-source companies: they can be bought. And sold. And when they are, the community can be shafted.

Completely.

Not that this must necessarily happen. Most companies that have acquired open-source companies have done so to benefit from and grow their associated communities. Not surprisingly, open-source leader Red Hat has acquired a range of companies, from JBoss to InkTank (Ceph), and has worked hard to grow their communities.

But even proprietary software companies -- like VMware, which acquired SpringSource, and Oracle, which acquired MySQL -- have gone to great lengths to continue development of the open-source code they've acquired. (Oracle has been somewhat tone deaf at times to MySQL's community needs, but it has done wonders for the MySQL code itself.)

But the risk is there, and in FoundationDB, that risk becomes blindingly clear.

It used to be that open-source vendors would talk about the risk enterprises faced by buying into proprietary software. "If your chosen vendor gets acquired or goes out of business, you're locked in and can't get out." I once wrote that open source obviated the need for escrow agreements, because the code would endure even if the company behind it went out of business.

All of which is true... to a point.

But for those that rallied around FoundationDB as customers, Apple's acqui-hire leaves them completely stranded, little better off than had they bought into a proprietary database. Yes, they still have the code, but whether it will evolve is doubtful. Can it be forked? Sure. Will it? Probably not.

Lessons to learn?

None of this is intended to scare anyone off an open-source project just because it's bankrolled by a company. But it does mean that measuring the strength of the community around a project becomes increasingly important, as does actually contributing to that community.

One way some companies are trying to make a community bigger than themselves is by setting up independent foundations to shepherd the code, a point Twitter's open-source chief Chris Aniszczyk stresses.

But ultimately, the best defense is to contribute, because if you and your company contribute to a project, it becomes yours. You can steer it in the direction you choose.

For those that prefer to just buy or download what others build for them, you're always going to be at someone else's mercy, be it Apple's or IBM's or that cool startup you hope will live forever. So contribute, and get control.

Also see