public domain communications server - ActivityPub and Nomad (the underground fediverse)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Mike Macgirvin 7bcb21fd54 need linebreaksfor markdown 7 hours ago
.easyinstall Removed non-breaking spaces from *.md files 2 months ago
.openshift store/[data] => cache 2 years ago
Code Merge branch 'dev' of ../ into dev 2 days ago
app Change stream icon 3 weeks ago
doc cleanup 1 month ago
images icons 7 months ago
include Merge branch 'dev' of ../ into dev 2 days ago
install add migration steps 3 weeks ago
library update certs 8 months ago
tests it's done 3 months ago
util revision 4 days ago
view remove ancient xrd files 3 days ago
.gitattributes Required for github/Windows 10 years ago
.gitignore add yaml info blocks to themes 3 months ago
.htaccess Change main router request variable from 'q' to 'req'. This is necessary to implement search in the twitter api addon, because twitter requires use of the variable 'q'. 4 years ago
.travis.yml 👷Extend Travis, add PostgreSQL10. 4 years ago
CONTRIBUTORS update some project files (contributors, composer) 2 months ago need linebreaksfor markdown 7 hours ago whitespace 2 months ago doco 1 day ago
ServiceWorker.js psr12 updates 6 months ago
boot.php ensure App::$sys_channel is set for all processes, both web and cli. 3 weeks ago
composer.json version 2 months ago
composer.lock update some project files (contributors, composer) 2 months ago
index.php it's done 3 months ago
version.php doco 1 day ago

TL;DR An open source fediverse server with a long history of innovation based on privacy, resilience, and ethics.

This repository first went public in 2010 and spawned a number of fediverse-related projects. Friendica, Hubzilla, Zap and many others. Those became branches of this tree. Some turned into independent open source communities. Some withered and sputtered out. This is the main development trunk.

My name is Mike. I'm retired from open source now, but building decentralised communications software is what I do; and I've been doing it since before the web existed. So this isn't a hobby or get rich scheme - it's my life's mission and this repository is where I build and test new concepts and ideas.

From day one the question was how to build a federated/decentralised communication stack that provides more control over your privacy, and respects all people and cultures - including those which have a different political bias; while allowing them to all co-exist in the same space (and without killing each other). We've come up with lots of creative soutions to the thorniest of decentralisation problems over the intervening years.

I'll highlight the most important ones: we implement cross-domain granular permissions and cross-domain (nomadic) identity and cross-domain single sign-on. All of these work together to provide a social platform which is probably unlike any you have used before. It is fully decentralised, but provides many features that were previously only available from monolithic centralised systems. This is a huge distinction from many/most other fediverse projects and could represent a killer app for both the fediverse and the internet at large once adopted at scale. This is all coming to the internet anyway as it is a natural progression, except in our vision, your online existence belongs to you and not to Facebook, Twitter, Microsoft, and Google.

Permissions are your gate-keeper. This is how you free yourself from trolls and abuse and spam. You can also block those you don't wish to see, but you'll rarely (if ever) need to do so if your platform just provides sensible permissions to begin with. You also control the visibility and distribution of your communications to any desired audience; either individuals, sharable collections of individuals, ad-hoc communities, topical interest groups, or to the world if you desire.

Nomadic identity gives you control of your online existence. You can replicate your identity and all your data in near real-time to multiple service providers. If any provider goes offline, even for an hour; you are completely unaffected. If one of your providers cancels your account because they don't like your ethnic group, political/sexual belief system, or if they get hit by a bus or don't pay their hosting bills, you are completely unaffected.

Single sign-on works with permissions to provide access to private media content and hidden conversations that your friends publish on their own sites. It's the glue which binds hundreds of diverse websites into a single multi-faceted entity, while your permissions regulate what others can do and see within your own space.

There are hundreds of other features available; but these are the defining features which have been constant for about the last decade. At one point there were so many features that we couldn't manage them all, so we simplified. Now the interface is much more sleek and basic; and you can add apps from our free app store to provide any advanced features you desire or require.

Since 2017, every branch of this repository evolved to support communications over ActivityPub, the current web standard for social communications. This provides immediate access to (currently) around 5 million people across (currently) around a hundred different software applications. There are Twitter clones and Facebook clones and Instagram clones and YouTube clones - and we interact with all of them. In the interests of full disclosure, this repository first went public in 2010 as a decentralised Facebook alternative, but we've since turned it into something completely different and no longer care about emulating anybody or anything. We provide a social experience and privacy mechanisms and features you simply won't find elsewhere.

This software will install as a fediverse server using the LAMP stack. There are also containerised installations available. It is regularly maintained and updated and you are welcome to help - if you want. There is no formal organisation here. Either help out or don't. Many/most of our sites are privately run on small devices for family and friends and we don't know and don't care how many exist or how many "users" are on our systems. The servers themselves require very little ongoing maintenance and we spend a lot of effort providing a level playing field for all. You have the same features and abilities no matter how big (or small) your server is.

This work is dedicated and released to the public domain with no strings attached. Be advised that many others have contributed code to this repository under a number of different OSI-approved software licenses during its existence. This has no effect on any of your fundamental software freedoms; although corporate legal consultants who wish to re-appropriate our work for their employer's profit will likely find this lack of license clarity "troublesome". This is intentional.

The current name of this repository implies fluidity. As a brand or product it technically does not exist. This is also intentional. The software provides general web communications infrastructure. It's your website. Your site is your brand. Not ours.