Update: This question was closed as "asking legal advice". I'm not asking for legal advice. I'm asking about the mentality/objective companies have in mind when doing such things.
When a company requires a person to return their joining bonus if they leave within a year of joining, what does it mean in terms of the value they extract from a person?
Is it considering 2 months training for gaining domain knowledge and 10 months of work? That allows the company to extract 10 months of meaningful work and then they don't care if the person leaves or not? Or perhaps they could dump the person after a year (by which time the person would expect a raise), and hire someone for cheaper?
What is the logic with the 1 year condition? I've seen companies that have a trusted core team who hire and fire a lot of people after keeping them around for 1.5 years or 2 years time. Is there some financial logic to why they do this? This applies to contractors and staff employees in the software field.