The difference between "sharing output" vs "sharing the work" is in whether you give users access to a core piece of software's functionality.
Sending the result of a database query to your users is not "communicating". However, allowing users to run arbitrary queries as if it was their DB is "communicating".
The concept ensures that users accessing a piece of software remotely get the same freedoms and rights as users running the software locally.