프로젝트 소개

Apache CouchDB는 Apache Software Foundation 산하의 오픈소스 데이터베이스 프로젝트입니다. 직관적인 HTTP/JSON API를 갖춘 끊김 없는 다중 프라이머리 동기화 데이터베이스로 설명되며, 신뢰성을 목표로 설계되었습니다. README는 내부 아키텍처를 자세히 다루기보다 설치, 문서, 검증, 개발 환경 설정, 기여 안내에 초점을 맞춥니다. 설치 안내는 플랫폼별로 나뉩니다. INSTALL.Unix는 macOS와 Ubuntu를 포함한 Unix 계열 시스템을 다루고, INSTALL.Windows는 Microsoft Windows를 다룹니다. 사용자는 자신의 시스템에 맞는 안내를 따르도록 안내됩니다. 문제가 발생하면 README는 공식 문서의 문제 해결 섹션을 참조하도록 안내합니다. 문서는 docs.couchdb.org에서 호스팅되며 "whatsnew" 섹션 아래에 변경 로그가 포함되어 있습니다. 이해하기 어려운 오류 메시지에 대한 문제 해결 안내는 install/troubleshooting 페이지에서 확인할 수 있습니다. 일반적인 도움을 위해 프로젝트는 메일링 리스트와 Libera.Chat의 IRC 채널(#couchdb)을 안내합니다. 메일링 리스트는 지원과 지식의 원천으로 설명되며, 공식 웹사이트에서 커뮤니티 리소스에 대한 더 많은 정보를 제공합니다. 설치를 검증하기 위해 README는 로컬 Fauxton URL인 http://127.0.0.1:5984/_utils/#verifyinstall로 이동하여 기본 테스트 스위트를 실행할 것을 제안합니다. 개발을 위해 README는 두 가지 경로를 제공합니다. 빠른 시작은 VS Code Remote - Containers 배지를 사용하며, 이를 클릭하면 필요 시 Remote - Containers 확장이 설치되고, 소스가 컨테이너 볼륨에 복제되며, dev 컨테이너가 시작됩니다. 이 devcontainer는 처음 생성될 때 자동으로 ./configure && make를 실행하므로 추가 시간이 걸릴 수 있지만, 이후에는 ./dev/run, ./dev/run --admin=admin:admin, ./dev/run --with-admin-party-please, make check와 같은 명령을 즉시 실행할 수 있습니다. 이후 시작은 빠를 것으로 예상됩니다. 수동 개발 환경 설정은 README-DEV.rst에 문서화되어 있습니다. 요약하면, 개발자는 설치 문서에 나열된 필요한 종속성을 설치한 다음 ./configure && make를 실행합니다. 컴파일 후 make install은 필요하지 않으며, 대신 ./dev/run이 세 개의 노드를 시작합니다. 선택적 haproxy 캐싱 계층을 클러스터 앞에 추가할 수 있으며, 이는 ./dev/run --with-haproxy --haproxy=/path/to/haproxy로 실행합니다. 로컬 클러스터는 포트 5984에서 수신 대기합니다. Fauxton 개발자의 경우 README는 Fauxton의 버튼을 통해 admin party를 수정하는 것이 작동하지 않는다고 설명하며, 대신 admin 플래그와 함께 ./dev/run을 실행하라고 안내합니다. 예를 들어 ./dev/run --admin=username:password입니다. 플래그를 생략하면 admin party 상태로 남습니다. 기여 안내는 저장소의 CONTRIBUTING.md에서 확인할 수 있습니다. README는 또한 IBM Cloudant, MacStadium, Neighbourhoodie, DigitalOcean, netcup을 포함한 프로젝트 후원자들을 로고와 링크와 함께 감사 표시합니다. 암호화 소프트웨어 고지에서는 배포판에 암호화 소프트웨어가 포함되어 있으며 현지 법률이 수입, 소지, 사용 또는 재수출을 제한할 수 있다고 설명합니다. 자세한 내용은 Wassenaar Arrangement를 참조하도록 안내합니다. 미국 상무부 산업안보국은 이 소프트웨어를 ECCN 5D002.C.1로 분류했으며, 이는 비대칭 알고리즘을 사용하거나 암호화 기능을 수행하는 정보 보안 소프트웨어를 포괄합니다. Apache Software Foundation의 배포 형태와 방식은 객체 코드와 소스 코드 모두에 대해 License Exception ENC Technology Software Unrestricted (TSU)에 따라 수출이 가능하도록 합니다. README는 CouchDB가 포함된 암호화 소프트웨어의 일부로 SSL 기능을 갖춘 HTTP 클라이언트(ibrowse)를 포함한다고 설명합니다.