Ownership of Technology
August 19 2018
The issue of 'ownership' of technology has been a recurrent, almost sub-current, theme in the PyWacket project. Why go to effort of creating a unique operating environment from scratch, much of which can be had from commercial providers for a few dollars a month ? The answer is ownership.
Here's a question for Drop Box users. Who actually 'owns' the files you drop into the Dropbox site ? Not you ! The physical files are owned by Drop Box, pretty much to do with as they please. Ownership implies total control over your resources and that control is increasingly being shifted away from you and into the hands of 'others', especially others with lots of money and political clout and a large staff of lawyers looking out for the interests of the true owners.
What happens if Drop Box suddenly decides to go out of business or starts charging high fees for their services ? Granted that it's unlikely, but what happens then ? If you can't create your own drop box function that you control or doesn't depend entirely on "the kindness of strangers", then you don't own it - it belongs to someone else.
Who actually owns The Web anyway ? The answer is not clear. Recent attempts to 'reform' the web have shown that, given the current political climate, ownership of public resources can be wrestled away from the public control and into the hands of well-funded ( and presumably badly-intentioned and rapacious ) individuals and corporations. Is there anything to do about it before the hammer comes down ?
There is at least one outstanding example, and probably many more when I find time to research it.
Solid
What is Solid?
Solid is an exciting new project led by Prof. Tim Berners-Lee, inventor of the World Wide Web, taking place at MIT. The project aims to radically change the way Web applications work today, resulting in true data ownership as well as improved privacy.
What does Solid offer?
Solid (derived from "social linked data") is a proposed set of conventions and tools for building decentralized social applications based on Linked Data principles. Solid is modular and extensible and it relies as much as possible on existing W3C standards and protocols.
Re-decentralizing the web
https://github.com/solid/solid
Solid (derived from "social linked data") is a proposed set of conventions and tools for building decentralized Web applications based on Linked Data principles. Solid is modular and extensible. It relies as much as possible on existing W3C standards and protocols ...
Standards Used
The Solid platform uses the following standards.
RDF 1.1 (Resource Description Framework) (see also RDF Primer) is heavily used in Solid data models. By default, the preferred RDF serialization format is Turtle. Alternative serialization formats such as JSON-LD and RDFa can also be used.
The WebID 1.0 (Web Identity and Discovery) standard is used to provide universal usernames/IDs for Solid apps, and to refer to unique Agents (people, organizations, devices). See also the WebID interoperability notes for an overview of how WebID relates to other authentication and identity protocols.
WebIDs, when accessed, yield WebID Profile documents (in Turtle and other RDF formats).
The FOAF vocabulary is used both in WebID profiles, and in specifying Access Control lists (see below).
Authentication (for logins, page personalization and more) is done via the WebID-TLS protocol. WebID-TLS extends WebID Profiles to include references to the subject's public keys in the form of X.509 Certificates, using Cert Ontology 1.0 vocabulary. The authentication sequence is done using the HTTP over TLS protocol. Unlike normal HTTPS use cases, WebID-TLS is done without referring to Certificate Authority hierarchies, and instead encourages host server-signed (or self-signed) certificates.
In Solid, certificate creation is typically done in the browser using the HTML5 keygen element, to provide a one-step creation and certificate publication user experience.
Authorization and access lists are done using Basic Access Control ontology (see also the WebAccessControl? wiki page for more details).
Solid uses the Linked Data Platform (LDP) standard (see also LDP Primer) extensively, as a standard way of reading and writing generic Linked Data resources.
... [ more to come ]
