This article is more than 1 year old
Apple unleashes FoundationDB as an open source project
Secretive company talks up the need for open community
Apple has open-sourced FoundationDB, a distributed ACID-compliant NoSQL datastore, three years after acquiring the company that developed the technology.
At the time, developers who used the database voiced resentment that Apple had taken a useful tool off the market and left companies using the software without support.
For Apple, that's water under the bridge. In a post to the FoundationDB project's newborn blog, the fruit-themed computer maker said, "We believe FoundationDB can become the foundation of the next generation of distributed databases."
To make that happen, Apple is counting on community contributions and support.
Apple takes ACID-compliant NoSQL upstart FoundationDB
READ MORECommunity – aka free labor – turns out to be a crucial ingredient in sustaining open source projects, as Kubernetes has demonstrated.
Apple can get away with casting the press as fact-grabbing profiteers and threatening employees who leak confidential info with permanent unemployment and jail time because it pays employees for the privilege.
But autocratic inquisitions won't convince people to come together to improve FoundationDB; project contributors have to be treated with respect.
Thus Apple has outlined a design document focused on transparency and a governance structure to help participants feel they have a voice in project decisions. There's even a code of conduct as a check against the boorish bro behavior for which Silicon Valley has become infamous.
FoundationDB has been released under the Apache 2.0 license. It takes a seat among the more significant open-source projects released by Apple, a group that also includes the Darwin operating system on which macOS and iOS are based, the XNU kernel, WebKit, and Swift.
Apple's plan for FoundationDB is to release the core functionality – the key-value store – and to encourage the project community to develop software layers (e.g. an SQL layer or a protocol buffer layer for Ruby) that extend core features and expand the software's capabilities.
Those with a deep understanding of databases and a willingness to help Apple out are advised to review the community guidelines. ®