To implement Cast support in an application, you have to link a closed source binary to your project. Google only provides binaries for iOS and Android (via Play Services), and has a closed source implementation in Chrome.
doesn't cast implement the dial protocol, which is open?