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.

Reply via email to