Since summer last year you can get audio and video devices which can only talk to the computer through the media transfer protocol – which was only supported by Windows Media Player 10 at this time.
The first idea behind that protocol was mainly to extend the already well known picture transfer protocol of digital cameras to get the ability of exchanging audio and video over this protocol, too. The second idea behind this protocol was to lock out Free/Open Source software since the protocol specifications you can get at microsoft.com explicitly forbid an implementation of this protocol in Free/Open Source software.
Nevertheless the people at gphoto extended their ptp to add some of the mtp features. They did it by enhancing their ptp version and not by looking at the mtp specs, so their way is probably legal.
But we are in the worl of Open Source and so there is not only one way to reach the aim: the project libmtp tries to fill the existing gap by providing full mtp support not even for linux, but also for MacOS. And there are already some graphical interfaces which can make use of this library: gnomad2 and mtpdude. And I am pretty sure that amarok will make use of this library once it is stable enough, too.
The only thing I am not entirely sure about is the legal status of the project – Microsofts aim was pretty clearly to prevent adoption of this protocol in every (!) Open Source software, but there was some documentation on the web which was not provided by Microsoft and which had no terms about “no inclusion in FLOSS”. We will see…
But this step of libmtp shows once again for me how powerfull the FLOSS-Community already is: although there was no support by any vendor some people stepped in the front and started developing a library. The rest, the inclusion by the library, is done by the community of already existing applications. And soon the average Linux destkop computer will have full MTP support – pretty nice, isn’t it? 🙂