Hubzilla

Revision as of 21:30, 13 November 2024 by Paula (talk | contribs) (Text replacement - "What is Forte?" to "Forte")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)


Hubzilla is a very powerful "jack-of-all-trades" in the Fediverse, often described as a decentralised social content management system, but with social networking, microblogging and cloud features.

This article may require cleanup!
This article was recently merged from two articles. Some text is probably duplicated.


Hubzilla logo
Hubzilla
Website hubzilla.org
List of instances fediverse.observer

It evolved from a Facebook alternative and still offers Facebook-like social networking. On top of that, it can be a replacement for services like Dropbox, Google Cloud Storage, Google Calendar, Google Contacts and many others.


What does Hubzilla feel like?

Overall feel

With its immense wealth of features, Hubzilla is not exactly for Fediverse novices. It doesn't look or feel like any of the several microblogging projects in the Fediverse, nor does it mimic the look and feel of any one particular commercial platform.

The most similar Fediverse project comes from the Streams repository, followed by Forte and Friendica, also because Hubzilla was forked from a Friendica fork. None of them offers quite as many features as Hubzilla, though.

Hubzilla's Web interface is extensively themeable, much like wholly different Web interfaces for Mastodon, but as of now, there is only one official theme, Redbasic. It can be extensively configured, though. It also has a dark mode that can be activated manually.

There is only one mobile app that works with Hubzilla: The third-party app Nomad is only available for Android and only from F-Droid or as an APK download. Also, it has not been maintained since October 2019. There is no Hubzilla app on the Google Play Store, and there is no Hubzilla app for iOS at all. See also under external links.

Mastodon apps don't work with Hubzilla.

Nomenclature

  • instance = "hub"
  • timeline = "stream"
  • reply = "comment" (which is different from a post; see below)

Accounts

On Hubzilla, your account is neither your identity nor where your posts and other data are stored. For this, Hubzilla has channels. When you create a Hubzilla account, you're also asked to create a first channel.

You can add more channels on the same account anytime. This way, you can have multiple fully separate identities with only one login for them all. Each channel acts like a fully separate account on most other projects. Connections, posts, uploaded files, everything is individual per channel.

On top of that, Hubzilla kept Friendica's multiple profiles per account and optionally offers multiple profiles per channel. You can assign specific profiles to your connections and show them different sides and aspects of your identity.

A channel can have several roles. It can be your personal social networking identity and/or your personal cloud storage, it can be a soapbox, it can be a moderated public or private forum/discussion group etc. There are several pre-defined channel roles, and customising the channel role is possible, too.

Also, channels aren't bound to one hub. They also make nomadic identity possible: You can clone any of your channels across two or more hubs, and these clones always stay in sync. It basically gives you real-time backup.

Channels can be exported in their entirety with an optional built-in "app", and they can be imported into accounts. This is not for moving channels which nomadic identity can handle much more easily and gracefully, but rather for local backups.

Hubzilla supports single sign-on via OpenWebAuth. If you're logged in, other instances with OpenWebAuth can recognise you and, for example, give you special permissions. OpenWebAuth even takes into account which one of your channels is currently active.

Connections

Connections are generally either only out-going or mutual. There are no followers without following back. That's because all connections have to be confirmed, either automatically or manually, and when they're confirmed, they're also followed back.

Each connection can be configured extensively. It can be assigned a contact role which is a customisable set of permissions. It can be added to one or several privacy groups which are similar to Friendica groups, diaspora* aspects, Google+ circles or Mastodon groups. It can be assigned a profile if multiple profiles are activated. It can be blocked, ignored, hidden or archived, and so forth.

Hubzilla itself is not based on ActivityPub. Support for ActivityPub is established through an "app" named Pubcrawl which is optional for both hubs and channels. At hub level, it is on by default. On channel level, however, it has to be manually activated ("installed") before connections to Mastodon & Co. can be created.

In addition, Hubzilla federates with diaspora*, the OStatus protocol and even e-mail. Channels can subscribe to RSS and Atom feeds, and they generate their own RSS feeds. Posts can be forwarded to WordPress and other blogs that use XMLRPC. Hubzilla also used to be fully federated with Twitter/X which is now reduced to an optional crosspost connector.

