Governance

Project governance and decision-making process

Project Governance

This document describes the governance model for my open source projects. The goal is to provide transparency about how decisions are made and how the community can participate.

Roles and Responsibilities

Project Owner

As the project owner and primary maintainer, I am responsible for:

  • Setting the overall direction and vision for the project
  • Reviewing and merging pull requests
  • Managing releases and versioning
  • Ensuring code quality and security standards
  • Responding to issues and community feedback
  • Making final decisions when consensus cannot be reached

Contributors

Contributors are community members who contribute to the project through:

  • Submitting bug reports and feature requests
  • Contributing code via pull requests
  • Improving documentation
  • Helping other users in discussions
  • Reviewing pull requests and providing feedback

All contributions are valued and appreciated.

Decision-Making Process

Day-to-Day Decisions

Routine decisions about bug fixes, minor features, and documentation updates are made by the project owner based on:

  • Alignment with project goals
  • Code quality and test coverage
  • Impact on existing functionality
  • Community feedback

Significant Changes

For significant changes such as breaking changes, major new features, or architectural decisions:

  1. Proposal - Open an issue describing the proposed change
  2. Discussion - Allow time for community feedback (typically 1-2 weeks)
  3. Decision - The project owner makes the final decision, considering all feedback
  4. Documentation - Significant decisions are documented in the repository

Conflict Resolution

If disagreements arise:

  1. Parties discuss the issue openly and respectfully
  2. Seek compromise and common ground
  3. If no consensus is reached, the project owner makes the final decision
  4. Decisions are documented with rationale

Contributing

See the Contributing Guidelines for detailed information on how to contribute to the project.

Code of Conduct

All participants in the project are expected to:

  • Be respectful and inclusive
  • Welcome newcomers and help them get started
  • Accept constructive criticism gracefully
  • Focus on what is best for the community
  • Show empathy towards other community members

Unacceptable behavior includes:

  • Harassment, discrimination, or personal attacks
  • Trolling or inflammatory comments
  • Publishing others’ private information
  • Other conduct that would be inappropriate in a professional setting

Communication Channels

  • GitHub Issues - For bug reports, feature requests, and discussions
  • Pull Requests - For code contributions and reviews
  • Discussions - For general questions and community conversations

Versioning and Releases

Projects follow Semantic Versioning:

  • MAJOR - Incompatible API changes
  • MINOR - New functionality in a backward-compatible manner
  • PATCH - Backward-compatible bug fixes

Release notes are provided with each release documenting changes.

Security

Security vulnerabilities should be reported privately via GitHub’s security advisory feature or by contacting the project owner directly. Please do not open public issues for security vulnerabilities.

Licensing

Each project specifies its license in the repository. Contributors agree that their contributions will be licensed under the same terms.

Changes to Governance

This governance document may be updated as the project evolves. Significant changes will be announced and community feedback will be considered.

Latest Posts

MCP Servers - Teaching AI to Read the Manual (So You Don't Have To)
MCP Servers - Teaching AI to Read the Manual (So You Don't Have To)

We’ve all been there. It’s 2am, you’re knee-deep in a ClickHouse query that refuses to cooperate, the Helm chart values file looks like it was written in ancient Sumerian, and your AI assistant confidently suggests a Karpenter configuration option that hasn’t existed since version 0.27. The AI is brilliant, creative, and occasionally a magnificent liar when it comes to niche technical documentation.

Kafka Auth Handler Goes Multi-Cloud
Kafka Auth Handler Goes Multi-Cloud

Back in December 2024, I wrote about gcp-kafka-auth-handler, a utility I created to bridge the authentication gap between Apache Beam Dataflow and GCP Managed Kafka. Since then, the project has evolved significantly as part of our broader multi-cloud journey. Today, I’m pleased to announce that the library has been renamed to kafka-auth-handler and now supports both GCP and AWS MSK.

Building an Open Deployment Framework with GitHub Actions
Building an Open Deployment Framework with GitHub Actions

Managing CI/CD pipelines across multiple repositories can quickly become unwieldy. Each project needs versioning, container builds, deployments, and releases—often with subtle variations that lead to duplicated workflow code. This post introduces an open deployment framework built entirely on GitHub Actions, designed to bring consistency and reusability to cloud-native deployments.