Just out of curiosity, why has nobody reverse-engineered iMessage to create an open-source client? I presume it is quite hard (the seems like an obvious thing to attempt, iMessage has been available on the Mac where things like disassembly should be pretty easy for years); where does this challenge come from?