Hi, Jan Thank you for the explanation. I must have skimmed too quickly and overlooked that part.
On Wed, Mar 5, 2025, at 20:22, Jan Lehnardt wrote: > On 5. Mar 2025, at 13:17, Xuanwo <xua...@apache.org> wrote: >> >> Hi, >> >> This proposal looks great. I just have a small question: Have you considered >> joining CouchDB as a sub-project and incubating under the CouchDB PMC >> instead? > > Thanks for the kind words. > > The proposal includes a section about that: > > The question of whether PouchDB should join CouchDB as as sub-project has been > raised and it has been decided to not pursue this option. Both projects have > significant technical differences (CouchDB is written in Erlang and PouchDB is > written in JavaScript) so that a joint stewardship would raise more problems > than it solves. Both the PouchDB and CouchDB maintainers agree on this point. > Where needed (APIs, sync protocol), the two teams have worked together tightly > and productively in the past. We don’t see a need to formalise this > relationship > to achieve future success. > > It also has been discussed on this list before: > > CouchDB is written in Erlang and PouchDB in JavaScript. These are > sufficiently separate worlds that maintainers on either side would not > be in a good position to make judgements about the other world, either > in day-to-day operations or in ASF relevant things like voting on > releases or technical decisions. Imagine a pure Java or C++ developer > having to vote on a motion to, say, deprecate a particular Ruby or > Python runtime version. — > https://lists.apache.org/thread/y3938rz6n98ontpbzoh1kxwsv89mw4gn > > (No worries about asking again) > > Best > Jan > > >> >> On Wed, Mar 5, 2025, at 20:02, Jan Lehnardt wrote: >>> # ASF Podling Proposal for PouchDB >>> >>> ## Abstract >>> >>> PouchDB is an open-source JavaScript database inspired by [Apache CouchDB] >>> (http://couchdb.apache.org/) that is designed to build offline-capable web >>> applications. >>> >>> >>> ## Proposal >>> >>> PouchDB is an open-source JavaScript database inspired by [Apache CouchDB] >>> (http://couchdb.apache.org/) that is designed to run well within the >>> browser. >>> PouchDB was created to help web developers build applications that work as >>> well offline as they do online. >>> >>> >>> ### Background >>> >>> Established in 2010, PouchDB has been designed as both a first-class >>> document >>> database for use in a web browser as well as a first-class data replication >>> peer to Apache CouchDB. PouchDB’s JavaScript API closely mirrors CouchDB’s >>> REST >>> API and CouchDB’s peer-to-peer data synchronisation protocol allows web >>> developers to build database driven applications that work when the web >>> browser >>> is offline. The replication protocol handles seamless data reconciliation >>> when >>> one or more peers reconnect after being offline. Peers can be other web >>> browser by replicating via WebRTC, or one or more CouchDB instances. >>> >>> ### Rationale >>> >>> PouchDB has always been a sister project to Apache CouchDB. Since its >>> inception, >>> it has changed lead maintainers three times, all of which were informally >>> running the project on its GitHub repository. With ever increasing >>> popularity >>> and reliance by mission-critical projects, PouchDB is looking for an open >>> source >>> foundation to join and has selected the ASF to be close to CouchDB. >>> >>> >>> ### Initial Goals >>> >>> PouchDB aims to benefit from the ASF’s mature and transparent project- and >>> community-management policies. >>> >>> >>> ### Current Status >>> >>> #### Meritocracy >>> >>> PouchDB has always, if informally, rewarded contributors that have a >>> persistent >>> contribution history with commit access to the project directly. Over its >>> 15- >>> year history, core and occasional contributors have come and gone, while an >>> active set of PouchDB practitioners has always looked after the project >>> itself. >>> >>> >>> #### Community >>> >>> PouchDB comes with an existing and robust developer and user community. By >>> establishing transparent community guidelines, we hope to grow this >>> community >>> even further. >>> >>> >>> #### Core Developers >>> >>> PouchDB is currently maintained by a handful of experienced developers that >>> have a long history in open source. The current interim project lead is an >>> ASF >>> member and PMC Chair for Apache CouchDB. All developers are at least also >>> end- >>> users of Apache CouchDB, while some of them have also been active >>> contributors >>> on CouchDB. >>> >>> >>> #### Alignment >>> >>> PouchDB is an established project that looks for long-term stability and >>> the ASF >>> provides nothing but. PouchDB is used in various mission-critical projects >>> and >>> would like to benefit from ASF stewardship as a means of making it easier >>> to be >>> relied on long-term. PouchDB is also Apache 2 licensed already. >>> >>> >>> ### Known Risks >>> >>> PouchDB’s main risk is stagnation through developer abandonment. In its >>> history >>> PouchDB had high- medium and low-velocity timespans, but it has always >>> attracted >>> enough developers (both volunteer and for-pay) to stay afloat. Most >>> recently, >>> PouchDB is at medium-velocity. Again, the PouchDB project hopes that by >>> formalising project management structures, a long-term stability and >>> dependability can be achieved. >>> >>> >>> #### Project Name >>> >>> PouchDB is a tongue-in-cheek pun on its sister project CouchDB. The current >>> holder of the project domain (pouchdb.com) and previous project lead Dale >>> Harvey is on board with transferring any naming rights to the ASF. >>> >>> >>> #### Orphaned Products >>> >>> The current PouchDB maintainers already consist of representatives from >>> various >>> distinct organisations with strong technical and financial incentives to >>> keep >>> PouchDB actively maintained. It is unlikely that a significant number would >>> up >>> and leave the project. >>> >>> >>> #### Inexperience with Open Source >>> >>> PouchDB is an existing open source project and its maintainers consist >>> mostly of >>> very experienced developers, including some with over 15 years in active >>> open >>> source development and one ASF Member and committer since 2008. For other >>> maintainers, PouchDB was their first open source projects and they have >>> since >>> contributed to various other projects as well based on their good experience >>> with PouchDB. >>> >>> >>> #### Length of Incubation >>> >>> The project aims to graduate within 6–12 months based on the experience of >>> the >>> Apache CouchDB incubation in 2008 and general maturity of the project >>> itself. >>> >>> >>> #### Homogenous Developers >>> >>> The current PouchDB maintainers consist of people from around the world, >>> collaborating across all timezones. >>> >>> >>> #### Reliance on Salaried Developers >>> >>> There is also a healthy mix of maintainers some of which are paid to work on >>> PouchDB part time, but everyone also contributes in their spare time. >>> >>> >>> #### Relationships with Other Apache Products >>> >>> PouchDB has been developed as a sister-project to Apache CouchDB. Both >>> projects >>> are inextricably linked in the sense that every PouchDB user is at least >>> also a >>> CouchDB user. The reverse is not necessarily true, but in a recent CouchDB >>> developer survey, 80% of participants stated to use PouchDB with CouchDB. >>> >>> The question of whether PouchDB should join CouchDB as as sub-project has >>> been >>> raised and it has been decided to not pursue this option. Both projects have >>> significant technical differences (CouchDB is written in Erlang and PouchDB >>> is >>> written in JavaScript) so that a joint stewardship would raise more problems >>> than it solves. Both the PouchDB and CouchDB maintainers agree on this >>> point. >>> Where needed (APIs, sync protocol), the two teams have worked together >>> tightly >>> and productively in the past. We don’t see a need to formalise this >>> relationship >>> to achieve future success. >>> >>> >>> #### A Excessive Fascination with the Apache Brand >>> >>> As mentioned before, PouchDB is looking for an open source foundation that >>> helps >>> with long-term project stability and dependability. Both the OpenJS >>> Foundation >>> and the ASF have been evaluated. In the end, the PouchDB developers prefer >>> the >>> close proximity to Apache CouchDB. The maintainers believe that people >>> having >>> to make decision about whether to bet on a PouchDB/CouchDB development >>> stack or >>> not will have an easier time integrating both projects from a single >>> foundation. >>> If the ASF won’t have PouchDB, we are happy to reconsider alternatives. >>> >>> ### Documentation >>> >>> Project website: https://pouchdb.com/ >>> Including blog with release announcements: https://pouchdb.com/blog >>> GitHub Project: https://github.com/pouchdb/pouchdb >>> >>> ### Initial Source >>> >>> The initial source tree lives at https://github.com/pouchdb/pouchdb >>> >>> >>> ### Source and Intellectual Property Submission Plan >>> >>> The PouchDB maintainers have yet to decide if they want to migrate the >>> existing >>> repository to the ASF GitHub organisation or if they want to submit a >>> pristine >>> copy, but either way, submitting the source code is a few git commands away. >>> >>> The pouchdb.com domain currently held by Dale Harvey is being transferred >>> to Neighbourhoodie Software which also holds the couchdb.com/net/org domains >>> in escrow for the Apache CouchDB project. ASF Member and CouchDB PMC Chair >>> Jan >>> Lehnardt is a shareholder and chief executive at Neighbourhoodie and they >>> are >>> trusted to hold and manage those domains in escrow until such time a >>> transition >>> is needed. The website publishing toolchain can be easily adapted to the >>> ASF- >>> provided web publishing mechanisms. >>> >>> >>> #### External Dependencies >>> >>> PouchDB depends directly on the following other projects. An automated >>> licensing >>> scan has revealed the following set of licenses in the dependency tree >>> >>> Runtime dependencies: three dependencies with to-be-sorted-out licenses >>> - argsarray (WTFPL), trivially replaced with a compatible version. >>> - fetch-cookie (Unlicense, public-domain), could be fine, but check with >>> ASF. >>> - readable-stream (incorrectly labelled BSD license), newer versions are MIT >>> licensed, we should upgrade. >>> >>> Development dependencies: if applicable, we’ll need to go through those and >>> see >>> what can be done about them >>> >>> - argparse@2.0.1: Python-2.0 >>> - chai-as-promised@5.3.0: WTFPL >>> - configstore@0.3.2: Invalid SPDX expression "BSD" >>> - cookie@0.1.2: Invalid license metadata >>> - cssmin@0.4.3: Invalid license metadata >>> - escape-html@1.0.1: Invalid license metadata >>> - esprima-fb@15001.1.0-dev-harmony-fb: Invalid license metadata >>> - estraverse@1.9.3: Invalid license metadata >>> - event-stream@0.5.3: Invalid license metadata >>> - fetch-cookie@2.2.0: Unlicense >>> - jsonify@0.0.1: Invalid SPDX expression "Public Domain" >>> - JSONStream@0.10.0: Invalid license metadata >>> - log-driver@1.2.5: Invalid license metadata >>> - mime@1.2.11: Invalid license metadata >>> - ms@0.7.0: Invalid license metadata >>> - ms@0.6.2: Invalid license metadata >>> - pako@1.0.11: (MIT AND Zlib) >>> - path-to-regexp@0.1.3: Invalid license metadata >>> - ps-tree@0.0.3: Invalid license metadata >>> - qs@2.3.3: Invalid license metadata >>> - random-uuid-v4@0.0.8: Unlicense >>> - semver@2.3.2: Invalid SPDX expression "BSD" >>> - sntp@1.0.9: Invalid license metadata >>> - source-map@0.2.0: Invalid license metadata >>> - truncate-utf8-bytes@1.0.2: WTFPL >>> - tslib@2.6.3: 0BSD >>> - tweetnacl@0.14.5: Unlicense >>> - update-notifier@0.1.10: Invalid license metadata >>> >>> These are produced with the `licensee` tool, invocations for runtime >>> dependencies: >>> >>> ``` >>> licensee --corrections --errors-only --production >>> ``` >>> >>> and for development dependencies: >>> >>> ``` >>> licensee --corrections --errors-only >>> ``` >>> >>> With the following licenses being permitted >>> >>> - Apache-2.0 >>> - MIT >>> - BSD-2-Clause >>> - BSD-3-Clause >>> - ISC >>> - BSD >>> >>> #### Cryptography >>> >>> PouchDB does not directly include cryptography code, but makes use of >>> in-browser >>> TLS. A PouchDB plugin crypto-pouch exists that does record-level >>> encryption, but >>> it is currently not part of the PouchDB code base. If md5 hashing is >>> considered >>> cryptography, PouchDB, like CouchDB, makes use of that, just note that md5 >>> hashing is not used for security relevant operations. >>> >>> >>> ### Required Resources >>> >>> #### Mailing lists >>> >>> * d...@pouchdb.incubator.apache.org >>> * priv...@pouchdb.incubator.apache.org >>> * comm...@pouchdb.incubator.apache.org >>> >>> >>> #### Subversion Directory >>> >>> n/a >>> >>> >>> #### Git Repositories >>> >>> * https://gitbox.apache.org/repos/asf/incubator-pouchdb.git >>> * https://github.com/apache/incubator-pouchdb.git >>> >>> >>> #### Issue Tracking >>> >>> GitHub Issues >>> >>> >>> #### Other Resources >>> >>> PouchDB makes significant use of GitHub Actions for CI. For 2024, we have >>> used >>> 214,556 total minutes across 53,831 job runs. This can be migrated to >>> another >>> setup if need be but it’d be great if this carefully crafted setup could >>> remain >>> in place. >>> >>> >>> ### Initial Committers >>> >>> Alba Herrerías Ramírez albaherreriasdev at gmail dot com >>> Alex Anderson alexanderandersonofandover at gmail dot com >>> Diana Belle garbados at apache dot org (CLA) >>> Diana Barsan twisteddiana at gmail dot com >>> Gareth Bowen gareth at bowenwebdesign dot co dot nz >>> Jan Lehnardt jan at apache dot org (CLA) >>> James Coglan james at neighbourhood dot ie >>> Johannes Schmidt schmidt at tf-fabrik dot de >>> Steven-John Lange sourcer85 at gmail dot com >>> >>> >>> ### Sponsors >>> >>> Alba Herrerías Ramírez Neighbourhoodie Software >>> Alex Anderson independent, formerly Medic >>> Diana Belle independent >>> Diana Barsan Medic >>> Gareth Bowen independent, formerly Medic >>> Jan Lehnardt Neighbourhoodie Software >>> James Coglan Neighbourhoodie Software >>> Johannes Schmidt Mozilla / independent >>> Steven-John Lange HZData GmbH / independent >>> >>> >>> #### Champion >>> >>> Jan Lehnardt, CouchDB PMC Chair. >>> >>> >>> #### Nominated Mentors >>> >>> PJ Fanning (fanningpj at apache dot org) >>> Jean-Baptiste Onofré (jb at nanthrax dot net) >>> >>> >>> #### Sponsoring Entity >>> >>> The Incubator >>> >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org >>> For additional commands, e-mail: general-h...@incubator.apache.org >> >> -- >> Xuanwo >> >> https://xuanwo.io/ >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org >> For additional commands, e-mail: general-h...@incubator.apache.org >> > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org -- Xuanwo https://xuanwo.io/ --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org