... as we enjoy great advantages from the inventions of others, we should be glad of an opportunity to serve others by any invention of ours; and this we should do freely and generously. – Benjamin Franklin

There are several ways how to help midPoint project by doing a volunteer work. Any kind of help will be appreciated therefore you can choose freely any kind of work (see Openness). However, please coordinate your efforts with the rest of the team on midPoint-dev mailing list to avoid duplication of work.

It may be difficult to find out where to help. Therefore we have provided some hints where to start.

Testing

Help with testing the product is always appreciated. There is no such thing as too much testing. We would like our products to be reliable and useful, therefore it has to be well tested. However, it is almost impossible to predict all the ways in which the product will be used. Therefore we appreciate any help with testing the product.

There are two ways to test the product depending on your pain tolerance:

Documentation

The midPoint documentation is maintained in this wiki. The documentation is never complete enough and may get outdated surprisingly quickly. We would appreciate any effort to improve the documentation by several factors starting from language correction, reviews, pointing out outdated or missing parts to writing new wiki pages from scratch.

Development

Any kind of contribution is appreciated ranging from simple bug fixes to a large feature set contributions. It is easy to contribute code to midPoint using Git and our mailing lists. The Development Participation page provides the details. Please also make sure to read Code Contribution Guidelines.

Feel completely free to work on bugfixes and simple improvements. We will gladly accept these any time and you do not need to coordinate with midPoint core team to do this.

However most of the midPoint development is quite dynamic - almost agile. The core team is used to work together and it is not easy for a new member to get into the full speed of the development. Therefore it takes some time to get into the day-to-day development clock of the core team. A possible way to start is to engage yourself in some of community tasks, described below.

Community Tasks

If your time is limited, there are some development tasks that are relatively independent from the "primary" development and therefore can be done by almost anyone having the required skills. To help identify such tasks they are tagged with community label in Jira. The current list is provided below. Feel free to pick any of these if you are interested. Just please coordinate your efforts with others using the midPoint-dev mailing list.

Larger Parts

In case you are interested in a larger portion of work on midPoint and have enough available time and skills please contact us using midPoint-dev mailing list or any other communication channel. We would be glad to discuss what parts of the development you can help with and even start a longer-term cooperation. The cooperation and contribution process is described on Development Participation page. MidPoint code-base is open to anyone (see Openness). Just please make sure you coordinate your idea with the core development team early in your development. We want to help you to make your work efficient and make sure that we will not accidentally ruin your effort.

Design and Architecture

The development of midPoint is guided by the information provided on Architecture and Design page and its subpages. Please feel free to review and comment on anything that is stated there. The architecture is not a dogma and we try to listen to any reasonable argument. The best way how to discuss general midPoint topics is to use midPoint mailing list. For a more in-depth topics regarding midPoint implementation the midPoint-dev is a more suitable place.

Academia

midPoint tends to be a next generation identity management product built on top of lightweight and proven technologies, therefor cooperation with academic sector is more than desired to validate and set new trends in the Identity management field. The cooperation and participation with academia is described on Academia page.