In ERPNext Pune Community Meetup II, we have detailed discussion regarding contribution.
I am sharing some points here, please add your views if you feel anything need to add.
It will help to make document and share with service providers and end users.
Why should we contribute?
We will get following advantages if we contribute features into core product
1) Upgradable System:
We will update our system any time to get latest fix and new features.
2) Low Maintenance Cost:
Once we contribute feature in core product, then core team and other contributor maintain/update our feature while developing new feature or pushing any fix for existing feature. It will save developer time and cost.
3) Extend Functionality:
Other user can also use our feature and give valuable feedback on it. Our feature will work as plugin and others can easily extend it.
4) Quality Check:
Before contribution our feature goes from some quality check process as code review by experienced developer, test cases, and fixing patches for existing features. It will ensure our development is bug free and as to standards.
We will have user manual and our features get well documented with the help of other contributors
As lots of user test and use contributed feature, it will ensure that it will pass all use cases for different users and .different scenario.
7) Sustainable Project:
As large collaborator will working on Project, it will ensure that ERPNext will be sustainable. if any service providers fails to give service, you will get service from another many service providers and developer as project sustains.