You realise that most of the time if you have a software product, you won’t care if a contractor is stuck with a branch from a few years ago. Your software will keep moving forward.
The initial sale of modern software is for the use of the product. Costs and the product are ongoing, an unfinished masterpiece (in theory). The ownership model is dead and it’s proponents are going to die (in business) because they either have no changes needed, or are sticking their heads in the sand hoping to avoid the march of progress.
What I do is have contractors sign a contract of employment which is one page. The main point on it for this discussion is to say I own any work they do for me, and they are not permitted to re-use that work for others in plain English. They are essentially selling time and execution for their pay during work hours.
If they do a better job outside of work hours, fine they can be the boss and I’ll go work for them (or not). If they take my software, my code and re-sell it; I’ll be able to tell unless they improve it to a point where I cannot recognise it or identify patterns, and again, I’d probably prefer them to pay me to work for them.
Most of my software does nothing without other software, they can only submit for test, they probably don’t know how to run it because they don’t have that access.
Ownership is overrated is my point, and the legal beagle market is misleading it’s clients. It’s like campaigning over who can carry the most weight; it’s contrary to intelligence, agility and competitiveness. I’m pretty sure that is what the original author was getting at.