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

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

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

Cryptography

Not applicable

Required Resources

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

  • No labels