Utrecht, 9 September 2020
Ten years ago today, from a small studio apartment in Madrid, I registered the domain name unhosted.org for my attempt to help save the web. It was the start of a wonderful and heart-warming decade where I discovered the privilege of being part of an amorphous flock of people who Believe in Better.
Continuing as an independent developer
For me, the past decade had two clear halves. For the first half of the past decade, I was happily fun-employed, working only on pro-bono open source projects. I discovered I could work for the public good and live off donations, as a digital nomad.
During the second half, I (mostly) settled down in Utrecht and (mostly) worked at three companies that share a vision of what you might call technology for freedom. Working at amazing companies like Mozilla, Ripple and Inrupt, at the forefront of innovation and alongside people who believe in the power of decentralization, has been very inspiring, and yes, at times also just comfortable.
And now, I decided to work as an independent developer for the coming years. I will pursue grants and donations (like NGI Zero and Grant for the Web), work as a freelance contractor, for open collectives, and pro bono. That way, I think I can have an impact and work on what I believe in. And it's fun!
Vision and Execution
I used to blog, post and Tweet a lot about what I was doing and planning; nowadays I prefer to just keep my head down and work on stuff. But if you want to know, I'm currently working for the following projects:
- Terms of Service; Didn't Read
- Solid OS
And this is a rotating list. For instance, my current work on ToSBack will be finished in a few weeks, and then I'll focus more on the other three. And I'm also involved in the discussions and brainstorm meetings of several more projects, including of course remoteStorage (still one of the main projects from the Unhosted movement and still actively being developed), LiteWrite, Open Cloud Mesh, Web Monetization, node-solid-server, solidcommunity.net, Sevi, Schluss, a stealth project I can't tell you about yet, Solid in general, and (maybe my personal favourite) LedgerLoops.
Managing the rotation of projects I work on is something I'm currently learning on the fly. I have some rough plans about what I'll work on for the next few months and what I hope to start working on after Christmas, but the answer to the question "what are you working on" will usually be a list.
One thing I learned about technology innovation projects is that they need both: Vision and Execution. Whereas I can (and do) participate in the vision discussions of many small projects, I'll have to choose one at a time where I dedicate my working hours to execution of the project plan.
Working on three projects at the same time means that probably in a week, I'll get nothing done in any of them. So instead, I try to spend the bulk of my working hours with my head down writing code for one single project, and then attend the weekly meetings of at most two or three projects.
During the fourth year of the Unhosted project, I wrote an HTML book that ended with the decision to work on IndieHosters. Similarly, after ten years of trying to build apps that sync with a personal data store, one maybe inevitable conclusion is that we're not doing very well yet on the interoperability front. For interacting with a personal data store (PDS) there will probably never be one winner-takes-all protocol - at least not soon. There are several protocols (WebDAV, remoteStorage, Solid), and with remotestorage.js, we built a polyglot client, which mainly solves the interoperability problem at that layer.
But there is of course another and maybe larger interoperability problem, when an app wants to discover and interpret data that was stored on the user's PDS by some completely different app from a different service or vendor. My gut feeling is the app that writes the data gets to choose the format. But ideally they will not each pick a completely different format. Solving that is the grand mission of PDS Interop. We have remoteStorage modules and ShapeRepo. The "deep integrations" in the Solid-Nextcloud bridge that we're building with donations from NGI Zero are just another small step. And maybe we'll get there in the decade that starts now!
Happy tenth birthday, Unhosted
There is not much activity anymore on unhosted.org and the Unhosted mailinglist, but that doesn't mean that the momentum disappeared. Maybe we don't call our projects "part of the Unhosted movement" anymore. I now usually say our work is "part of the Redecentralize movement", in general. A bigger umbrella, easier to point people to, and Unhosted was one of the projects that inspired Francis Irving and others to start the Redecentralize interviews.
For some projects we can clearly say that they sprang from the Unhosted movement: remoteStorage, SocketHub, Terms of Service; Didn't Read, and in part also 5apps and IndieHosters. They are all still actively maintained, and the movement of projects is happily unorganized, almost as decentralized as the technology they promote. I think that's a great achievement for this movement's first decade!