Hi everyone, with great interest I have read all discussions [1][2][3] w.r.t. the (API?) compatibility issues. The feedback coming from the Flink user's point of view is very valuable. Many thanks for it. In these discussions, there were many explanations that talked about backward and forward compatibility and broke down to API and ABI compatibility. Since each time when a developer referred to compatibility, there was an implicit context behind, which might cause confusion, e.g. the forward compatibility mentioned in the API compatibility discussion thread[1] was actually the Flink ABI backward compatibility mentioned in FLIP-196. The original requirement posted in the API compatibility discussion thread[1] was actually Flink ABI forward compatibility, afaik. I will explain it in the proposal. They were all correct because they talked from different perspectives. But it was hard for audiences to follow it.
I’d like to start a discussion about backward/forward compatibility from both users perspective and Flink perspective. I Tried to put myself in users' shoes and then to see whether we could do anything to reduce users' effort for upgrading Flink. The proposal contains four parts: - Clarify the definition of API and ABI, backward and forward compatibility to make sure everyone is on the same page. - Analyze and classify issues from users' feedback. - Summarize the definition and the gap between the current status and what users need. - Proposed changes Please find the details on https://cwiki.apache.org/confluence/display/FLINK/FLIP-207%3A+Flink+backward+and+forward+compatibility Looking forward to your feedback. Many thanks. best regards Jing