nathanmarz/storm-contrib — pull request #25 by ptgoetz (2013-02-14 03:29:53+00:00)
Title: Start using git submodules in storm-contrib

Although I have commit rights to storm-contrib, I wanted to get buy-in from Nathan and the storm/storm-contrib community before merging the change. I'd ask that all other storm-contrib committers hold off and let Nathan decide if this gets merged, since it represents a significant shift (and some wrinkles) in how storm-contrib is managed.

**TL;DR**
For some storm-contrib modules, it may make more sense to switch certain modules to [git submodules]() so they can be tagged/branched/versioned independently of the storm-contrib project.

**Background**
There's a significant amount of activity on the storm-user mailing list, specifically with respect to storm-kafka and the fact that it is part of storm-contrib, and thus not versioned/tagged independently. Getting a build of storm-kafka that aligns with a specific version of storm is difficult. Some have resorted to maintaining (semi)private forks, or building from specific commits (hashes). This is an untenable solution.

**Wrinkle 1 - Git Submodules**
Git submodules can be a bit tricky. But so can git itself. I don't foresee this as too much of an issue since most users will be pulling/updating only, not contributing back to a linked project via storm-contrib (they would contribute to the linked project directly).

**Wrinkle 2 - CLA (Contributer License Agreement)**
I see this as the biggest issue, and where I would defer to Nathan for input.

As it stands now, to get commit rights to storm-contrib, you need to sign the storm CLA. This is already a little murky (e.g. If as maintainer of storm-jms, if I accept/merge a contribution from someone who has not signed the CLA, can I push that change to storm-contrib and still remain in compliance?).

Given the nature of how git submodules work, using submodules could make it even more dicey. IANAL -- If I accept a pull request (from another user who has not signed the CLA) into my project that is linked (git submodule) in storm-contrib, is that contribution covered by my CLA?