Mark;
If the only real main difference is needing approval to work on stuff, I'd say Github is the way to go. If that didn't convince you, consider that Tom Lieber also loves (loves, loves) Git...
Having a simple central repo, everyone can work on any number of localYes, this is what we do exactly. I send a link to my fork a few mails back; I can add or delete anything I like and Dave can include bits he finds useful of those. I'm still merging in any changes to the "master" branch.
forks of the project and work on them.
Especially with git or mercurial it is very easy to have several
branches around (in the same or in different working directories) and
push/pull/merge between them.
When something gets ready to be integrated in the main project, it can
be send as patch to one of the main developers.
This is where github (and now savannah?) adds a different workflow.
One advantage of a system like github is the public fork repository.
The fork also gets a community process, so the code is reviewed and
tested and discussed by the community, before it makes it's way to the
main branch. Even the main developers can add tips and solutions to
the fork, also to make it better fitting to the main branch.