Article snapshot taken from Wikipedia with creative commons attribution-sharealike license.
Give it a read and then ask your questions in the chat.
We can research this topic together.
libusb is a library that provides applications with access for controlling data transfer to and from USB devices on Unix and non-Unix systems, without the need for kernel-mode drivers.
Amongst other applications, the library is used by SANE, the Linux scanner project, in preference to the kernel scanner module, which is restricted to Linux kernel 2.4.