You must pay a one-time fee of $6,000 in exchange Vendor ID [0].
You must pay a one-time fee of $6,000 in exchange Vendor ID [0].
So yes, you are technically right, but it really doesn't matter all that much in practice. USB is by far one of the most accessible major hardware standards out there.
(Of course if your USB device needs Windows drivers, you'll still have to deal with things like code signing...)
[1] https://community.st.com/t5/stm32-mcus-embedded-software/dea...
For a lot of products the VID/PID combo isn't that important on a protocol level, and there's technically no reason why two completely unrelated products couldn't be using the same pair. In practice you're mainly going to use them for software to target a specific device, for example the Linux HID driver uses it to work around hardware/firmware bugs. But HID devices are self-describing, and that's the main mechanism used by the driver to figure out what has been attached and how to behave.
If modern OSes can do the same to distinguish hardware with the extra field, sharing the same value for backwards compatibility with legacy machines really isn't going to be a big deal. It's not like MAC or IPv4 addresses where a clash will essentially kill all communication.
Since very few companies have 65,535 products, almost all Product IDs in any given Vendor ID namespace are unused.
That is the maximum number of organizations on Earth that can be issued a USB Vendor ID until the spec is modified. They'll likely introduce a special Vendor ID that indicates to clients they should look elsewhere for the real (and longer) one.
While the rules were more lax many years ago, and some vendors are grandfathered in and can therefore share their Product ID allocation, these behaviors are explicitly prohibited by the USB-IF for newly issued Vendor IDs.
If you plan to deploy more than a few devices you'll need a Vendor ID and people should know that there is a relatively large tax in front of that need.
Hard disagree on $6,000 not mattering. We build a small number of devices for severely disabled people and sell a few hundred a year. The USB IF was unwilling to budge at all on their prices and this was a large cost that we did not anticipate, and by the way, is technically shameful.
How much does a fucking number cost?
Well, it depends on how scarce you decide to make it, and of course, what the market will bear.
For the DirtyJTAG project we use one of those:
[0] https://community.nxp.com/t5/Kinetis-Microcontrollers/NXP-US...
I will think twice now before saying “why couldn’t they just use USB for this?”
What are they gonna do when they run out?
I dunno, I think either you're doing a small run and you can just bake in a Teensy or whatever, or you're doing a big run and $6k is a drop in the bucket.
Many, many products start life on a shoestring and small batch production runs.
There are other products that intentionally serve small markets, like people with disabilities.
For these organizations, $6,000 is not a trivial amount of money.