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

Reply via email to