Dear Apache members, Over the past 2 months, the Kafka Apache incubator project has been trying to release its very first version in Apache. After 7 RCs, we are still not done. Part of this is because most of us are new to the Apache release process and are learning things along the way. However, I think Apache can do a better job in the incubating process to make releases much less painful. In the following, I will summarize some of problems that we had experienced. This is not an accusation, nor is it personal. I just hope that we can all learn from our experience so that Kafka and other incubator projects can release more smoothly in the future.
1. There is no good example to follow. As a new incubator project, the natural thing for us to do when it comes to releasing our code is to follow what other Apache projects do. However, more than once, the feedback that we got is that those are not good examples to follow. It seems that those "bad" examples are not isolated cases. 2. Different Apache members have different interpretations of the same rule. It seems that there is no consensus on some of the basic rules even among Apache members. For example, what constitutes a source distribution and what should be put in the NOTICE file? Since all it takes is one negative vote to block a release, this increases the turnover rate of RCs. 3. Not enough constructive and comprehensive suggestions. Some of the issues that are present in Kafka RC7 exist in RC1. Those issues could have been resolved much earlier had there been more constructive and comprehensive feedbacks from early on. Instead, often, the feedback just points out the violation of one or two issues that are enough to block a release. People like Ant Edler have made some constructive suggestions and we really appreciate that. We could use more suggestions like that. 4. Not enough flexibility in applying the rules. Some of the rules don't make common sense. For example, if we publish a new RC that simply fixes a few lines in NOTICE/LICENSE. We are still required to go through a full 3-day vote in Kafka and another full 3-day vote in Apache general. This, coupled with the high turnover rate of RCs, can delay the release for a significant long time. Both Chris Douglas and Ant Edler wanted to relax the rule slightly to help us speed things up. However, not every Apache member tolerates such flexibility. Again, all it takes is just one vote to kill a release. To summarize, our experience of releasing in Apache has not been very pleasant so far. I am not sure if our experience is the exception or the norm among incubator projects. In any case, I sincerely hope that at least some of those concerns can be addressed in Apache to make the release process more enjoyable, especially for new comers. Thanks, Jun