What is a maintainer?
Of course all the committers own the code and should be committed to making it all as good as possible. But we want to ensure that major areas have at least one person (and preferably two) who act as the defacto owners for each logical subsystem. The responsibilities of a maintainer are the following:
- Review code contributions that effect your area as promptly as possible
- Provide the final word on API design for this system
- Act as the point-of-contact for questions from users and other committers that relate to this system
- Have a hygene-related roadmap of items to help make this area of the code base shiny and beautiful. This includes the following:
- Code quality: prettiness, readability, etc
- Documentation
- Test coverage and test quality
- Help triage bugs related to your area of expertise
Subsystem Maintainers
System |
Packages |
Maintainers |
Notes |
---|---|---|---|
Producer (java, scala) |
kafka.producer, kafka.javaapis |
|
|
Consumer (java, scala) |
kafka.consumer, kafka.javaapis |
|
|
Network Layer |
kafka.network |
jay |
|
Log |
kafka.message, kafka.log |
jay |
|
Replication |
|
|
|
Command Line Tools |
|
|
|
System Tests |
/system_tests |
|
|
API layer |
kafka.server.KafkaApis, kafka.api |
|
This includes the protocol definition for each of the APIs as well as the request logic in KafkaApis. |