Red Hat

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…

Help Other Users

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.

Improve Documentation

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.

Discuss Development

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.

Report/Investigate Bugs

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.

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.

Contribute code

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.

You will need git to obtain the source.

git clone git@github.com: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:

  • it respects the project code style - find templates for Eclipse and IntelliJ IDEA

  • a feature or bug fix has an associated set of appropriate tests

  • documentation is updated

  • the code compiles and the tests pass ./gradlew clean build

back to top