Solid is a web decentralization project led by Tim Berners-Lee, the inventor of the World Wide Web, developed collaboratively at the Massachusetts Institute of Technology. The project "aims to radically change the way Web applications work today, resulting in true data ownership as well as improved privacy" by developing a platform for linked-data applications that are completely decentralized and fully under users' control rather than controlled by other entities. The ultimate goal of Solid is to allow users to have full control of their own data, including access control and storage location. To that end, Tim Berners-Lee formed a company called Inrupt to help build a commercial ecosystem to fuel Solid.
History
Two decades after Berners-Lee invented the World Wide Web in 1989, he outlined the design issues of what later became the Solid project in drafts he wrote for the World Wide Web Consortium. Berners-Lee became increasingly dismayed at seeing his invention being abused, such as when Russian hackers interfered with the 2016 US elections, when the Facebook–Cambridge Analytica data scandal became public, when Facebook in 2012 conducted psychological experiments on nearly 700,000 users in secret, and when Google and Amazon applied for patents on devices that listen for emotional changes in human voices. Berners-Lee felt that the Internet was in need of repair and conceived the Solid project as a first step to fix it, as a way to give individual users full control over the usage of their data. The Solid project is available to anyone to join and contribute, although Berners-Lee advises that people without coding skills should instead advocate publicly for changing the Internet. In 2015, MIT received a gift from Mastercard to support the development of Solid. Berners-Lee's research team collaborated with the Qatar Computing Research Institute and Oxford University on Solid. In 2018, Berners-Lee took a sabbatical from MIT to launch a commercial venture based on Solid, named Inrupt. The company's mission is "to provide commercial energy and an ecosystem to help protect the integrity and quality of the new web built on Solid."
Design
There are a number of technical challenges to be surmounted to accomplish decentralizing the web, according to Berners-Lee's vision. Rather than using a centralized spoke–hub distribution paradigm, decentralized peer-to-peer networking is implemented in a manner that adds more control and performance features than traditional peer-to-peer networks such as BitTorrent. Other goals are for the system to be easy to use, fast, and allow for simple creation of applications by developers. Solid's central focus is to enable the discovery and sharing of information in a way that preserves privacy. A user stores personal data in "pods" hosted wherever the user desires. Applications that are authenticated by Solid are allowed to request data if the user has given the application permission. A user may distribute personal information among several pods; for example, different pods might contain personal profile data, contact information, financial information, health, travel plans, or other information. The user could then join an authenticated social-networking application by giving it permission to access the appropriate information in a specific pod. The user retains complete ownership and control of data in the user's pods: what data each pod contains, where each pod is stored, and which applications have permission to use the data. In more detail, Solid consists of the following components:
An organized collection of standards and data formats/vocabularies providing the same capabilities that centralized social media services offer, such as identity, authentication, login, permission lists, contact management, messaging, feed subscriptions, comments, discussions, and others.
Specifications and design notes describing a REST API to extend existing standards, to guide developers building servers or applications.
Servers that implement the Solid specification.
A test suite for testing and validating Solid implementations.
An ecosystem of social applications, identity providers, and helper libraries that run on the Solid platform.
A community providing documentation, discussion, tutorials, and presentations.