The Flutter project expects Flutter‘s contributors to act professionally and respectfully. Flutter contributors are expected to maintain the safety and dignity of Flutter’s social environments (such as GitHub and Discord).
The Flutter project will not tolerate harassment in Flutter‘s community, even outside of Flutter’s public communication channels.
When multiple contributors disagree on the direction for a particular patch or the general direction of the project, the conflict should be resolved by communication. The people who disagree should get together, try to understand each other‘s points of view, and work to find a design that addresses everyone’s concerns.
This is usually sufficient to resolve issues. If you cannot come to an agreement, ask for the advice of a more senior member of the project.
Be wary of agreement by attrition, where one person argues a point repeatedly until other participants give up in the interests of moving on. This is not conflict resolution, as it does not address everyone's concerns. Be wary of agreement by compromise, where two good competing solutions are merged into one mediocre solution. A conflict is addressed when the participants agree that the final solution is better than all the conflicting proposals. Sometimes the solution is more work than either of the proposals. Embrace the yak shave.
It's always ok to ask questions. Our systems are large, and nobody will be an expert in all the systems. Once you find the answer, document it in the first place you looked. That way, the next person will be brought up to speed even quicker.
Source: xkcd, May 2012