Project Metamorphosis: Unveiling the next-gen event streaming platformLearn More

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