From my understanding the "what song is playing" apps/services essentially have a big database of music stored in a special hash function. When you record the music it converts it into a hash, then compares it to the database.
Could these databases and algorithms be open source? Absolutely. Would it be really hard or expensive to maintain the database distribution or hosting? Definitely. Would music rights holders allow an open source project to have access to their music libraries to put into the database? Probably not... I would think that the services that do this have big agreements with rights holders that open source would not be able to get.