When coming into someone else's project, be thoughtful. In particular:
- Don't add new testing/environmental dependencies within a functional commit.
- Make your changes using the current dependencies if possible, don't change or add dependencies without a very good reason.
- If you cannot successfully build your patch without adding new dependencies, then talk to the maintainer to make sure that the dependencies you want to add are something they feel comfortable with.
- Keep lines of communication open and get feedback on how to proceed before burning cycles on ideas that might not fit with the project you're trying to contribute to.
Speaking generally, maintaining open source libraries and applications is hard work. The maintainer of the project is the one in the best position to make decisions on what is right for their projects, and so contributors need to be continuously mindful of that fact. This does not mean that contributors should not attempt to influence the workflow of a project or to challenge the assumptions of its maintainers, but just that they should do so in a way that is both tactful and productive.