

<!DOCTYPE html>
<html class="writer-html5" lang="en" >
<head>
  <meta charset="utf-8" />
  
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  
  <title>Getting Started &mdash; Apache Cassandra Documentation v4.0-rc2</title>
  

  
  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />

  
  

  
  

  

  
  <!--[if lt IE 9]>
    <script src="../_static/js/html5shiv.min.js"></script>
  <![endif]-->
  
    
      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
        <script src="../_static/jquery.js"></script>
        <script src="../_static/underscore.js"></script>
        <script src="../_static/doctools.js"></script>
    
    <script type="text/javascript" src="../_static/js/theme.js"></script>

    
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Building and IDE Integration" href="ide.html" />
    <link rel="prev" title="Contributing to Cassandra" href="index.html" /> 
</head>

<body class="wy-body-for-nav">

   
  <div class="wy-grid-for-nav">
    
    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
      <div class="wy-side-scroll">
        <div class="wy-side-nav-search" >
          

          
            <a href="../index.html" class="icon icon-home"> Apache Cassandra
          

          
          </a>

          
            
            
              <div class="version">
                4.0-rc2
              </div>
            
          

          
<div role="search">
  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
    <input type="text" name="q" placeholder="Search docs" />
    <input type="hidden" name="check_keywords" value="yes" />
    <input type="hidden" name="area" value="default" />
  </form>
</div>

          
        </div>

        
        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
          
            
            
              
            
            
              <ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
<li class="toctree-l1"><a class="reference internal" href="../new/index.html">New Features in Apache Cassandra 4.0</a></li>
<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="index.html">Contributing to Cassandra</a><ul class="current">
<li class="toctree-l2 current"><a class="current reference internal" href="#">Getting Started</a><ul>
<li class="toctree-l3"><a class="reference internal" href="#initial-contributions">Initial Contributions</a></li>
<li class="toctree-l3"><a class="reference internal" href="#updating-documentation">Updating documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="#answering-questions-on-the-user-list">Answering questions on the user list</a></li>
<li class="toctree-l3"><a class="reference internal" href="#reviewing-and-testing-a-submitted-patch">Reviewing and testing a submitted patch</a></li>
<li class="toctree-l3"><a class="reference internal" href="#investigate-and-or-fix-a-reported-bug">Investigate and/or fix a reported bug</a></li>
<li class="toctree-l3"><a class="reference internal" href="#create-unit-tests-and-dtests">Create unit tests and Dtests</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="ide.html">Building and IDE Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="testing.html">Testing</a></li>
<li class="toctree-l2"><a class="reference internal" href="patches.html">Contributing Code Changes</a></li>
<li class="toctree-l2"><a class="reference internal" href="code_style.html">Code Style</a></li>
<li class="toctree-l2"><a class="reference internal" href="license_compliance.html">License Compliance</a></li>
<li class="toctree-l2"><a class="reference internal" href="how_to_review.html">Review Checklist</a></li>
<li class="toctree-l2"><a class="reference internal" href="how_to_commit.html">How-to Commit</a></li>
<li class="toctree-l2"><a class="reference internal" href="documentation.html">Working on Documentation</a></li>
<li class="toctree-l2"><a class="reference internal" href="ci.html">Jenkins CI Environment</a></li>
<li class="toctree-l2"><a class="reference internal" href="dependencies.html">Dependency Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="release_process.html">Release Process</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li>
<li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li>
<li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li>
</ul>

            
          
        </div>
        
      </div>
    </nav>

    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">

      
      <nav class="wy-nav-top" aria-label="top navigation">
        
          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
          <a href="../index.html">Apache Cassandra</a>
        
      </nav>


      <div class="wy-nav-content">
        
        <div class="rst-content">
        
          

















<div role="navigation" aria-label="breadcrumbs navigation">

  <ul class="wy-breadcrumbs">
    
      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
        
          <li><a href="index.html">Contributing to Cassandra</a> &raquo;</li>
        
      <li>Getting Started</li>
    
    
      <li class="wy-breadcrumbs-aside">
        
          
            <a href="../_sources/development/gettingstarted.rst.txt" rel="nofollow"> View page source</a>
          
        
      </li>
    
  </ul>

  
  <hr/>
</div>
          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
           <div itemprop="articleBody">
            
  <div class="section" id="getting-started">
