Like t1ll13 said, once they have less than 6months remaining on their contract you should be able to offer them a contract, once their current one ends they'll join you.
If you're playing in England (not sure about other countries) you cannot offer a contract to another player in the same country with 6 months to go. But I think you can do it with 1 month to go in the same country.