Software Harvesting Definition