Ok, just if someone is interested, all devices using libusb (includes USBASP also) uses the same free VID/PID pair. Here is an extract of these pairs:
PID dec (hex) | VID dec (hex) | Description of use
==============+===============+===================
1500 (0x05dc) | 5824 (0x16c0) | For Vendor Class devices with libusb
-------------------+-------------------+--------------------------------------------
1503 (0x05df) | 5824 (0x16c0) | For generic HID class devices (which are
| | NOT mice, keyboards or joysticks)
------------------+-------------------+--------------------------------------------
1505 (0x05e1) | 5824 (0x16c0) | For CDC-ACM class devices (modems)
-------------------+-------------------+--------------------------------------------
1508 (0x05e4) | 5824 (0x16c0) | For MIDI class devices
-------------------+-------------------+--------------------------------------------
Also, for ones information, micronucleus depends on libusb too I guess. I may stop today, but will keep my research on. If in case I succeed, will share it across with all of you
Of course, there are Hundreds of devices using libusb. Libusb is only a set of methods for communication with USB devices on lower levels. There are printers, smartcard readers, wireless radios and other devices, using libusb for communication.
However you can't make a digispark to an printer, by using the printers VID/PID pair!
Its the choice of the developer, if he will use libusb or if he will implement the communication by other ways.
The VID/PID Information tells the operating system, which kind of device is connected, and which drivers are needed to talk to that specific device. The protocol, which is used to talk to that device, differs totally.
You will see some manufactures, which own large ranges of PID, that they use different PID for very similar devices. In that case the driver knows only by PID, which sub-type of a device is connected, and uses all features associated with that device.
Other manufactures use the same PID for devices with much more differences. They use a more intelligent protocol, where one of the first actions is, that the device will identify itself with all usable features.
For example it would have been a possibility, that the new micronucleus 2.0 uses a different PID. But instead of that, the developer decided, to implement a version field into the protocol, so that the most current client is capable to differentiate between old and new version of the bootloader and can use therefore a slightly different protocol.
Owners of VID/PID are trying to make as sure as possible, that their VID/PID pair will not be used for any other product/protocol, because that will harm their product! If you have a system, which associates wrong drivers to a VID/PID, the original product will fail to communicate. That failure will be seen as an error of that product and will spoil the good name of that product.
Because of that, even in the OPENSOURCE world, VID/PID pairs are associated with a very specific product and protocol. Many companies allow the use of their VID/PID only for unchanged code or with prior written permission. The whole code is opensource and you are free to modify it. But it is similar to the name': If you produce a clone of a digispark, you are free to to so, but you are not free, to name that clone digispark. The same with the original Arduinos. You are free to produce a clone of the Arduino DUE, as long it has another name. The VID/PID is very similar, as it identifies a very specific device.