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-...)
The cool thing is that there are already extensions in the work to make custom vendor extension compatible with each other and vendors have a general incentive in not keeping their extensions private, because this will hinder software support. as most FOSS software/toolchains will target the extension profiles, which won't include any closed extensions.
If you've gone to the trouble of migrating to RISC-V then you allow that, it's on you.
But even then working around custom extensions is a lot easier than a whole ISA. Short of patents you can always reimplement them. No one can copyright instruction code numbers.