In Pig we created a separate section of the repository (called piggybank) where we stored user contributed user defined functinos (UDFs).  The contract was that users needed to provide unit tests so that as changes were made to Pig the committers could make sure that the UDFs in piggybank still worked.  Committers weren't responsible for fixing piggybank code, though if the change was minor they often would.  We distribute piggybank with Pig as a convenience to users.

The downside to this is users can't self-manage it.  It requires a committer to review and commit people's code.  Though we always kept the bar quite low (just make sure it has tests and isn't completely nuts).  But still people complained that they had to wait for us to review it.

The upside was that since committers had to review it, it didn't become a dumping ground.


Robert Metzger
June 25, 2014 at 7:50 AM

our current repository contains a set of examples that show different
aspects of the system.
We recently got a pull request to add a graph centrality/closeness
implementation to Flink ( The program is too
complex to be added as an example. In addition to that, we don't want to
maintain actual applications on top of Flink.
I have a GitHub repository that also contains a few other Flink programs
that need a new home.

I would like to provide users an infrastructure in our project to host such
code and establish a community around it.

What is the Apache way of handling such a situation (infrastructure wise)?
On GitHub, I would create a new repository called "application-library" and
link it from the website.
We could also create an orphan branch in our current repository.

What do you think?


Sent with Postbox

NOTICE: This message is intended for the use of the individual or entity to which it is addressed and may contain information that is confidential, privileged and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient, you are hereby notified that any printing, copying, dissemination, distribution, disclosure or forwarding of this communication is strictly prohibited. If you have received this communication in error, please contact the sender immediately and delete it from your system. Thank You.