Straying off topic here, but the Bosman case went too far in my opinion. His club undoubtedly abused their power by refusing to release him even though he was out of contract. For me, however, the common sense solution would have been to use what was already in place i.e. an arbitration panel. So if you were out of a contract and two clubs couldn't agree on a fee then the player *must* be allowed to leave, and the fee is decided in arbitration.
That way, the players still get to leave at the end of their contract and the clubs still generate revenue from transfer fees, albeit they would undoubtedly be less inflated (which might actually be a good thing).