Streams

Streams are Hubzilla's timelines. The equivalent to Mastodon's personal timeline is the channel stream. However, it is more flexible: Only direct messages, posts/comments marked with a star or posts/comments from the channel itself can be shown. Also, all posts/comments from a certain privacy group, all threads from a certain forum (amongst others, Hubzilla recognises Friendica discussion groups and Lemmy communities as such), all filed posts/comments from a certain category (similar to Mastodon's bookmarks, but with folders as categories) can be shown, and all posts/comments from a certain contact can be shown.

Hubzilla has an optional public stream, pubstream in short, which is the equivalent to either Mastodon's local timeline or Mastodon's federated timeline. It can be activated by the hub admin, it is off by default, and most hubs keep it off in order to stay out of trouble because it is unmoderated.

All timelines have three sorting algorithms: threads by most recent post; threads by most recent comment; unthreaded single posts and comments. The sorting for the channel stream can be selected by the owner, the sorting for the pubstream can only be selected by the admin.

Posts

Just like Friendica, (streams), Lemmy and /kbin, Hubzilla has a different thread structure than most of the rest of the Fediverse. Most Fediverse projects have threads like Twitter/X which consist of any number of technically identical posts. Friendica, Hubzilla and (streams) are more like Facebook, Tumblr, forums or comment sections on blogs or news sites: Their threads consist of exactly one post at the beginning, and everything that follows is not a post, but a comment.

Posts and comments even have separate entry masks: The one for posts is at the top of your personal stream, the one for comments is below each post.

Comments always have the same access permissions and the same visibility as the post they belong to. Only the author of the post can change them for the whole thread.

Also, the author of a post can moderate the thread following the post and delete comments.

Unlike on micro-blogging projects, posts can have a title which is also federated to Lemmy and /kbin. Writing the title of a new post at the top of the post is not necessary.

What micro-blogging projects use for content warnings is used for its original purpose on Hubzilla, namely as a summary. This is also because posts and comments have a practically unlimited character count. Technically, it's usually a high five-digit number, and it's configurable by the hub admin.

Hashtags are handled slightly differently because they can include more characters, and usual Mastodon tricks for interrupting hashtags don't work.

In addition to hashtags, posts can be given one or multiple categories. These are only used within the channel and can help finding posts.

Hubzilla has very extensive text formatting capabilities. It uses BBcode as its internal markup language for posts and comments. Specific expansions of Hubzilla's BBcode implementation can even make a post or a comment appear differently, depending on the on-looker, especially in conjunction with OpenWebAuth.

The handling of images and other media is a lot different from Mastodon and other micro-blogging projects. They aren't uploaded and attached to posts. Instead, they're first uploaded to the managed file space which is part of each channel. Then they are embedded into posts or, with a trick, comments as links to the uploaded files. Alt-text is added by editing the BBcode and theoretically unlimited in length, too, but it should not exceed 1,500 characters when ActivityPub is activated.

The number of images and other media that can be added to posts is practically unlimited again. Also, they can be placed anywhere in a post. However, Mastodon will convert only the last four to file attachments, move them from within the post to below it, reverse their order and completely discard the others if there are more than four.

There is also the possibility to attach a file to a post. It is then uploaded to the file space, too, so you always know where these files end up.

Posts and comments can be edited and deleted at any time. Any following comments will be deleted along with them. Posts or comments sharing a post or a comment that is deleted are not deleted.

Posts and comments from connections can be liked and disliked (another feature introduced by Friendica), and all posts and comments can be "saved in folders" for easier access. In addition, posts can be marked with a star which is only used internally; Mastodon's stars are likes just like those on Hubzilla.

Quoting

Hubzilla supports and can generate standard-compliant quotes. It doesn't have a dedicated quote button; the reply button generates a quote when at least a part of the post or comment to be quoted is marked first.

Like everything else in posts and comments, quotes are generated with BBcode in a fashion not dissimilar from how this is done in bulletin board forums. This means that quotes can be shortened to excerpts and/or split. In theory, it's even possible to quote multiple sources. In practice, this doesn't make much sense because a comment is always a follow-up to only reference one post or comment.

Sharing

On March 3rd, 2024, Hubzilla 9 introduced repeating, a feature like "retweeting" on Twitter/X, "reblogging" on Tumblr or "boosting" on Mastodon, i.e. forwarding posts as they are.

Also, posts and comments can be "shared" by referencing them in a new post or comment. It's basically the same as a "quote-tweet", but without copying the original post into the editor. It works by first inserting a reference code to the original post or comment into the post draft. Upon sending the post, this reference code is replaced with a dumb copy of the original post or comment, mentioning the author and giving a link to the original.

It is possible to share multiple posts/comments in one new post/comment.

Direct messages

Direct messages are available, too. To keep them private without having to set the access rights manually, the contacts to which a direct message is to be sent are mentioned with @! instead of only @. For obvious reasons, they cannot be shared. Otherwise, they are like posts.

Other features

Here are some more of Hubzilla's features, some of which are optional and not necessarily available on each hub.

Search

Hubzilla has a very versatile search that can find posts by full text, hashtags or URL. It can also search for channels/accounts including specifically forums, and it can search the built-in documentation. Searches can be saved to be repeated.

Some hubs may have their local public search deactivated by the admin.

Polls

Just like most other things on Hubzilla, the number of choices on polls is practically unlimited. Polls also offer multiple choices as an option.

Automated content warnings

The optional "app" NSFW can automatically put entire posts, comments and direct messages with all their contents behind a content warning button. In comparison with using filters to do the same thing on Mastodon, the configuration is both easy and flexible: There is only one text field with a comma-separated list of keywords. If one of them is detected in an in-coming message, it is replaced with a button with the detected keyword on it. The list supports words and regular expressions, and even languages can be filtered positively or negatively.

Because of this app, it is generally recommended to add the word "NSFW" or the hashtag "#NSFW" to posts, comments and direct messages with "adult" content; "NSFW" is one of the two default keywords.

Chat

Hubzilla channels can optionally have their own chat. Access to this chat is regulated by the channel owner.

Channel sources

The optional Channel Sources "app" automatically reposts all posts coming in from one or multiple connections. The source is always named, but the posts are not shared in Hubzilla's usual sense.

File space with WebDAV

Each Hubzilla channel has its own file space, complete with a built-in file manager. It supports subfolders with variable access permissions, and it has a WebDAV connector, so it can be used as a cloud file storage.

Calendars with CalDAV

Hubzilla has not one, but two separate calendar systems.

One is the public calendar which it inherited from Friendica. It can display upcoming events in your sidebar and notify your followers about upcoming events.

The other one is a private calendar server with CalDAV access. It can only display upcoming events in your sidebar. CalDAV calendars can be shared with other Hubzilla channels, optionally with write access.

CardDAV

Hubzilla also offers a CardDAV address book, but it doesn't have a graphical frontend.

Bookmarks

The optional Bookmarks "app" is for bookmarking links in posts or comments. These bookmarks can be private or shared with other Hubzilla channels.

Articles

While formatted blog-style long-form posting is perfectly possible in normal Hubzilla posts, it also has an optional dedicated "app" for that. Articles can act like a blog with its own set of categories. It doesn't generate an RSS feed, though, and posted articles are neither forwarded nor advertised to connections; advertising them has to be done manually.

Articles support BBcode for text formatting.

Wikis

Another optional "app" is Wiki which makes it possible to have multiple separate wikis on any Hubzilla channel, each with multiple pages. Instead of a dedicated wiki markup language, they use either BBcode or Markdown for formatting with a few additions typical for wikis.

Other Hubzilla channels can be allowed to edit wikis on a channel with a special contact role.

Webpages

Hubzilla can optionally even used as a webpage host, using the optional "app" Webpages. These pages can be formatted with BBcode, Markup or HTML. By default, they have to be rather simple, but the capabilities of Webpages can be expanded by the hub admin.

Hubzilla's own official website is running on a Hubzilla channel.

Comparison with other projects

What are some advantages over Mastodon?

  • Federates with diaspora* and StatusNet
  • Connections with channels or entire instances of Hubzilla or (streams) that have ActivityPub off
  • Native WordPress crossposter that makes WordPress federation fully bidirectional
  • Optional automatic night/dark mode
  • Multiple channels per account; no need to have multiple accounts
  • Multiple profiles per channel
  • Nomadic identity makes your content resilient against instance shutdown and moving your entire channel with everything on it very easy
  • Full channel export for backup
  • Moderated public and private discussion groups/forums (which are channels with specific role settings and thus can be nomadic themselves)
  • Single sign-on through OpenWebAuth (planned for Mastodon)
  • Very detailed permission settings
  • Very easy Facebook-style point-and-click group editing plus adding connections to groups in the connection editor
  • Preview buttons for posts and comments
  • Virtually unlimited post length
  • Summary (content warning on Mastodon & Co.) actually hides the whole post including all images
  • Quotes fully supported
  • Much more text formatting can be displayed (headlines, horizontal rules, spoilers, text colours, highlight colours etc.)
  • Text in own posts/comments can be formatted
  • Hyperlinks concealed under text can be created as a more elegant alternative to the URL in plain sight
  • More than four images per post/comment
  • Images anywhere in the text instead of only below it
  • More than four poll options
  • More characters possible in hashtags (double-edged sword)
  • Moderate your own threads, delete comments in them
  • Managed file space for images and other files, you know where your files are
  • Images aren't compressed or shrunk when uploaded
  • Add the same image to as many posts/comments as you want without re-uploading it
  • Easy-to-use automated reader-side content warnings (NSFW app) which also hide the whole post
  • Lots of additional features
  • Can integrate third-party add-ons
  • Code repositories not hosted on GitHub

What are some limitations/drawbacks in comparison with Mastodon?

  • No official mobile app named "Hubzilla"
  • No iOS apps available, no alternative to the Web interface on iPhone and iPad
  • The only working Android app, Nomad, is abandoned and hasn't been maintained in years
  • Incompatible with Mastodon apps
  • Cumbersome, maze-like default Web UI that hasn't changed much since 2012
  • Much more difficult to use
  • Incomplete and partially very outdated documentation
  • ActivityPub is deactivated on new channels by default and has to be manually activated
  • No Unlisted setting
  • No per-post language choice
  • No built-in translator
  • No "Mastodon-style" content warnings for comments
  • Existing content warnings aren't automatically taken over when replying
  • No automatic mentions when replying (unnecessary for Friendica, Hubzilla and (streams), but mandatory for Mastodon & Co.)
  • Separate way of mentioning privately may be confusing
  • Post and comment editors geared towards desktop/laptop computers with hardware keyboards
  • Adding images to posts much less straight-forward
  • Alt-text has to be manually edited into BBcode, no official documentation for this and no UI element either
  • Posts and comments often not shown on Mastodon as they were written due to incompabilities
  • Ignores not given full-text search opt-in
  • Regular filters are impractical to the point of bordering on useless, depending on the intended use-case
  • Not nearly as many channels possible on one hub as accounts are possible on one Mastodon server

What are some advantages over Friendica?

  • Connections with channels or entire instances of Hubzilla or (streams) that have ActivityPub off
  • Multiple channels per account; no need to have multiple accounts
  • Nomadic identity makes your content resilient against instance shutdown and moving even easier (Friendica was the reason why nomadic identity was invented)
  • More advanced permission settings
  • Dedicated summary field
  • Polls which have been completely removed from Friendica
  • WebDAV for the file space
  • Lots of additional features

What are some limitations/drawbacks in comparison with Friendica?

  • No compatibility with Mastodon apps
  • Only one Web UI theme available, and it's stuck in 2012
  • No tree-style thread view
  • No indicator which project a post or comment came from

More info about Hubzilla

Hubzilla is a CMS platform and Fediverse's replacement for Facebook, Dropbox, Google Calendar and much more.

Hubzilla (formerly known as Redmatrix) is a modular webserver based operating system which includes technologies for publishing, social media, file sharing, photo sharing, chat and more, including the ability to develop custom modules. These services connect across server and administrative boundaries through the communication protocol Zot, providing decentralized and nomadic identity within the Zot network, while message federation is supported over Zot, ActivityPub, OStatus and the diaspora* protocol, making Hubzilla interoperable with most distributed social networks and the Fediverse.

In 2020 the project was recognized by the NLnet foundation with a NGI-Zero Discovery grant to support its future development, highlighting the contribution of Hubzilla in providing a decentralized identity and authentication layer to the Web.

History

Hubzilla (formerly Friendica Red, Redmatrix, Hubmaker) came into existence on May 12th, 2012, as an effort by the founder and former lead of the Friendica project, Mike Macgirvin, to experiment with decentralized approaches to managing user identities and access control on the Web.

On July 12th, 2011, the protocol Zot was named for the first time.On May 12th, 2012, the initial commit of the project was made. Blogging features, WebDAV, CalDAV and CardDAV, and also a range of content management tools were added.On May 3rd, 2015, the platform software was renamed Hubzilla. On December 4th, 2015, Hubzilla 1.0 was officially launched.

Features

Hubzilla is a decentralized communication and publishing platform. A server running Hubzilla, called a hub, interoperates with other hubs primarily through the Zot protocol, yet may also be configured to function in isolation. Some notable features of Hubzilla are:

Nomadic identities - a member of a hub may create any number of web identities, called channels. The Zot protocol allows channels to be unbound from the hub where they are created. They may be ported to a different hub, but also cloned, in which case the channel's identity and data will exist simultaneously in more than one location. This provides resilience to channels should a hub shut down or become unavailable.

Access control - any item published by a channel, be it a post, photo or web page, has its own access control list determining which local or remote identities can access it.

Open Web Auth - OWA is a subset of the Zot protocol describing a method for a user agent, typically a web browser, to identify itself on behalf of a channel through what is called remote authentication. It allows hubs to provide or deny access to items and actions for identities residing in a different hub.

DAV - the WebDAV, CalDAV and CardDAV protocols are supported

Directory - a decentralized searchable directory of channels

OpenID - Hubzilla functions as an OpenID provider, allowing users to log into OpenID-enabled sites with their Hubzilla channels.

Organizational use

There is at least one documented large-scale use of Hubzilla beyond the typical personal, family or community communications platform. Peer reviewed publications in IEEE's International Symposium on Computer-Based Medical Systems, and BMC Health Services Research, describe the use of Redmatrix (today Hubzilla) as a tool for integrating and providing continuous care across the network of healthcare providers serving a neighborhood of 600'000 people in the city of São Paulo, Brazil.

Reception

An academic report published in 2015 says Hubzilla/Redmatrix "is currently most suited to be provided as an alternative to the current centralized social networks and [...] can be provided as a service by hosting providers. It has an efficient message distribution model, enhanced privacy features, and provides an unique feature named nomadic identities. [...] It is currently more mature than some of the other implementations and puts the user back in control of their data."

Hubzilla was the only open-source social network solution whose implementation of privacy is considered "Extensive" in a 2015 peer-reviewed survey paper.

Hubzilla is mentioned on the PRISM Break catalogue of software for preventing global data surveillance.

Hubzilla appears as a case and recommendation in the chapter "Tendências democráticas e autoritárias, arquiteturas distribuídas e centralizadas" (Democratic and authoritarian tendencies, distributed and centralized architectures) in the book "Democracia Digital, Comunicação e Política em Redes", organized by the Digital Culture Laboratory of the Federal University of Paraná, Brazil.

A peer-reviewed academic article (in Portuguese) from the conference of the Latin American Network for Studies of Surveillance, Technology and Society highlights the importance of features unique to Redmatrix/Hubzilla in the effort to recover privacy and decentralization of the Internet. In connection with the failure of billions of Facebook accounts on October 2021, German public broadcaster ZDF recommended alternative decentralized services, including Hubzilla: "Instead of Facebook, Friendica, Hubzilla or Diaspora can be used."

Landesanstalt für medien Nordrhein-Westfalen (broadcasting authority of the federal state in Germany) named Hubzilla as one of the services known for "ensuring high data protection and using open standards that make offerings interoperable"

The Digitalcourage association, in an article introducing the Fediverse, recommends Hubzilla as a "social-media-cockpit" given its versatility.

Further reading


External links

Main article: Hubzilla Weblinks