Pleroma (software)

Pleroma
Developer(s)lain, et. al
Initial release0.9.9 / February 22, 2019; 5 years ago (2019-02-22) [1]
Stable release
2.7.0 / August 1, 2024; 4 months ago (2024-08-01)
Repository
Written inElixir, JavaScript
Operating systemCross-platform
TypeMicroblogging
LicenseAGPLv3
Websitepleroma.social

Pleroma is a free and open-source microblogging social networking service. Unlike popular microblogging services such as Twitter or Weibo, Pleroma can be self-hosted and operated by anyone with a server and a web domain, a combination commonly referred to as an instance. Instance administrators can manage their own code of conduct, terms of service, and content moderation policies, allowing users to have more control over the content they view as well as their experience.[2][full citation needed] It was named after the religious concept of pleroma, or the totality of divine powers.[3]

The software also implements the ActivityPub protocol, which allows users to communicate and interact with content from other Pleroma instances or any server that is running software that supports ActivityPub (such as Mastodon, Misskey, Pixelfed, etc.), a decentralized network commonly referred to as the Fediverse.[4]

As of July 2024, over 138k user accounts (1.3% of the total amount of fediverse users) have been found on over a thousand Pleroma instances.[5]

History

Pleroma-tan, Pleroma's mascot

In 2016, the Pleroma project was created by a German developer under the pseudonym "lain".[6] It was originally designed as an alternative user interface for GNU social with many similarities to Qvitter, a popular frontend at the time which resembled an early Twitter user interface. The frontend was written with the Vue.js JavaScript framework.

As development of the frontend continued, it was perceived that there were many disadvantages to GNU social's design of using plugins to implement features, as well as issues with its codebase and usage of PHP, which led to the development of a backend to replace GNU social.[7][8] The first commit to the repository hosting the Pleroma backend was made on March 17, 2017.[9]

Releases

On February 22, 2019, the first stable release of the Pleroma backend, 0.9.9, was released.[10] The backend includes the Pleroma frontend as the main user interface, federation of user content using OStatus and ActivityPub and support for the GNU social and Mastodon client APIs. The backend was built using the Elixir programming language and the Phoenix web framework, and uses PostgreSQL for its database.[11]

On June 28, 2019, Pleroma 1.0 was released. This release adds the ability to create polls, report content and schedule posts to be posted at a later date. A new website containing documentation for users and administrators was also launched.[12][13]

On March 8, 2020, Pleroma 2.0 was released. This release drops support for the OStatus protocol due to a lack of usage and active maintenance, introduces a new user interface for administration and adds post reactions using Unicode emoji.[14][15]

On August 28, 2020, Pleroma 2.1 was released. This release includes a federated instant messaging system based on ActivityPub, an alternative to the direct messages system used by other software such as Mastodon.[16]

On October 29, 2023, Pleroma 2.6 was released. This release implements quoting posts as well as the ability to use custom emoji for post reactions.[17]

Pleroma was originally developed with its frontend and backend releasing new versions in sync, but starting with Pleroma 2.6.1 the policy was discontinued.[18]

On August 1, 2024, Pleroma 2.7 was released, adding support for uploading files via IPFS, bookmark categorization, improved theming and various quality-of-life improvements.[19]

Forks

Akkoma

Akkoma is a fork of Pleroma that started development in 2022. The fork was made to support a faster pace of development, as well as to support more user customization.[20][21]

Features

Pleroma has been described as being more lightweight than alternatives like Mastodon, due to being less intensive on system resources and requiring fewer software dependencies.[22]

Pleroma's default post length limit is 5000 characters, and can be configured by instance administrators.[11][23] It is capable of uploading and sharing multimedia, as well as polls.[24] Posts are created by default using plaintext, but can also be translated from a variety of markup languages such as HTML, BBCode and Markdown.

While Pleroma comes with its own frontend by default, instance administrators can install additional user interfaces, such as a port of Mastodon's advanced mode (similar to TweetDeck) as well as a interface for the Gopher protocol.[25]

Pleroma includes a system known as the Message Rewrite Facility (or MRF), which allows administrators of a Pleroma instance to modify the content that it sends and receives. By default, Pleroma provides a selection of policies, including a basic moderation policy that can create restrictions on federation with other instances. Custom MRF policies can be written using any language based on the BEAM virtual machine.[26] This system has been used as a method to study how content moderation works in the Fediverse and the challenges that it faces, since the list of active policies is publicly shown by default through both the API and the frontend.[27]

Adoption

