Onshore means that outsourcing software development locates in the same country or region. Offshore indicates that the company you hired is in another country with a different time zone. Nearshore refers to your outsourcing partner in a neighboring country which is a short distance away.