As the number of Mesos frameworks grows (and now, a module system), I think it's time to create a community-maintained registry with the goal of making frameworks and modules easier to discover, contribute to, and install.
There's already a JIRA ticket tracking this (MESOS-1759) and I've chatted with several folks (thanks in particular Victor Vieux, Tom Arnfeld, Vinod Kone, Timothy St Clair, and Joe Stein). I'd like to advance the conversation by offering a proposal on the public mailing list. I imagine two initiatives to achieve this: 1) Shared hosting via a GitHub org. I'm not sure if you're familiar with how Jenkins maintains their plugins on GitHub [1], but they allow individual plugins to have their own repo within their GH org. Plugins are repos with a specific naming convention (in their case, they've appended "-plugin" to the repo name but this isn't the same approach we'd need to take). Having a shared GH org creates greater visibility to what people are doing, and encourages community participation and ownership. In the case of Mesos, not all frameworks will jump at the chance to have community hosting which is fine. But particularly for smaller frameworks, I think this is a good option given the success Jenkins has had. We could potentially use the existing /mesos github org, or create a new org /mesos-extensions or something of the like. It seems like the only potential snag here is that we'll want to be explicit that these aren't Apache-blessed plugins and instead maintained by the larger ecosystem, but I believe we can achieve that by offering a notice in the GH org description. 2) A registry that allows framework writers to publish new versions of their frameworks to a central repository that could be programmatically accessed and rendered online. The v1 could be incredibly simple, but I think this is a foundational piece that can grow with the project in the future. Since this is a little bit more-involved, I've created a separate Google Doc [2] to begin drafting the scope for this: https://docs.google.com/document/d/1sOoPtEyLlST5GTU5iSccqWUsAOlJhf4N9cHoylylYgY/edit?usp=sharing, and have intentionally punted on some of the implementation details until the scope is finalized and I gauge interest from users and potential collaborators. What do you think? If folks are on board I will assign the JIRA issue to myself and get to work; I'd also welcome collaborators to help get this off the ground since I think it will be a boost for the community. Feedback is welcome! Thanks, Dave [1] https://github.com/jenkinsci/ [2] https://docs.google.com/document/d/1sOoPtEyLlST5GTU5iSccqWUsAOlJhf4N9cHoylylYgY/edit?usp=sharing
