"a Moodle contrib module can have its files scattered around pretty much anywhere in the Moodle tree"
Actually this is not true. Our plugins are always self-contained in one directory:
http://cvs.moodle.org/contrib/plugins/
Anything that isn't packaged this way is called a patch:
http://cvs.moodle.org/contrib/patches/
Martin Dougiamas
Posts made by Martin Dougiamas
I'm actually in a discussion with David Grashoff from Capita ES right now trying to sort out this situation ... They seem a little bound by their licensing arrangments but I'm hopeful something can be done.
Haven't you been lurking in the developer chat room? 
You can find some of it here: http://docs.moodle.org/en/Development:Enrolment_plugins_2.0
We'll be having more in-depth discussions about this topic very soon (probably in the next Moodle developer meeting) but right now I've put all that off so that we can focus on finishing things like Files, Web Services, HTML editor, XMLDB and Repositories, as well as finishing specs for things like Community hubs.
You can find some of it here: http://docs.moodle.org/en/Development:Enrolment_plugins_2.0
We'll be having more in-depth discussions about this topic very soon (probably in the next Moodle developer meeting) but right now I've put all that off so that we can focus on finishing things like Files, Web Services, HTML editor, XMLDB and Repositories, as well as finishing specs for things like Community hubs.
No problem with that at all. The database structures are not really code and so are not subject to the GPL.
Out of interest, what sort of companion apps are you planning?
Out of interest, what sort of companion apps are you planning?