Hi everyone,

For the Grace Hopper Open Source Day mentoring hackathon [1] on Sept. 16 I
created a short guide to handout to participants interested in contributing
to Cassandra so they could get quickly get started working on LHF tickets.
There were about 5 participants and most of them were able to quickly set
up their environments and have a simple "Hello World" patch running in a
local Cassandra container with the help of this guide.

While no hackathon participant got their patches committed, I considered it
successful that most participants with no prior experience got started
really fast and were able to have a look-and-feel of their patches running
locally.

I would like to propose adding this docker-based quick start guide
on CASSANDRA-18035 [2] and would like to hear your opinions and feedback. A
preliminary patch is available if anyone is interested in reviewing it.

Even though we have extensive development instructions available on [3], I
think these can be quite daunting for newcomers that just want to quickly
hack a simple patch, so I think there is value in providing a more
succinct and hands-on docker-based tutorial in-tree.

I think this guide will be particularly useful to new users that want to
contribute non-distributed changes like vtables and configuration, since
they can easily play around with their patches in a local container
environment.

While I don't think anyone will oppose providing nice instructions to
newcomers, a couple of contention points I can think of in this initiative
are:
a) Shipping a new QUICKSTART.md guide in-tree.
b) Shipping a vanilla Dockerfile in-tree, for local testing purposes only.

Regarding a) if there's any objection to adding a new file, perhaps we
could merge these instructions in the "CONTRIBUTING.md" guide, or
alternatively add them to the website documentation.

Regarding b), while we already maintain a docker image in cassandra-builds
[4], that is more targeted to automated testing. I don't expect a
significant maintenance burden for this in-tree image since it's mostly
targeted at manual local testing, but we should make sure we warn users
that this Dockerfile has no guarantees and should not be used in production.

Let me know what do you think,

Paulo

[1] - https://ghc.anitab.org/programs-and-awards/open-source-day/
[2] - https://issues.apache.org/jira/browse/CASSANDRA-18035
[3] - https://cassandra.apache.org/_/development/index.html
[4] - https://github.com/apache/cassandra-builds/tree/trunk/docker

Reply via email to