Project Name: CouchDB
Proposal
The goal is to create an Apache top level project around the existing CouchDB open source project.
Key Features:
- a REST API using JSON for data transport,
- a JavaScript view engine based on Mozilla Spidermonkey,
- a GNU Autotools build system supporting most POSIX systems
- a built-in administration interface
- experimental fulltext search with Lucene
Rationale
The goals of the project are aligned with the goals of the ASF, namely there is interest in (continuing to) foster a collaborative, consensus based development process, using an open and pragmatic software license, and a desire to create high quality software that leads the way in its field.
Initial goals
- Features for next release
- Incremental reduce support, for full map/reduce support.
- Document validation model (validate live and replicated changes)
- Documentation, Documentation, Documentation
- Fulltext Search
- Priority feature work
- Live compaction
- Extensible security model
- LDAP authentication
- More query capabilities exposed to HTTP, e.g. multi-key view lookups
- Future feature work
- Server storage partioning
- Server failover clustering
- Requested Features
- hierarchical structure in documents
- hierarchical structure in documents
Current Status
Meritocracy
The project has recently transformed from being primarily a single person led (and funded) project to one with a number of diverse participants. Development has been coordinated primarily through a mailing list, with some IRC.
Community
The community consists of a set of independent developers, one of which recently joined IBM
Initial Developers
- William Beh
- Damien Katz
- Jan Lehnardt
- Christopher Lenz
- Dirk Schalge
- Noah Slater
Alignment
A database server with a strong focus on HTTP and REST principles.
Known Risks
- Dependency on Erlang
- Including some modifications to the HTTP server stack. The plan is to convert over to MochiWeb (MIT licenced)
- Dependency on Mozilla SpiderMonkey
- Including small modifications, to be sent back to Mozilla
- Including small modifications, to be sent back to Mozilla
Orphaned Products
- This is a new effort, and is far from being orphaned.
Inexperience with Open Source
All participants are active users and contributors to open source. One of them (Christopher Lenz) has experience as committer on other Apache projects.
Homogenous Developers
The exiting committers are spread over a number of countries and employers.
Reliance on Salaried Developers
Only one developer is being paid to work on CouchDB. Read his views on the relationship he has with his employer.
Relationships with Other Apache Products
Experimental usage of Lucene
An excessive fascination with the Apache brand
This product started out independent of Apache and under a GPL license. After discussions with a number of people within IBM, Damien Katz agreed to pursue both incubation at the ASF, and employment at IBM
Documentation
Initial Source
Resides on Google Code. The code has been recently relicensed from GPL to the Apache License, Version 2.0, in anticipation of this submission.
Source and Intellectual Property Submission Plan
The bulk of the core code was written by Damien Katz. Major contributions include: a GNU Autotools build system supporting most POSIX systems contributed by Noah Slater, a built-in administration interface provided by Christopher Lenz, and experimental fulltext search with Lucene by Jan Lehnardt. ICLAs either have been, or are in the process of being, submitted for all code involved in this submission.
ICLA's are already on file for:
- Jan Lehnardt
- Christopher Lenz
ICLA's in progress:
- William Beh
- Damien Katz
- Dirk Schalge
- Noah Slater
There are a few (as in single digit) number of files that we are continuing to sort through the licenses. These include Public Domain, X Consortium, and MITish licenses.
External Dependencies
- ICU (MIT)
- Erlang (Erlang Public License)
- SpiderMonkey (Mozilla Public License)
Cryptography
Not applicable
Required Resources
- Mailing lists:
- couchdb-pmc for private PMC discussions (with moderated subscriptions)
- couchdb-dev
- couchdb-commits
- couchdb-user
- Subversion Directory:
- Issue Tracking:
- JIRA couchdb
- JIRA couchdb
Initial Committers
- William Beh
- Damien Katz
- Jan Lehnardt
- Christopher Lenz
- Sam Ruby
- Dirk Schalge
- Noah Slater
Sponsors
Champion
Sam Ruby <rubys@apache.org>
Nominated Mentors
- Jim Jagielski
- Gianugo Rabellino
- Ted Leung
Sponsoring Entity
The Apache Incubator