Hi Ahmet,

Thanks for the kind words!

Our bylaws were established in 2014 after some concern that the ASF
itself didn't have specific enough rules for all of the various types of
decisions our project needed to reach, as well as those rules being hard
to parse and locate on the websites. We wanted to make it easier for
contributors, committers and the PMC to understand how we intend to
run the CouchDB project, and to have a clear reference for the future.

As a community, we were in a time of great change. Two major code
contributions were on their way into the code base that would result in
CouchDB 2.0 after significant refactoring and some backward
incompatibility. There was dissent within our development community
about the direction of the product: were we primarily a "two-tier"
development environment, or a database with an HTTP API and JSON data
format? And we would soon be changing over from Subversion to Git,
something our developers really wanted, but ASF Infrastructure was slow
to adopt and embrace. We had to fight long and hard, and became the
first project in the ASF to be allowed to use git officially. As part
of this process we decided to move from Commit-Then-Review (CTR) to
Review-Then-Commit (RTC), based on the popularity of the GitHub Pull
Request model. This allows us to keep the master branch of our repo
always release-able, something we struggled with for years prior.

The discussion started here:

https://lists.apache.org/thread.html/f824e8d3c490460c739f6d769e1de02b24bf09fa2863e88116cb0577@1398714830@%3Cdev.couchdb.apache.org%3E

And continued here:

https://lists.apache.org/thread.html/40d49b259170f43c0908706c09cf5b16e703365b7989ba79a1b8d9e6@1399489677@%3Cdev.couchdb.apache.org%3E

We then had a small amendment to the bylaws to correct an oversight:

https://lists.apache.org/thread.html/e270c4fbb4374ae98ed73583ff9ff5d6a1660374f7a8084c1d795ea8@1399528340@%3Cdev.couchdb.apache.org%3E
https://lists.apache.org/thread.html/03fdda4b8ec8cd7926f95daa5dfe94b7af5c568d39abda2e75918d87@1405991529@%3Cdev.couchdb.apache.org%3E

We have had, to my knowledge, only one other modification to the bylaws
since then, which was to clarify how API deprecations will be handled
in future versions by requiring their announcement on our dev@ list
(actual commits only go to notifications@):

https://lists.apache.org/thread.html/aa6d6ace4be652f3b4bb380b92ee9248d84dece7fd3281406446ca05@%3Cdev.couchdb.apache.org%3E

Finally, we also discussed, voted on, and adopted our Code of Conduct,
drawn from those written by many similar communities around the open
source world.  A few short months later, that CoC would be adopted by
the ASF at large. The CoC is not a cudgel, it's a way for us to ensure
that the values that brought the team together in the first place
persist past the founders' direct involvement in the project.

Not sure it's worth rehashing the CoC discussion now that it's ASF-wide,
but if you are interested in the gory details, here they are:

https://lists.apache.org/thread.html/18f059c0582a4700992cbb302c2539d235215226cad69d82abdc9444@1398713334@%3Cdev.couchdb.apache.org%3E
https://lists.apache.org/thread.html/0cf65d2715348229f87e4b572d1765802857755fab94ff9d8cd1924f@1400368799@%3Cdev.couchdb.apache.org%3E
https://lists.apache.org/thread.html/c3f5e3a462a0ab1ded3af5eec0ac374aa647f3c1e55e7cd7e6ba8d5d@1400531457@%3Cdev.couchdb.apache.org%3E

And the vote thread:

https://lists.apache.org/thread.html/f1621bfe5bbf4dbf6e799e338e440afb58cf58b6b91bc42a9f7622b4@1407028730@%3Cdev.couchdb.apache.org%3E

I think investment in community pays off over the long haul. Take the
time to discuss and debate the reasons for your bylaws. One key point
for us was: how would vetos work? Did we feel right about a single
person being able to veto a technical code change or release? And in
what situations would the PMC be empowered to override the community
(though in general, they don't ever want to do that!) Discuss how the
ASF CoC can and should be used in your community to ensure good faith,
positive discussions. It shouldn't be seen as a scary document, but
something that helps remind people to be nice to each other, and to
work towards the betterment of the project. The discussions together
will highlight the areas in which you need work, and should spawn a
series of actions that continuously improve your community.

I'll be speaking at this year's ApacheCon in Montreal about other
communities from which the ASF maybe can learn a thing or two. If
you're able to attend, I'd love you to come! The talk is on Thursday.
If you're not coming, the talk should be on YouTube a month or two
later.

If you have any lingering questions about our bylaws, or the process
by which we adopted them, please feel free to ask.

-Joan "good rules make good collaborators" Touzet


----- Original Message -----
> From: "Ahmet Altay" <al...@google.com.INVALID>
> To: dev@couchdb.apache.org
> Sent: Friday, August 10, 2018 4:27:33 PM
> Subject: Questions about CouchDB bylaws
> 
> Hi all,
> 
> There was a recent discussion on Apache Beam related to adding bylaws
> to
> that project. I wanted to look around to other projects with
> published
> bylaws and found CouchDB bylaws [1] to be a well written document. I
> would
> like to learn from your experience.
> 
> Would you be able to share some context about how did you come to
> this
> version? What kind of considerations you had? What was tradeoffs? And
> how
> the community built consensus around it?
> 
> Please feel free to point me to any existing notes.
> 
> Thank you,
> Ahmet
> 
> [1] http://couchdb.apache.org/bylaws.html
> 

Reply via email to