Solid, which comes from “social linked data”, is a proposed set of conventions and tools for building decentralized social applications based on Tim Berners-Lee’s Linked Data principles. You can find the project page for the Solid framework here on Github.
Solid is a framework in which other applications can be run to create an open p2p social space. Open source software within this framework may, in the future, provide all those services that centralised social media (think Facebook, Twitter, LinkedIn, many others) provide today. Such services are: identity, authentication and login, authorization and permission lists, contact management, messaging and notifications, feed aggregation and subscription, comments and discussions, and more.
While we have, with Solid, a framework for a distributed p2p social network, we do not have the applications yet that are going to use that framework. Quite some programming work remains to be done.
Calling on programmers: Please look into the Solid framework and adapt/adopt as possible
From a discussion on the P2P Facebook page, we can glimpse some more insight. Melvin Carvalho posted this:
“Try not to think of Solid as separate from the web. All web clients and servers already run 90% of the solid protocol. These are just the features invented by Tim Beners-Lee from the very start of the web, to make it P2P (this is all laid out in his book, weaving the web, which is a sort of manifesto, that unfortunately does not gain the attention it deserves). But if I can summarize.
1. The core of Solid is actually the web, web 1.0, web 2.0, web 3.0. Any system on the web is either already compatible with Solid or could be made compatible much in the same way that linux uses drivers to connect to things. So the starting point of solid is everything we have today. But the Web is an ambitious project, it wants to change humanity for the better, via a giant network effect. The first phase of the roll out was just documents (web pages) because that was needed. I’ll list the next phases.
2. The web should be both documents and data. Documents are a delivery mechanism for data. 15 Years of web standards have matured to allow another layer of data to emerge in the web which is useful in itself, aka Linked Data. The state of linked data is that it is very widely adopted with perhaps more than 50% of the web using it already (but normally in a rather boring way). Solid builds on this data layer in order to bring much more interesting functionality. You dont have to use this feature, but if you do, the scope of use cases you can cover with the web increases by an order of magnitude.
3. The first folder in any web server is called public_html. The web was never intended to stop there. The last 25 years has been a lot of work on private data and also shared data. Solid adds a simple access control mechanism powered by linked data to enable you to share what you want with who you want. And protect your privacy. This is a feature that can be used with Solid but you dont need to. You can just keep everything public and the web will work as-is.
4. Browsers are a problem on the web. The idea of browsing says “you can look but you cant touch”. The web was designed to be interactive. The first browser was also an editor. This is the concept of the “read / write” web. But since Mosiac is the father of all browsers today, the writing functionality was taking out. Marc Andressen said it was too hard. But Tim knew it could be done, because his original web browser did it. So how is it possible? Well essentially you have a save file option using HTTP POST, and the ideas of folders. This is standardized in what’s called the LInked Data Platform and is a W3C REC. It builds on linked data and just lets you save your files and data to any server that has this turned on. Its a small change to any existing web server to allow this, and the hope as a w3c REC is that people will start adding it to sever configs. Of course, ability to write also comes with the need for access control, so that is why when taking write functionality you probably want to take permissions.
5. Finally as a popularly requested feature solid provides realtime updates to subscribing to resources. It doesnt need to go in the solid spec, nor does anyone need to implement it, but you can build nice realtime apps with tight feedback loops with this feature.
So in summary, anything you can do on the web today is already solid. Solid the spec just offers more festures, more decentralization and more P2P (as the web was designed to be). App developers dont need to do anything different to what they do today using HTML, HTTP and AJAX. But if you are a fan of decentralization you can start propagating that pattern to clients and servers all through the web, and we’ll see the web transformed from the solid / centralized system it is today, to to a hybrid where both decentralization and centralization offer choices for a large user base.”
Here’s the whole discussion on the P2P Facebook page …
Linked data by Tim Berners-Lee
Re-decentralizing the web (the Solid project page on GitHub)