So... why not Subsonic? It's open source as well, seems a lot more mature, has a rest api, tons of apps, and a spiffy new HTML5 player that's quite good.
I suspect Java would make at least some of us steer clear. Thinking as purely a user, Subsonic looks great. As a developer that wants to hack around on the code handling my music library for fun, I personally wouldn't want the aggravation as I really can't stand Java.
Sorry, I don't quite get it. The web player has support for playlists and dynamic streams, so I guess it depends on whether the app available for your phone uses the correct API. The one I use, for example, maintains a 10gb MRU cache of my stuff (with lookahead) and that works out quite nicely for me. YMMV, but it definitely surpassed google music for me in both usability and quality.
* Subsonic.org seems to be down, try http://sourceforge.net/projects/subsonic/ instead.