Essentially I do not have the answer you are looking for, just some suggestions that might be interesting to you. I recently encountered the same problem and we settled for the p2p solution.
A p2p based solution
So your 2nd point would not be accomplished
We first used getsync which is a fee software from BitTorrent. It is however not open source which lead us to migrate to syncthing which is free and open source.
Personally I like syncthing a lot and started to use it to sync all kind of things, e.g. with my android phone.
The 3th point can be accomplished with specific folders for each developer. This is the main disadvantage in my eyes as it might lead to some restructuring of the data you are planning to share.
Free cloud-based solutions
Most of those I haven't looked at in details, so here are just the links:
- encryshare If you believe what they say then this might be an interesting solution.
- minbox Claims to be the better/cheaper version of wetransfer.
- etc. (if you check for alternatives, you'll find plenty)
A build your own cloud based solution
You could use cloud services and run your own cloud. Here you find a solution with using seafile and Amazone's S3. Seafile which is an open source alternative to owncloud.
You could also go all-homemade and use a Raspberry Pi or a Banana Pi and run your own cloud. It seems that for this approach seafile is the preferred software as it runs smoother than eg. Owncloud. Here is one of many installation guides.
Hope this might be of some use to you.