GNU social is a communication software used in federated/decentralized social networks. In order to archive such decentratization, some communication standards were created such as OStatus and ActivityPub.

Currently, the ActivityPub plugin has an unfinished implementation of HTTP Signatures, making GNU social unable to federate with other pieces of software using the same standard, and it doesn't use a queue system.

Furthermore, GNU social's client API, the Twitter-like API, needs some of its functionality reviewed, specially concerning third-party interfaces. The current implementation still requires Tools to use OAuth1 for authorization and it doesn't handle Bots the proper way.

In a first stage, this proposal aims to replace the existing network system with a more sophisticated one that will support HTTP Signatures and to move existing ActivityStreams implementations into a plugin to be used by OStatus and the ActivityPub plugin. The second and final part of the proposal is reserved for the migration of OAuth1 to OAuth2 and adding support to the ActivityPub C2S API.



Bruno Casteleiro


  • Diogo Cordeiro