The Debian community hosts their own microblogging service using Pleroma, as part of a project to establish a suite of social networking services for maintainers.[28][29]

Pleroma has received funding through the NLNet Foundation to aid development.[30]

See also

References

  1. ^ Soykaf, Lain (22 Feb 2019). "Pleroma's First Release! 0.9.9". Retrieved 2024-08-25.
  2. ^ "ElixirConf® US 2019". elixirconf.com. Retrieved 2024-07-14.
  3. ^ "lain.com". August 2024. Archived from the original on 2024-08-25.
  4. ^ "Microblogging with ActivityPub [LWN.net]". lwn.net. Retrieved 2024-07-14.
  5. ^ "FediDB, Fediverse Network Statistics". fedidb.org. Retrieved 2024-07-10.
  6. ^ Tilley, Sean (2018-04-25). "Blushy-Crushy Fediverse Idol: A Chat with Lain about Pleroma". We Distribute. Retrieved 2024-07-10.
  7. ^ "Files · 191c02af1ebfc7e6c53dc88d97c4e3ca23fbea8b · Pleroma / pleroma-fe". GitLab. 2016-10-26. Retrieved 2021-01-21.
  8. ^ Tilley, Sean (2017-09-24). "A quick guide to The Free Network". Medium. Retrieved 2021-01-21.
  9. ^ "Files · a93f3421a704d6728a856d5d82cdbf9c43f3f897 · Pleroma / pleroma · GitLab". GitLab. Retrieved 2024-07-11.
  10. ^ "Pleroma's First Release! 0.9.9". pleroma.social. Retrieved 2024-07-12.
  11. ^ a b "What Is Pleroma?". blog.soykaf.com. 2018-03-07. Retrieved 2021-01-21.
  12. ^ "Pleroma 1.0.0". pleroma.social. Retrieved 2024-07-12.
  13. ^ Tilley, Sean (2019-06-28). "Pleroma Releases 1.0!". We Distribute. Retrieved 2024-07-11.
  14. ^ Tilley, Sean (2020-03-23). "Hooray! Pleroma Officially Releases 2.x Series". We Distribute. Retrieved 2021-01-21.
  15. ^ "Releasing Pleroma 2.0.0". pleroma.social. Retrieved 2024-07-11.
  16. ^ "Releasing Pleroma 2.1.0". pleroma.social. Retrieved 2024-07-11.
  17. ^ "Pleroma major release: 2.6.0". pleroma.social. Retrieved 2024-07-11.
  18. ^ "Separating Frontend and Backend versions". pleroma.social. Retrieved 2024-07-11.
  19. ^ "Pleroma Major Release: 2.7.0". pleroma.social. Retrieved 2024-08-01.
  20. ^ "Akkoma: A vision to refocus Pleroma". Coffee and Dreams. 2022-06-24. Retrieved 2024-07-06.
  21. ^ "Fediverse-Serie: Pleroma & Akkoma: Einfache Kommunikation im Fediverse". GNU/Linux.ch (in German). 2023. Retrieved 2024-07-11.
  22. ^ "Pleroma". LinuxReviews. Retrieved 2024-07-10.
  23. ^ "Pleroma User's Guide". edith.reisen. Retrieved 2021-01-21.
  24. ^ "Pleroma 1.0.0". blog.soykaf.com. 2019-06-28. Retrieved 2021-01-21.
  25. ^ "Gopher Support in Pleroma". pleroma.social. Retrieved 2024-07-12.
  26. ^ "Message Rewrite Facility - Pleroma Documentation". docs-develop.pleroma.social. Retrieved 2024-07-07.
  27. ^ Hassan, Anaobi Ishaku; Raman, Aravindh; Castro, Ignacio; Zia, Haris Bin; De Cristofaro, Emiliano; Sastry, Nishanth; Tyson, Gareth (2021-12-03). "Exploring content moderation in the decentralised web: The pleroma case". Proceedings of the 17th International Conference on emerging Networking EXperiments and Technologies. CoNEXT '21. New York, NY, USA: Association for Computing Machinery. pp. 328–335. doi:10.1145/3485983.3494838. ISBN 978-1-4503-9098-9.
  28. ^ "Debian Looks To Go More Social From Microblogging To A Federated Image+Video Platform - Phoronix". www.phoronix.com. Retrieved 2021-01-21.
  29. ^ "Announcing Debian Social". lists.debian.org. Retrieved 2024-07-11.
  30. ^ "NLnet; Pleroma". nlnet.nl. Retrieved 2024-07-10.