It seems to me that there is a broader moral issue here about whether the BBC have a duty to supply the UK residents who pay there TV Licence fee with The Open Championship, and then a business discussion about the costs of doing it. I don't know any of the figures being discussed in regards to the costs, but IF the BBC have to pay the R&A £7m in a broadcast fee, the BBC will probably have significant other costs to factor into their overall broadcast costs (e.g. wages and accommodation for on-Air talent, camera people, drivers etc) power costs, transportation, loss of advertising revenue (from not screening other programmes) etc etc. The total costs may have been just too high for the BBC to stomach – they have had a bit of a rough ride in the last few years.
I don't suspect this was an easy decision for the BBC or the R&A, but I suspect SKY will think this is great for their business.