Hi All, Over the last few months, we have had a pretty good track in commits -- which is great! However I think we can do better working as a team on this. I am sure others also feel the same way. For example:
- Some code is still landing in master with little or absence of review in JIRA nor the mailing list - There is insufficient discussion, sometimes a short word on IRC or out of sight of the mailing list. Some of the discussions feel more like a monologue, or don't reach a satisfactory conclusion or clear decision. For example, the last discussion about metadata never reached a conclusion and as a result, no changes have been made. I really want to find a way to fix that. It is our responsibility to fix that. The project should count as a real team work. A team is not a collection of individuals working on their side where`git commit` or `jira close` are the only meeting points. That also opens the doors to more conflicts, since people have to react against a thing that have been done. We should discuss and review more the code (and a review should be answered). Actually I do think that no code should land in master without at least one or more (depending how sensitive the patch is) public review. But we may be less strict. At least nothing should come without a context. It’s also true for the commits messages. There may be a discussion on IRC that explain that but IRC is not a reliable source. People should understand the why and the what for without having to read the code and should understand the direction and eventually discuss it before it is taken. All of these only require some guidelines. But we should start to enforce them and make them public. Developers should act together again. In term of action I think we could: - have review system with votes on the patch before inclusion in the master (as in the apache https project). Many projects are working like this and this is part of their success. We should of course explain why a review is important and make sure that reviews are not transformed in a fight between some egos. - have some guidelines on how to discuss features - make it clear that IRC is not the place where decisions are took and enforce the ML usage - make sure that people are writing good commit messages. Some projects (erlang. linux are coming to my mind) make sure to fix them before they land in maint or master branches. Thoughts? - benoit NB: this a repost on public @dev mailing-list from the PMC mailing-list.