[[governance]]
= Governance
:imagesdir: ../..


[[statusOfOptaPlanner]]
== Status of OptaPlanner

OptaPlanner is stable, reliable and scalable. It has been heavily tested with unit, integration, and stress tests, and is used in production throughout the world. One example handles over 50 000 variables with 5000 variables each, multiple constraint types and billions of possible constraint matches.


[[releaseNotes]]
== Release notes

We release every month. https://www.optaplanner.org/download/releaseNotes/[Read the release notes of each release on our website.]


[[backwardsCompatibility]]
== Backwards compatibility

OptaPlanner separates its API and implementation:

* **Public API**: All classes in the package namespace *org.optaplanner.core.api* are 100% *backwards compatible* in future releases (especially minor and hotfix releases). In rare circumstances, if the major version number changes, a few specific classes might have a few backwards incompatible changes, but those will be clearly documented in https://www.optaplanner.org/download/upgradeRecipe/[the upgrade recipe].
* **XML configuration**: The XML solver configuration is backwards compatible for all elements, except for elements that require the use of non public API classes. The XML solver configuration is defined by the classes in the package namespace **org.optaplanner.core.config**.
* **Implementation classes**: All classes in the package namespace *org.optaplanner.core.impl* are _not_ backwards compatible: they will change in future major or minor releases (but probably not in hotfix releases). https://www.optaplanner.org/download/upgradeRecipe/[The upgrade recipe] describes every such relevant change and on how to quickly deal with it when upgrading to a newer version.


[NOTE]
====
This documentation covers some `impl` classes too.
Those documented `impl` classes are reliable and safe to use (unless explicitly marked as experimental in this documentation), but we're just not entirely comfortable yet to write their signatures in stone.
====


[[communityAndSupport]]
== Community and support

For news and articles, check https://www.optaplanner.org/blog/[our blog],
https://twitter.com/OptaPlanner[twitter] (including https://twitter.com/GeoffreyDeSmet[Geoffrey's twitter])
and https://www.facebook.com/OptaPlanner[facebook]. +
*If you're happy with OptaPlanner, make us happy by posting a tweet or blog article about it.*

Public questions are welcome on https://www.optaplanner.org/community/getHelp.html[here].
Bugs and feature requests are welcome in https://issues.redhat.com/browse/PLANNER[our issue tracker].
Pull requests are very welcome on GitHub and get priority treatment! By open sourcing your improvements, you 'll benefit from our peer review and from our improvements made on top of your improvements.

Red Hat sponsors OptaPlanner development by employing the core team.
For enterprise support and consulting, take a look at https://www.optaplanner.org/product/services.html[these services].


[[relationshipWithKie]]
== Relationship with Drools and jBPM

OptaPlanner is part of the http://www.kiegroup.org[KIE group of projects].
It releases regularly (often once or twice per month) together with the http://www.drools.org/[Drools] rule engine and the http://www.jbpm.org/[jBPM] workflow engine.

image::PlannerIntroduction/Governance/kieFunctionalityOverview.png[align="center"]

See <<architectureOverview,the architecture overview>> to learn more about the optional integration with Drools.
