Using Hubzilla to advance the development of Nextcloud federation

For those who have not heard of Hubzilla, it is an advanced platform for content publishing and social networking using a decentralized identity and permissions system. Hubzilla and Nextcloud are converging from their initially different starting points, and it would be beneficial for the two projects to begin seeing what they can learn from the other.

Specifically, Nextcloud started with a focus on a robust web interface for storing personal data as well as apps to sync this data between devices. Years ago, ownCloud’s CalDAV, CardDAV, and WebDAV enabled people like me to store their events, contacts, and files conveniently on a self-hosted server. We were able to abandon proprietary cloud services!

In constrast, Hubzilla has its roots more in the social networking and blogging space. Hubzilla is the evolution of Friendica and RedMatrix, developed throughout the years primarily by the same person who created it. The unique and central innovations of Hubzilla are nomadic identity and fine-grained, decentralized access control for content. These features found their most immediate use in the bubble of popularity of decentralized social networks like Diaspora and Friendica. People could run their own server (“hub”) with their own channel (analogous to a “profile”) and seamlessly share posts and photos and such with people on completely independent hubs. Nomadic identity allows people to have clones of their channels on independent hubs, giving them not simply redundancy in the event of a hub outage, but a secure online identity independent of a particular hub or domain.

Both Hubzilla and Nextcloud are highly extensible and support a growing number of apps. Currently Hubzilla is approaching Nextcloud by implementing CalDAV and working on CardDAV for contact syncing (and has had WebDAV accessible file storage for some time). Nextcloud is approaching Hubzilla in its efforts to create a federated cloud system, but it many ways it will be re-inventing a very complex system that already exists and has been tested for years in the real world.

Hopefully this sparks the interest of some Nextcloud developers who are interested in the long term. Federation is the start. Integrating Hubzilla’s protocol for nomadic identity and decentralized access control into Nextcloud would be an enormous leap forward for the web, as well as a major success for data privacy and freedom.

I would love to hear the Nextcloud community’s feedback and will do my best to answer your questions.

6 Likes

Without knowing the full technical details, I’m sure this would likely be a huge undertaking, but, like you, I believe potentially to be a very valuable one. While the two systems probably have very different underlying frameworks, ultimately both projects are converging towards an overall answer to the question of “How do I protect my own data, share it with just those I wish to, and receive just what data I want from the people I want it from?” Fundamentally this is not just about syncing our own data, but who we wish to allow access to that data and how we protect and update those identities (both for the people sharing with and receiving from us).

I don’t think that completely merging the two projects is the answer, but certainly looking at how open protocols can be shared, refined and extended would be a great thing, which I guess is exactly what you’re already proposing @andrew.

2 Likes

Exactly.

I’m not as familiar with the Nextcloud server codebase, but looking through it now it doesn’t appear to be so different. Both projects are written in PHP/HTML/JavaScript and have virtually identical server requirements. More recently Hubzilla also has made a significant shift to utilizing PHP classes. Translating code to implement features or protocols from one to the other is probably not a daunting task.

2 Likes