Friendica is introducing a new feature in version 2.4 called "shared tagging" (this is mostly working at the time of this writing for anybody who wishes to try it).
To understand this feature one needs to know a bit about how tagging works in social networks - and then why this works differently in decentralised/distributed social networks.
For our example, Jesse is a member of site 'A' and wishes to tag a post with the word "cycling". She creates a post and inserts a "hashtag" such as #cycling. Her website then notices the tag in the post and links it to a search for the word "cycling" on her site ('A').
Herman is on site 'B'. If Herman reads Jesse's post, it will direct him to Jesse's site (in most cases - we'll get to that in a moment) and shows all appropriate messages that have been tagged with the word 'cycling'.
If Herman is on a site like Diaspora or Twitter, his site will "steal" the tag and remove the link to site 'A' and replace it with a link on site 'B'. So that even if Jesse and her friends on site 'A' have hundreds of posts tagged with the word 'cycling', Herman may never see them, and may only see the one post on his own site that has just been tagged.
This is a bit unfair, because Jesse's site may be the 'Community of Cycling Enthusiasts' and may have the best content to provide for that tag. It can lead to a situation where big sites get bigger because they have the best content to match tags, and smaller sites will get smaller because they don't.
But ignoring what is fair and unfair, even if the tag remained pointing to Jesse's site, there may be other cycling enthusiasts among Herman's friends, and they might wish to provide an extra tag pointing to their cycling content on site 'B'. This is what shared tagging accomplishes. One can add a tag to a post that already exists, but one that points to a collection of messages on their own site, regardless of the current tags.
When a person adds a tag to a post, it is attached as an activity message ("Herman tagged Jesse's post with 'cycling'") which looks just like a comment and is shared with all networks. But within Friendica sites, the tag is also added to the list of tags in the original post. So Jesse has a cycling tag pointing to site 'A' and Herman has a 'cycling' tag pointing to site 'B'. Both are displayed on Jesse's post. Somebody reading the post can explore both of these and the different communities they represent. Herman could also tag the post with 'mountain bikes'.
However, this could be a problem if somebody can tag your posts with something you don't like, like 'cycling-sucks'. So in Friendica, the post owner can always remove a tag and prevent it from being shared. They can also block their own posts from being tagged by anybody if they desire.
But the person who tagged the post has rights also. Even if the owner removed the tag - on the site of the person who created the tag and in their copy of the conversation - the tag remains. So you can always tag something for your own personal use, even if the owner doesn't allow your tag to be shared. This way you can always search for this post using a term that is meaningful to you.
There's another case where this comes in useful. Let's say that Herman posts a photo that shows a naked girl, and Jesse or another of Herman's friends does not feel it is appropriate for public display. Any of Herman's friends can tag the post with Not-Safe-For-Work, and anybody who has the Not-Safe-For-Work Friendica plugin will find the message wrapped up inside a warning message and cannot be viewed without explicitly opening it. In this way groups of people can control rude or inappropriate content being displayed amongst their friends.
Shared tags are available in Friendica today. You will need to be using a recent version, such as 2.33 or later.