While early federated social networking projects traditionally developed a protocol along with their software to fit the needs of the desired architecture, modern projects use a protocol and network that already exists to accelerate adoption of their platform by allowing existing users of other services to migrate seamlessly to the new project. Software that is developed for such networks are almost always
free and open-source software, with the protocols in use being
open standards that do not charge
royalty fees for actions that are taken on the network. Various open standards that are used to provide a complete network include
OAuth for authenticating users and managing their sessions, the
ActivityPub protocol for
federating content between services,
WebFinger for discovering profiles and content on the network, as well as various standards for
metadata such as
Microformats,
Open Graph and others. While this combination of technologies are most associated with the concept of a federated social network and are universal among these networks, the federation protocol has been a major source on controversy regarding the ideal architecture for transmitting content. While ActivityPub (and its predecessors OStatus and ActivityPump) have been used by most services when implementing support for a federated social network, alternatives have been created over the years that attempt to fix perceived issues with the current stack of standards. The most successful of these alternatives has been the
AT Protocol, an open standard created by
Bluesky that has been built to solve various portability, discovery and content format issues that have arisen with the adoption of ActivityPub among a variety of social networking services. A more experimental protocol that has built its own networking stack is
Nostr, which has been designed to be simple for implementors to build as it has no dependencies on any existing standards. The protocol has gained some traction among newer SNSes, particularly within the
cryptocurrency community. While many of these standards have been in use for both early and modern projects, some older projects typically used standards such as
OStatus,
XRDS,
Portable Contacts, the
Wave Federation Protocol,
XMPP,
OpenSocial, microformats like
XFN and
hCard, and
Atom web feeds. Some of these standards were referred to as the Open Stack, due to their status as open standards. ==See also==