Subsonic does this. It works great. In order to have access to it outside your home network, you have to setup port forwarding on your router. I simply pointed it to my iTunes folder, and Voila!... I can access my entire library from my phone... anywhere. Obviously, it can't stream protected iTunes files, but only about 20% of my library is protected. The Android client caches, and I setup a large local cache so a lot of times, it doesn't have to stream.
But it really isn't free... it's a 30 day trial, and you have to "donate" to keep the service. Worth every penny... then some.