I think the issue is that for much software it’s not a clear distinction.
For a few years of my career, I spent about half of my dev time improving a gigantic distributed system. Much of this work was inventing a new algorithm somewhere in the stack, A/B testing it to see what effects it had, and repeat. Lots of algorithm papers and patents came out of it. At the same time, I also had to keep the systems running well enough to do this, and technically no new customer “product” came out of it (although some open source database features did).
Is this R&D? Seems like much is, and much isn’t. What do you want to incentivize?
For a few years of my career, I spent about half of my dev time improving a gigantic distributed system. Much of this work was inventing a new algorithm somewhere in the stack, A/B testing it to see what effects it had, and repeat. Lots of algorithm papers and patents came out of it. At the same time, I also had to keep the systems running well enough to do this, and technically no new customer “product” came out of it (although some open source database features did).
Is this R&D? Seems like much is, and much isn’t. What do you want to incentivize?