Confluent Engineering Guidelines for working with the Apache Software Foundation

 

Apache Software Foundation (ASF)

Apache Roles

Apache Way

Importance of a Healthy Apache Community for Confluent

Best Practices

Other Resources

Apache Software Foundation (ASF)

  • Non-profiting foundation managing open source softwares
    • Known and respected open source brand in industry
  • Example ASF projects
    • Apache Tomcat, Apache Hadoop, Apache Spark, Apache Kafka®

Apache Roles

  • User: downloads and uses the software
  • Contributor: helps with design, discussion, code, testing, documentation, bug reporting, etc.
  • Committer: can commit changes to an Apache project
  • Project Management Committee (PMC): approves releases, elects new committers/PMC members, protects Apache trademarks.

Apache Way

  • Meritocracy
    • Merit earns recognition and trust from within community
    • Contributors represent themselves, not the company they work for
  • Community over code
    • Healthy community lasts longer than any individual
    • Decisions made by consensus, not by force
  • Transparency
    • Mailing lists (dev, user, commit) are the public records of all Apache interactions.
    • “If it didn’t happen in lists, it didn’t happen”

Importance of a Healthy Apache Community for Confluent

  • A healthy Apache community
    • Provides more resources for design, development, reviewing, testing, etc.
    • Helps accelerate market adoption of the software
    • Enables continuous growth of the software
  • Confluent are committed to ensuring a successful relationship between Confluent and the ASF and helping contribute to a robust Apache community

Best Practices

  • Make sure all technical discussion about Apache projects stays in public mailing lists
    • Comments in JIRA and pull requests (PR) are already reflected in mailing lists
  • Equal and constructive participation
    • Your seniority at Confluent doesn’t translate to more voice in Apache
    • Be patient and professional even when others don’t
    • Be constructive with feedback
    • Be positive when receiving feedback for yourself too
  • Avoid group thinking
    • Confluent may not always have the best ideas
    • Healthy debate is a good thing: feel free to take a different position to your co-workers on the public mailing lists
  • Thorough discussion
    • Avoid opening a jira, submitting a jira and a PR, and committing them all in 5 mins. Leave enough time for discussions/reviews to complete.
  • Don’t put Confluent specific stuff in Apache documents or landing pages
    • No documentation in Apache Kafka should point to a link to Confluent
    • Don’t share Confluent customer names or information in Apache (e.g. when attaching logs to a jira, make sure customer-specific info such as machine hostnames are obfuscated)
    • Avoid customer-specific terminologies or use cases in feature proposals
  • Invest time in the community
    • Answer questions from the mailing list
    • Create opportunities for new contributors
    • Review KIP/PR from non-Confluent contributors
  • PMC members have more responsibilities
    • Promote new committer/PMC members regardless of their affiliation
    • Be proactive in protecting ASF marks, especially if Confluent is the violator. If the issue takes time to resolve, inform the PMC first.
  • If you are going to talk about Apache projects in public, follow thetrademark guidelines
  • If you are still not sure if something meets the ASF spirit, ask one of theKafka PMC members

Other Resources

Nous utilisons des cookies afin de comprendre comment vous utilisez notre site et améliorer votre expérience. Cliquez ici pour en apprendre davantage ou pour modifier vos paramètres de cookies. En poursuivant la navigation, vous consentez à ce que nous utilisions des cookies.