# Contributing to ERPNext ### New Features #### Don't Repeat Yourself (DRY) We believe that the most effective way to manage a product like this is to ensure that there is minimum repetition of code. So before contributing a function, please make sure that such a feature or function does not exist else where. If it does, the try and extend that function to accommodate your use case. #### Don't create new DocTypes Unless Absolutely Necessary DocTypes are easy to create but hard to maintain. If you find that there is a another DocType with a similar functionality, then please try and extend that functionality. For example, by adding a "type" field to classify the new type of record. #### Tabs or spaces? Tabs! ### Copyright Please see README.md