A couple of weeks ago I asked forÂ topics suggestionsÂ (#FAQ)Â and Bob11 received the most thumbs-ups for his excellent suggestion:
Small businesses make up 99% of the U.S. economy, and many embedded developers work in small firms. However, many of the standards increasingly used by developers (USB, DisplayPort, Ethernet, etc) rely on standards targeted and priced towards large companies. Whether its an IEEE OUI for MAC addresses for an Ethernet port, a USB Vendor ID, a DisplayPort license from VESA, or whatnot, the upfront and annual costs to use these common peripherals--increasingly found on embedded micros--is often prohibitive for small firms or small volumes. What are the solutions and work-arounds other embedded developers have found? For example, some IC vendors allow the use of their vendor ID and will assign you a Product ID for USB at low or no cost. It's also possible to buy MAC addresses in FLASH from companies like Microchip. What other options exist for staying legal and competitive?
MAC addresses are quite cheap so I doubt that these are any issue even for small companies [http://www.utasker.com/forum/index.php?topic=21.ms...] They used to cost about 12.5cents each so I never understood putting extra chips on the board that cost more (unless one maybe wants to use additional features like EEPROM that may be included or one expects to never deliver more than a few hundred in the lifetime of the company...).
USB is something else - 15 years ago one could buy individual PIDs from other vendors for $20 or so (although in the grey zone of legality) but usb.org clamped down on that. Ten years ago one could buy a VID (vendor ID) for a one-off fee of $2'000 [http://www.utasker.com/docs/uTasker/USB_User_Guide... on page 11 the state of affairs in 2010 is detailed]. But today the fee is $5'000 (if one would like to be a member - with some discounts for compliance testing if the logo is needed) it is another $4'000 per year. And I thought inflation was supposed to be low... And the usb-org web site still looks like something developed in the mid- 1990s! You would think that with the extra income they could afford to use Wix...
But one doesn't need to be certified and use the logos (as long as one knows that the operations is good) as long as you are not a big company, where the logos are needed for your image.
Thankfully most semiconductor manufacturers (like NXP, ST Micro, etc.) who sell processors with USB device integrated (for those using FTDI - and so not actually controlling/developing the USB code - who's chips will of course be using their VID/PID) offer the possibility for their chip users to be assigned a PID under their VID - this is one exception to the otherwise tight control of such allocation which is however restricted to semiconductor manufacturers!
One should therefore contact the manufacturer who will usually have a procedure for requesting one - they tend to be restricted to maybe 10'000 products, after which your own VID would still be necessary (ask the manufacturer for their terms).
When I added USB support to the uTasker project about 10 years ago I collected some PIDs from various semiconductor manufacturers for use by the project - Freescale, Luminary Micro, Atmel - so many users tend to just use these also for their products running it. Interestingly, Luminary Micro and Freescale don't exist any more so all their PIDs are possibly just going to waste now....or could maybe be used sneakily knowing that no one will ever care ;-)
On the topic of acquiring USB PID/VIDs I noticed that MCS Electronics based in Netherlands are still selling PIDs on their website for about 15 euros (https://www.mcselec.com/index.php?page=shop.produc...), despite their VID being revoked by usb.org. There's an explanation on the relevant page on their website, the logic of their argument being that although their VID has been officially revoked, it cannot be reused and so their VID/PID combinations remain unique.
They're upfront about not being able to use their VID/PID if you need to achieve USB certification, but if that's not a barrier for your situation then it could be an alternative if getting a PID from a semiconductor manufacturer is problematic for whatever reason.
MSC has been doing this for many years. It may be an opportunity to get a cheap (half-official) PID but there is also the risk that one gets involved in a law suit (or they do) and they then all get confiscated, also affecting purchasers who might need to then update their products (with their own) to not get involved.
Law suits are probably something that small companies and start-ups also need to avoid. Facebook lawyers recently closed down a start-up close to me since they used "book" in their product's name (stressbook is what their app was supposed to be called).
(Answering my own question) It seems like everyone else has the same issues and roughly the same solutions. I agree that USB is the worst, and mjbcswitzerland spells out the ridiculous terms now available from usb.org. Last I heard they're also about out of VIDs as they only allocated 16-bits to each of the VID and PID fields. Stupid.
It seems I'm not the only one who depends on the semiconductor manufacturers to help me out most of the time. For USB it means your product comes up in the OS listings with the name of the semi company and not yours, though. And although still too dear for most hobbyists, at least the IEEE has a fairly reasonable cost for a subset OUI that can be used for MAC addresses, or one can buy the MAC chips for small quantities. If a full OUI is needed the IEEE cost is not out of range for small companies as it's a one-time fee. I also depend on the semiconductor manufacturers when I need to drive a consumer display interface (ie Monitor) via HDMI/VGA. Displayport is also possible if you use an FPGA and stick to version 1.1a.
Fortunately, it seems to me we are slowly moving beyond the time when industrial and niche product developers and hobbyists were forced to leverage the consumer products and their interfaces due to cost and availability. The world is increasingly moving to IoT and networking interfaces, which is dominated by the IETF standards which are much more democratic. Other than the OUI used for Ethernet, most of these standards which need identifiers use UUIDs which assure uniqueness without having to fork over tens of thousands every year to a consumer-industry cartel.