Chor WaiChun mentioned this on a locked question you posted on StackOverflow:
I've seen somewhere stated that this behaviour is because both android
and linux run on same kernel, and same situation goes to developing
android on mac. Both OS runs in very similar OS kernel with Android,
that is why they don't need any drivers. These are just something I
remembered seeing from other threads, can't give 100% sure
UPDATE #1: The Android site also mentions this:
If you are developing on Windows and would like to connect an
Android-powered device to test your applications, then you need to
install the appropriate USB driver. ...
If you're developing on Mac OS X or Linux, then you probably don't need to install a USB driver. To start developing with your device,
read Using Hardware Devices.
UPDATE #2: There's a comment on StackOverflow regarding
libusb. I think this may be the reason why Linux does not need additional drivers.
Actually adb under Linux accesses USB devices using libusb without any
specific kernel driver. Also adb has a list of vendor IDs which it is
allowed to use, but this does not explain the problem in question,
because vendor IDs for both phones are the same. And in case of
permission problems due to missing udev rules adb devices clearly
shows “no permissions” in the list, so this is also not the cause of