If you don't want to reveal your design, you could always keep it a trade secret.
If you're a genius working on software, you shouldn't have trouble filing a patent that would be useful to another engineer, once it expires. For some reason, though, people instead patent stupid shit like 'a software system that does _______.' They don't actually explain how to build a software system that does _____, they don't give anything back to society, and are instead leeching of the largess of our legal system.
If you want protection for your invention, tell us how it works. It's a pretty simple concept.
1. Trolls use them to seek rent from independent creations.
2. Companies that are not purely trolls but need a vector to attack another company sometimes use them in the same way trolls do.
3. Entities that actually make software use them as a deterrent against patent claims.
Nobody actually depends on them for the profitability of software they've made, and nobody actually benefits from the disclosures in expired patents. Software patents are purely weapons. The hypothetical genius you're talking about would not be harmed at all if they went away, and would be better off because they'd be spared the vicissitudes of patent trolls' attention.
This is pretty much what is happening with speech recognition these days among other things.
No need to worry about opensource, or the fragility of patents, when you keep your technology a secret.
Another approach is to use trade secrets - you encrypt parts of your application - reducing performance - enabling you to sue anyone who decompiles it in order to replicate, or indeed interface with it.
Patents would actually seem the least of these evils, if they were only less broken.
But I don't see that the two descriptions are different in practice. Patents incentivize publicly releasing an invention instead of keeping it a trade secret (or letting it languish). The problem this is solving is that ideas aren't valued by the market, only products. But society benefits from ideas independent of products. And so the solution is a system to put value on ideas, ergo patents. This meshes with my alternate description.
>To be clear, I didn't say that's what patents are for (i.e. their purpose), but what they correct for, i.e. what they do in practice.
In your software-patentless world, why would a genius choose to work in software as opposed to another field inventing patentable tangible objects where he or she will be monetarily rewarded for it and able to make a living? Don't say you are already paid by your employer to program. Someone inventing physical objects would probably also be already paid by their employer to work. This brings us back to why would a genius choose to work in a field that won't reward them for their genius?