Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
What do you think about Solid? #36
Hi @DavidMihola! Thanks for asking. I'll aggregate a few other answers I've given in other occasions and then make this post my main answer to that question.
I think that the more decentralized protocols we have, the better. One of them will work out in one specific way. I don't think there is supposed to be competitors at this point, and because they are open protocols for decentralization, it means we can build interoperability between them.
About Solid itself, I think it is a spec-first approach. They took 15 years to write the spec, and now they're saying the community can begin building the apps. The approach in Scuttlebutt is the hacker way, it's a hack-first approach. It began in Node.js, and many of its modules were proof of concepts that had to evolve to become more production-ready, and only now that it's validated, we are spec'ing it on paper. It has worked well to make things happen, and see if people are actually going to use it. I would prefer the hack-first spec-later approach, while Solid is doing the opposite. It could work either way.
That said, 15 years in spec is a very long time, the world back then barely had social networks and mobile phones were Nokia phones. People were giggling about the prospect of 1 megapixel cameras on their phones. If you look at the seminal article from 2003 that inspired Solid, they mention the the read-write web. In my opinion, the read-write web is already perfectly embodied in the Beaker Browser. And Beaker is working software, with a self-growing community.
But Solid is very different to Beaker. It's centered around this pods concept that you install on some server to you hold your data. What about easily writing on the web? How does Solid answer that? The answer seems to be through apps that access my pod data, but it's not justified why is that a good idea to begin with. And the approach to identity is in my opinion outdated. Nowadays with cryptocurrencies and p2p protocols (like Dat or IPFS or Scuttlebutt), identity is a cryptographic keypair, yet that's not the case in Solid:
So you need to sign up with an identity provider, using an old-fashioned username+email+password flow. Typically one of these few cloud providers hold that responsibility https://solid.github.io/solid-idps/ As such, I don't believe Solid is thinking correctly about offline decentralization (like Scuttlebutt) or interplanetary decentralization (like IPFS). The cloud requirement doesn't end there, it continues with storage:
So having both identity and storage in these cloud providers is an assignment of heavy responsibilities to those. It's looking much more like federation and less like full decentralization. In other words, federation is closer to centralization, and in the long run easier to centralize (think how Gmail took over email, a federated system).
And the apps, where are they, beyond just the prototypes? 15 years in development, maybe they have one app by now? Not really, they seem to be asking the community to do it.
And the project isn't that well run. You would think that the MIT homepage is the official one since it's been running longer, but they now just announced their new official homepage, which is not an MIT thing anymore, but run by a new company. The link between these two pages is not obvious and not clearly communicated.
And their value proposition on the new website is honestly weak. It's not about the protocol itself, it's about Sir TBL, 15 years in spec, and the promise of apps in the future.
Historically, these p2p protocols' approaching identity as keypairs has made it hard for them to handle multi-device and device-decommissioning workflows (which are of course non-problems for federated/cloud-ish systems). My small question is: have the p2p protocols either solved, or are they close to solving, these problems associated with one user with multiple devices, the set of which change over time?