Contribute to Hibernate ORM
Contribute to Hibernate ORM
Thanks for your interest! Hibernate ORM is an open source project and community. Contributions, of any type or any scope, drive the project forward!
Contributing does not have to mean writing/fixing code (although we certainly won’t turn away good code contributions). There are lots of ways to become part of the community and contribute…
The community page lists a few places for users to find help such as IRC and forums. Not to mention that users often look for help in other places such as StackOverflow or JBoss forums. A great way to get involved in the community is to share your knowledge with others who need it.
An extension of helping other users is to contribute documentation. Its the help that keeps on giving!
Whether you simply fix a typo, re-word an unclear section or add a whole new section/topic, improving the documentation helps everyone.
We are currently in the process of converting documentation from a monolithic DocBook-based to Asciidoctor-based guides (each guide covering a single, complete topic). A great way to help would be consolidating information from the DocBook-based manuals into a topic guide. Another way would be to review these topic guides as they are developed.
As the development team discusses design of new features or tries to prioritize work it is great to have input from users. As the saying goes, it is better to measure twice and cut once; and the more eyes we have on theses designs and the more voices in the discussions, the better measurements we get. The best places to get involved in discussing development are the #hibernate-dev IRC channel and the hibernate-dev mailing list.
Trying out releases and reporting/fixing problems is in many ways the cornerstone of open source development. It is especially critical in the case of early releases (Alphas and Betas) as we are trying to solidify APIs and contracts.
When creating a bug report, please have a test case available that can be 1.) used to reproduce the issue and 2.) used as a long-term regression test. Please see Hibernate Test Case Templates for an easy way to start!
Even if you cannot help code the fix for a bug, submitting test cases for reported bugs that did not provide tests is a great help get these bugs resolved.
Speaking of JIRA, helping us identify issues that duplicate other issues or that are out of date is a great help as well. And voting for issues that are important to you is important in terms of how the development team sets priorities.
What follows here the basics for contributing code to Hibernate ORM. The CONTRIBUTING.md file in the root of the source tree has detailed information on contributing code to Hibernate ORM; and the README.md file has details on building Hibernate ORM.
git clone firstname.lastname@example.org:hibernate/hibernate-orm.git cd hibernate-orm
Hibernate ORM uses Gradle as its build tool. See the mentioned README.md file for details if you are unfamiliar with Gradle. If you’d rather not "install" Gradle, Gradle provides a great feature called the "Gradle wrapper" that offers a zero-conf option. Simply use the gradlew (*nix) or gradlew.bat (Windows) scripts in the root source directory to run the tasks.
./gradlew clean build ./gradlew publishToMavenLocal
Good code contributions have some or all of the following characteristics: