Hi everybody, I guess we all have noticed that the Flink community is quickly growing and more and more contributions are coming in. Recently, a few contributions proposed new features without being discussed on the mailing list. Some of these contributions were not accepted in the end. In other cases, pull requests had to be heavily reworked because the approach taken was not the best one. These are situations which should be avoided because both the contributor as well as the person who reviewed the contribution invested a lot of time for nothing.
I had a look at our “How to contribute” and “Coding guideline” pages and think, we can improve them. I see basically two issues: 1. The documents do not explain how to propose and discuss new features and improvements. 2. The documents are quite technical and the structure could be improved, IMO. I would like to improve these pages and propose the following additions: 1. Request contributors and committers to start discussions on the mailing list for new features. This discussion should help to figure out whether such a new feature is a good fit for Flink and give first pointers for a design to implement it. 2. Require contributors and committers to write design documents for all new features and major improvements. These documents should be attached to a JIRA issue and follow a template which needs to be defined. 3. Extend the “Coding Style Guides” and add patterns that are commonly remarked in pull requests. 4. Restructure the current pages into three pages: a general guide for contributions and two guides for how to contribute to code and website with all technical issues (repository, IDE setup, build system, etc.) Looking forward for your comments, Fabian