Igniters, We have several types of APIs: 1) Public - intended for Ignite users. E.g.: IgniteCache. 2) Private - used only by Ignite developers. E.g.: almost everything inside "org.apache.ignite.internal". 3) Semi-private - is not expected to be used by users, but can be used by 3rd-party developers. E.g.: PluginProvider.
I'd like to propose defining "stability" for p.3 type of APIs. That is. if someone develops Ignite extensions, he might need to know what is the probability of breaking change of that API. Nice example of such approach is Hadoop APIs. The reason why I started thinking about it is "platforms" migration from GridGain to Ignite. Currently our platforms API are far from ideal from external developer's point of view. This was not a problem in GridGain since the code was private, but it can become a problem in open-sourced Ignite. And instead of spending time on making APIs nice and clean I'd like to make platforms work first. During this transition time it would be nice to mark relevant APIs as "unstable" so that potential 3rd-party devs will be aware of a risk when using them. Thoughts? Vladimir.