I have an idea rattling around in my head and I thought Lobste.rs would be a good audience to talk about it with. Also, I don’t have a blog.
I want to make federated protocols support sandboxed general purpose cloud computation. I see the current move towards federated protocols as following a sort of progression:
The natural progression as a user of classic protocols is to gain the ability to script and tweak the interactions however I desire. I can write a bash script on my computer that runs curl, saves the result to git, and then pushes to github over https. This is possible largely because the application is local (I can choose my interface software, and I can write scripts that are also local).
However, the newer generation of protocols are based on a thin client model – I typically interact with them entirely in my browser. While advanced users continue to be able to run software on machines that they control, for many users these systems lose the natural progression of script-abiilty or plugin-ability that used to be possible with a local software paradigm.
Therefore, it seems clear to me that the next generation of federated “protocols” ought to directly support user extensibility via sandboxed execution. This is possible via
BSD jails, and other similar tools. What’s missing is tight integration with a common set of abstractions, so that these extensions are accessible by moderately-power-users, and not full software engineers.
I think this ends up looking like a thin API layer over a script execution environment. I’m envisioning a federation setup where:
To experiment with these ideas, I started writing a small rust service that runs user-submitted lua scripts to play around with some of these ideas. However, I wanted to see if Lobste.rs has any thoughts on this idea, or any pointers on prior art that might be related?
The big pain points I think will be figuring out quotas, and moderation.