Solid (derived from "social linked data") aims to decentralise power on the web to ensure that the web is used for the global public interest by providing the Solid specification based on Linked Data principles. Read more about the Solid values.
The Solid Specification describes a rest api that extends those existing standards, contains design notes on the individual components used, and is intended as a guide for developers who plan to build Pods or Solid applications.The Solid specification is modular and extensible and relies as much as possible on existing W3C standards and protocols.
The Solid specifications can be found in the following repositories:
Read how to make a suggestion to the Solid specification.
The Solid Test Suite is currently being developed. Once the Solid Test suite is ready you will be able to test if your Solid solution is adhering to the Solid specification with the Solid Test suite.
Solid Projects are implementations of the Solid specification within Solid Github account. Anyone can submit a project proposal to the Solid Team including a description of the project name, scope, manager, contributors and names of associated repositories needed. The Project Manager is responsible for determining the scope of a project as well as supporting the coordination of the Project Team Member. The Project Manager will ensure that any issues and pull requests related to their project are assigned to Project Team Member, ensure that those assigned are on the case, and are responsible for merging pull requests and closing issues associated to their project. A Project Manager has admin rights over the project they manage. A Project Team Member is working on a specific official Solid project. Project Team Members may have issues assigned to them by the Project Manager. Project Team Members have admin rights of projects they are working on. If you would like to join an existing project, reach out to corresponding Project Manager. If you would like to start a new project, reach out to the Solid Manager with your project proposal including a defined aim, Project Manager, and Project Team.
The implementation of the Solid specifications can be found in the following repos: oidc-auth-manager, solid-multi-rp-client, folder-pane, pane-registry, oidc-rs, keychain, solid-pane, solid-notifications, solid-profile-ui, solid-connections-ui, pane-source, jose, solid-inbox, oidc-op, solid-tif, solid-client, oidc-rp, issue-panes, solid, solid-idp-list, kvplus-files, solid-email, oidc-web, solid-sign-up, solid, takeout-import, node-solid-ws, solid-auth-tls, solid-auth-oidc, meeting-pane, solid-dips, solid-cli, solid-web-client, solid-permissions, acl-check, node-solid-server, solid-auth-client, wac-allow, mavo-solid, solid-auth-client, ldflex-playground, query-ldflex, react-components, profile-viewer-react, solid, solid-panes, solid-ui, mashlib
There are multiple Solid prototypes that you can use and and explore already. In order to try out some of the Solid, you will first need to get a WebID and a Pod. You can also self host your Pod rather than opt for a Pod provider. Once you have set your WebID and Pod you can use Solid applications.
Anyone can implement the Solid specifications and is encouraged to join the W3C SOlid Coommunity Group where the the development of the Solid specifications as well as coordinating those who are implementing the Solid is discussed. Minutes of previous conversations and agendas of upcoming conversations of the W3C Solid community Group are publicly available. You can find a list of all organisations implementing the Solid specifications.
To build on Solid a basic understanding of Linked Data is helpful. You can find a list of linked data learning resources.
Solid Challenges are set by a lead who can provide guidance to those who participate in a specific goal. Previous Solid Challenges include:
Read more about resources that could be suited to building on Solid. If you know of any grants or channels to apply to resources that would allow developers to focus on building their application on solid, please do share them by adding them to the list.
You can read a complete set of standardised definitions in the Solid dictionary and the Solid Logo usage guidelines.
Each repository has a license of which you can get an overview.
Identity providers authenticate users with a WebID. The identity provider is the server hosting the profile documents to which the WebIDs refer used to authenticate for WebID-OIDC. Some identity providers are also Pod providers. Read a list of identity providers as well as instructions on how to become a Solid identity provider.
Pod providers offer storage to the user. Some Pod providers are also identity providers. Read a list of Pod Providers as well as instructions on how to become a Pod Provider or self host a Pod.
Read a list of Solid Apps as well as instructions on how to build a Solid app. Solid applications are somewhat like multi-user applications where instances talk to each other through a shared filesystem, and the Web is that filesystem.
The Solid GitHub account was started by the Solid academic project at MIT and today is run by the Solid Team using defined processes.
Read all past questions or ask a new question on the Frequently Unanswered Questions page.
You can find a list of mentions of Solid in the press. The Solid Team and W3C Solid Community Group occasionally give talks or write articles. Find out about upcoming Solid Team talks. Contact the Solid Team if you are interested in inviting them a a speaker at your event.
The Gitter chats associated to the Solid GitHub account include
- solid/chat: a place to talk about all things Solid
- solid/solid-spec: a place to talk about the Solid specification. Note that actual changes to the Solid specification happen through the official processes.
Groups implementing the Solid have a dedicated channel based on the implemtatnion.
- solid/app-development: Solid app developers can share tips and ask questions on this channel
- solid/pods: Solid Pod providers can share tips and ask questions on this channel
- solid/events: Solid Event organisers can share tips and ask questions on this channel
Solid Projects have dedicated chat channels.
- site-and-docs: a place to talk about the Solid Project 'Solid Content Generation'
- solid/test-suite: a place to talk about the Solid Project 'Test Suite'
- solid/data-browser: a place to talk about the Solid Project 'Solid data browser UI/UX/DX'
- solid/node-solid-server: originally a place to talk about Solid Project NSS-v5.0.0 and now a dedicated space for Solid Project ASAP on Server
Solid Challenges have dedicated channels associated to them
- solid/chat-app: a place to talk about the Solid Chat Challenge
- solid/blog-app: coming soon as a place to talk about the Solid Blog Challenge
Solid Events provide an opportunity for anyone to meet and talk about Solid in person. Anyone can organise a Solid Event. If you are thinking about running a Solid Event in your city below is some guidance from previous Solid Event Organisers. If you have run a Solid Event, please contribute to the guidance information and share your learnings with the Solid Manager to incorporate. If you are organising a Solid Event, let others know about it by publishing it.