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 the trademark guidelines
- If you are still not sure if something meets the ASF spirit, ask one of the Kafka PMC members
Other Resources