It is very very hard to sympathize with the companies involved. If they wanted to, they could implement secure communication where ephemeral keys or user-controlled keys are used, and open source clients would guard against the placement of "bugged" client software. Then they could hand over cyphertext on demand, and not take on the job of supposedly protecting people who in their estimation merit protection. Protect all the bits.