Software doesn't need to be obvious and could need the sharing aspect of it. I am thinking of all the new ML models that are up and coming for example. Not only do you require some advanced software but also a lot of hardware capabilities.
I don't really buy your argument since the same could be said for obvious stuff in the physical world as well.
I still think I am leaning towards companies keeping their secrets if patents is the only solution we can bring to the table.