Except with both Slack and Gitter (not sure about others) you can link to specific messages. Sure you still need membership to view the content (a serious downside), but saying you can't link at all is disingenuous.
With Slack, at least, channel history is truncated for free accounts; so it's quite possible that a specific conversation could become practically inaccessible after a while.
You are able to export your entire public history, regardless of the status of your account. I was able to do this to rescue the chat history for Hyperledger[0][1] before we moved to Rocket.Chat.