need for a `contrib` subdirectory to encourage unofficial contribution and support
Created by: Superjomn
A discussion with @panyx0718 that TensorFlow has a contrib/
subdirectory to offer an unofficial supper, there are some unstable but promising features that cannot be placed in the official code but can be placed in contrib/
.
I think we also need one.
The official interface and codes should remain stable, but currently, the project is in rapid development. There are some unstable features those might make users confused. Those experimental features can include in contrib/
, after several iterations and collect enough feedbacks, some features will become stable and can be integrated into the official code.
It seems that currently, we mix some unstable features with the official ones, for example, the debugger
is a new feature to make the debug information friendly-readable, it lacks enough usages to improve, but currently, it has nowhere to place but the official code.
In addition, there are some other pros for a contrib/
:
- it is hard for an external developer to contribute to some core features in the official code, but it is easy for him to abstract his needs and contribute an unstable but workable feature into
contrib/
, in that way, we can encourage more external developers to contribute. - discuss with @qingqing01 @kuke @pkuyym our internal partner are from different application fields, they have a lot of field-specified tools or algorithms, those implementations can be contributed to
contrib/
, used by other users in their field, with our CI to maintain and keep their features compatible with the latest version of official code (that is good for them)
All in all, a sub-directory contrib/
seems a good place to include unstable contributions from both internal and external developers.