It's entirely the point of the RISC-V custom extension space that Qualcomm are allowed to do this. It's certainly a risk that software could get locked in to using these custom extensions, but it's also very easy to tell if software is using those extensions from simple examination of the opcodes. For those interested, check the bottom byte[*] of each instruction for:
[*] Where "bottom byte" is actually the first byte since instructions are always stored little endian.
Edit: To be clear and avoid confusion, RISC-V has two sorts of extensions, the custom vendor-specific extension space that I'm talking about here, and the RVI standard extensions which I'm not talking about.
> software could get locked in to using these custom extensions
the question arises: can such extensions be patented?
we've seen already that APIs cannot get patented (see the Oracle vs Google litigation).
If Qualcomm was to develop a set of extension, but other players in the risc-v space could implement some equivalent that's ISA/binary compatible... I wouldn't see any issue with that.
IANAL, but yes, ISA extensions can be patented. For example, the x86-64 extension ("Long Mode") was created by AMD, and Intel had to pay to license it.[0] Those patents expired a few years ago, allowing Microsoft and Apple to write x86-64 to ARM translators freely.
RISC-V has two sorts of extensions. The custom extensions I mentioned in my post above are vendor-specific and they can do what they want, patent them, keep them secret, whatever. However the standard extensions which go through ratification by RISC-V International and are meant to be implemented by anyone must have a royalty-free patent grant (see: https://riscv.org/wp-content/uploads/2022/03/RISC-V-Amended-...)
Edit: To be clear and avoid confusion, RISC-V has two sorts of extensions, the custom vendor-specific extension space that I'm talking about here, and the RVI standard extensions which I'm not talking about.