I use submodules a lot to pull in the various GitHub hosted FOSS projects that are incorporated into KosmicTask. My approach in using them is:
In GitHub we clone a repository, make changes and issue pull requests. Often the pull request is not fully merged into the upstream repository. There can be several reasons for this:
Get KosmicTask free. Contribute to the OS X automation archive and claim a free licence.