# Contributing to the development of MapStruct You love MapStruct but miss a certain feature? You found a bug and want to report it, or even better, fix it yourself? That's great! MapStruct is all open source and your help is highly appreciated. * Source code: [http://github.com/mapstruct/mapstruct](http://github.com/mapstruct/mapstruct) * Issue tracker: [https://github.com/mapstruct/mapstruct/issues](https://github.com/mapstruct/mapstruct/issues) * Discussions: Join the [mapstruct-users](https://groups.google.com/forum/?fromgroups#!forum/mapstruct-users) Google group * CI build: [https://mapstruct.ci.cloudbees.com](https://mapstruct.ci.cloudbees.com) MapStruct follows the _Fork & Pull_ development approach. To get started just fork the [MapStruct repository](http://github.com/mapstruct/mapstruct) to your GitHub account and create a new topic branch for each change. Once you are done with your change, submit a [pull request](https://help.github.com/articles/using-pull-requests) against the MapStruct repo. When doing changes, keep the following best practices in mind: * Provide test cases * Update the [reference documentation](mapstruct.org/documentation) on [mapstruct.org](mapstruct.org) where required * Discuss new features you'd like to implement at the [Google group](https://groups.google.com/forum/?fromgroups#!forum/mapstruct-users) before getting started * Create one pull request per feature * Provide a meaningful history, e.g. squash intermediary commits before submitting a pull request ## License MapStruct is distributed under the [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0.html). By submitting a pull request you agree to license your work under that license and you affirm that your contribution doesn't violate any rights of other parties.