<span id="gettingstarted"></span><h1>Getting Started<a class="headerlink" href="#getting-started" title="Permalink to this headline">¶</a></h1>
<div class="section" id="initial-contributions">
<h2>Initial Contributions<a class="headerlink" href="#initial-contributions" title="Permalink to this headline">¶</a></h2>
<dl class="simple">
<dt>Writing a new feature is just one way to contribute to the Cassandra project.  In fact, making sure that supporting tasks, such as QA, documentation and helping users, keep up with the development of new features is an ongoing challenge for the project (and most open source projects). So, before firing up your IDE to create that new feature, we’d suggest you consider some of the following activities as a way of introducing yourself to the project and getting to know how things work.</dt><dd><ul class="simple">
<li><p>Add to or update the documentation</p></li>
<li><p>Answer questions on the user list</p></li>
<li><p>Review and test a submitted patch</p></li>
<li><p>Investigate and fix a reported bug</p></li>
<li><p>Create unit tests and d-tests</p></li>
</ul>
</dd>
</dl>
</div>
<div class="section" id="updating-documentation">
<h2>Updating documentation<a class="headerlink" href="#updating-documentation" title="Permalink to this headline">¶</a></h2>
<p>The Cassandra documentation is maintained in the Cassandra source repository along with the Cassandra code base. To submit changes to the documentation, follow the standard process for submitting a patch (<a class="reference internal" href="patches.html#patches"><span class="std std-ref">Contributing Code Changes</span></a>).</p>
</div>
<div class="section" id="answering-questions-on-the-user-list">
<h2>Answering questions on the user list<a class="headerlink" href="#answering-questions-on-the-user-list" title="Permalink to this headline">¶</a></h2>
<p>Subscribe to the user list, look out for some questions you know the answer to and reply with an answer. Simple as that!
See the <a class="reference external" href="http://cassandra.apache.org/community/">community</a> page for details on how to subscribe to the mailing list.</p>
</div>
<div class="section" id="reviewing-and-testing-a-submitted-patch">
<h2>Reviewing and testing a submitted patch<a class="headerlink" href="#reviewing-and-testing-a-submitted-patch" title="Permalink to this headline">¶</a></h2>
<p>Reviewing patches is not the sole domain of committers, if others have reviewed a patch it can reduce the load on the committers allowing them to write more great features or review more patches. Follow the instructions in <span class="xref std std-ref">_development_how_to_review</span> or create a build with the patch and test it with your own workload. Add a comment to the JIRA ticket to let others know what you have done and the results of your work. (For example, “I tested this performance enhacement on our application’s standard production load test and found a 3% improvement.”)</p>
</div>
<div class="section" id="investigate-and-or-fix-a-reported-bug">
<h2>Investigate and/or fix a reported bug<a class="headerlink" href="#investigate-and-or-fix-a-reported-bug" title="Permalink to this headline">¶</a></h2>
<p>Often, the hardest work in fixing a bug is reproducing it. Even if you don’t have the knowledge to produce a fix, figuring out a way to reliable reproduce an issues can be a massive contribution to getting a bug fixed. Document your method of reproduction in a JIRA comment or, better yet, produce an automated test that reproduces the issue and attach it to the ticket. If you go as far as producing a fix, follow the process for submitting a patch (<a class="reference internal" href="patches.html#patches"><span class="std std-ref">Contributing Code Changes</span></a>).</p>
</div>
<div class="section" id="create-unit-tests-and-dtests">
<h2>Create unit tests and Dtests<a class="headerlink" href="#create-unit-tests-and-dtests" title="Permalink to this headline">¶</a></h2>
<p>Test coverage in Cassandra is improving but, as with most code bases, it could benefit from more automated test coverage. Before starting work in an area, consider reviewing and enhancing the existing test coverage. This will both improve your knowledge of the code before you start on an enhancement and reduce the chances of your change in introducing new issues. See <a class="reference internal" href="testing.html#testing"><span class="std std-ref">Testing</span></a> and <a class="reference internal" href="patches.html#patches"><span class="std std-ref">Contributing Code Changes</span></a> for more detail.</p>
</div>
</div>


           </div>
           
          </div>
          <footer>
    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
        <a href="ide.html" class="btn btn-neutral float-right" title="Building and IDE Integration" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
        <a href="index.html" class="btn btn-neutral float-left" title="Contributing to Cassandra" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
    </div>

  <hr/>

  <div role="contentinfo">
    <p>
        &#169; Copyright 2020, The Apache Cassandra team.

    </p>
  </div>
    
    
    
    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
    
    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
    
    provided by <a href="https://readthedocs.org">Read the Docs</a>. 

</footer>
        </div>
      </div>

    </section>

  </div>
  

  <script type="text/javascript">
      jQuery(function () {
          SphinxRtdTheme.Navigation.enable(true);
      });
  </script>

  
  
    
   

</body>
</html>