Skip to content

Contribution Guidelines

asbasawaraj edited this page Oct 30, 2018 · 27 revisions

Introduction (for first timers)

Thank you for your interest in contributing to an open source project! Our world works on people taking initiative to contribute to the "commons" and contributing to open source means you are contributing to make things better for not only yourself, but everyone else too! So thank you for taking this initiative.

Great projects also work because of great quality. Open source or not, the user really cares that things should work as they are advertised, and consistently. New features should follow the same pattern and so that users don't have to learn things again and again.

Developers who maintain open source also expect that you follow certain guidelines. These guidelines ensure that developers are able to quickly give feedback on your contribution and how to make it better. Most probably you might have to go back and change a few things, but it will be in the interest of making this process better for everyone. So be prepared for some back and forth.

Contribution Guides

Please read the following guidelines carefully when contributing:

  1. Preparing a Contribution Proposal
  2. Module Maintainers
  3. Naming Guidelines
  4. Form Design Guidelines
  5. Integration Design Guidelines
  6. Updating Documentation
  7. Coding Standards
  8. Pull Request Checklist

Feedback Policy

We will strive for a "Zero Pull Request Pending" policy, inspired by "Zero Inbox". This means, that if the pull request is good, it will be merged within a day and if it does not meet the requirements, it will be closed.

What if my Pull Request is closed?

Don't worry, fix the problem and re-open it!

Why do we follow this policy?

This is because ERPNext is at a stage where it is being used by thousands of companies and introducing breaking changes can be harmful for everyone. Also, we do not want to stop the speed of contributions and the best way to encourage contributors is to give fast feedback.

Happy contributing!

Clone this wiki locally