Here we talk about the creation of open standards and open source, freely licensed reference implementations for safe, decentralized networked communities. A new social layer for the internet, with no gatekeepers - instead, people are in direct control of their identities and relationships.
Hi everyone, and welcome!
Iām Randy Farmer, cofounder and Executive Director of the institute. Iāll expand this post later with pointers to my 40+ years of work in online communities and platforms.
Iām so glad youāre here to help!
I am Douglas Crockford. My name is Douglas Crockford. I am my name.
I founded Electric Communities with Chip Morningstar and Randy Farmer (see above).
Hello! Iām Christine Lemmer-Webber, co-founder of the Spritely Institute (along with @frandallfarmer). I also am the founding developer of the Spritely open source project. Presently Iām most well known for my work co-authoring/co-editing the popular ActivityPub decentralized social networking system, which I am proud of, but I hope that Spritely grows even bigger.
A lot of threads lead to me starting Spritely after ActivityPub, but the main motivator was wanting to figure out how to solve what ActivityPub did not yet do. Itās convenient that @crock and @frandallfarmer introduced themselves already, because the work that came out of Electric Communities Habitat (especially the E programing language) directly painted the path that Spritely was to take to get us the rest of the way. Hence Randy and I connecting.
BTW I see that @jar is also on the forum now; Iāll pre-empt their introduction by mentioning that A Security Kernel Based on the Lambda Calculus (W7) was the paper that made me go āOh my goshā¦ security can be as simple as ordinary reference-passing programming patterns? I can actually wrap my mind around this!ā In many ways, Goblins can be seen as āE meets W7ā. Mark Millerās patient explainations helped fill in many of the pieces I was confused by so I could make it the rest of the way. Actually, same with so many people in the ocap community. I suppose Iāll leave people to do their own introductions and reply with hellos from there.
A side note: even well before ActivityPub, I co-ran MediaGoblin with @eximious; I was very proud of the community we formed together. The need for a federation solution for MediaGoblin lead to my ActivityPub standardization involvement (as well as Jessica Tallonās). The choice of the name āGoblinsā in Spritely Goblins is partly a nod to the continuation of that work, but also because goblins are small sprites who often do interesting things, alone or in sizable numbers.
Welcome @frandallfarmer! Itās great to be working with you, and thanks for all your work getting this forum up and running
Hi @crock, nice to have you here! Thanks for all your work on Electric Communitiesā¦ without EC, Spritely wouldnāt have happened! I wouldnāt have figured it all out on my own if it werenāt for all the research that flowed from it!
Hello all. Iām Chris Hibbert. I work at Agoric, developing smart contracts in JavaScript for our Cosmos-based platform.
Iām responsible for Zocalo, a Prediction Market toolkit.
Iāve been a fan of capability discipline for the clean approach to object-oriented design more than the security implications, but security has become crucial in the smart contracting context.
Welcome @hibbert! Itās nice to have Agoric friends showing up here, and thank you for being the first! I actually didnāt know about Zocaloā¦ seems like an interesting project!
Re: capability discipline being a clean approach to āOOā design, I agree, or better yet, capability discipline is a great place to re-approach āobjectsā.
Speaking of, we will eventually have to tackle on here āwhat is an object anyway?ā I still think JAR on Object-Oriented (thanks @jar!) is the best article Iāve seen. But maybe that warrants a new thread, actually!
Anyway, welcome again!
Iām much more ecumenical than JAR seems to expect of OO adherents. I learned OO in the Smalltalk group at PARC. While there was a particular approach embodied in the Smalltalk-80 system, the people who developed it had built a number of other systems with vastly different styles. They were also active participants in the early OO community (helping to start the OOPSLA conference, which accepted all approaches.) Randy Smith co-developed the Self language while at PARC, and that has a very different style.
One of the earliest papers at OOPSLA presented a taxonomy, which included all the concepts that JAR discusses. They all have their place in different systems.
For me, after encapsulation (which is probably the only core concept that is necessarily part of every OO variant) the most important aspect of OO is polymorphism, which means the client of an API can know what messages are allowed to be sent to an object, but canāt be certain about the implementation. Anytime we write code that queries an objectās type the object interface hasnāt been designed cleanly and thoroughly.
Edited to add
I wrote the above after reading only about the first half of the linked article. Below that Rees reports on an interaction where he softened and qualified the part I responded to and ended up closer to mine. Different combinations of OO features are useful in different situations.
I donāt think that OO is limited to meaning any one combination of features.
Hi all - right now Iām consulting for a couple of biodiversity projects but in the past Iāve been active in Scheme compiler development and what have come to be called object capabilities. I was also a W3C groupie a while.
Iām excited to be associated with Spritely, and am trying to understand how I can contribute.
Welcome @jar! As Iāve said previously, the security kernel writeup is what got me to understand āoh, ocaps are just ordinary programming!ā So Iām very happy to have you here.
Weāve also been having a lot of private ocap conversations we havenāt documented, but which have had a significant impact on Spritely. Iām excited to apply your thinking and knowledge towards building a better Spritely!
I wrote that little piece of email a long time ago, in anger. Havenāt read it since and I donāt know what Iād think about it now. Itās possible most of the usages of āOOā have faded away and there is consensus now; things were very different in 1979. I continue to find the use of metaphors (like āobjectā) in software engineering to be not to my taste, but donāt have much of a stake.
I suppose the email was partly self-admonishment since for a while I was as guilty as anyone else of sowing terminological confusion.
Hi! Iām Jonathan Frederickson (jfred on IRC). I havenāt done much of note at this point re: object capabilities, but Iāve played with Spritely a decent amount and am eager to learn. Thanks for the invite!
@jfred Welcome! You were one of the first really serious testers of Goblins and definitely tried pushing it in ways I didnāt expect, which I was and am grateful for! Your thinking on ocaps has always been fresh feeling, so Iām excited to have you here!
Hello
Iām Jessica Tallon. Iām working on Spritely projects full time. Before that, you might know me because I worked on the ActivityPub spec with @cwebber.
Hello @tsyesika, welcome to the forum! And itās nice to be working with you again
Two recent Spritely blogposts featuring Jessica btw, both worth reading:
Iām Alan Karp. I have a Ph.D. in astronomy and was an assistant professor of physics at Dartmouth before I went over to the dark side, spending the bulk of my career at IBM and HP, mostly in research roles. That background gives me a more enterprisey perspective than many of the capabilities people I know.
By 1990 I had gotten fed up with having to constantly be aware of the boundary between machines. Why canāt you access your stuff, no matter where that stuff is and no matter what device youāre using? Iām hoping I can incorporate some of that vision, which Iāve been calling The Global Computer, into the Spritely Project.
In 1996 that idea got funded by HP Labs as the Client Utility project, a P2P system designed to support a million machines (which sounded like a big number back then). All I knew about access control was ACLs, but an hour or two of thinking convinced me that approach would never scale. I put my feet up on my desk for a couple of days to think, something you can do when you have a research job, and reinvented capabilities. It turned out I reinvented them wrong, but the āwrongā had some interesting properties. Unfortunately, the Client Utility got hijacked into a B2B product called E-Speak. The good news was that it still used capabilities, just in the form of SPKI certificates.
Later, Marc Stiegler and I built a couple of interesting prototypes using Tyler Closeās waterken system. Working with Marc taught me a lot about how capabilities make it easier to build user experiences that are so natural that one of our users asked us how to turn on security. Iām hoping to bring some of what I learned to Spritely.
Hi! Iām Danny OāBrien. I grew up in the UK, where as a teenager in the mid-eighties I managed to talk my way into an account on the (arguably) first multi-user text adventure, Essex MUD1. A little bit later, and I was desperately attempting to learn everything I could about AMiX, and the community around it, out of excitement at the vision Iād seen, of a shared, participatory, composable environment.
Cut to the present, where having gone through various micro-careers in TV, journalism and, most persistently, in the non-profit space at the Committee to Protect Journalists and the Electronic Frontier Foundation, I find myself here, talking to the very people whose work I could only dimly perceive in the days when it was easier for a zine to cross the ocean than it was a set of bits.
My current role here, apart from official Spritely overenthusiast, is as part of my work as Senior Fellow for Decentralization at the Filecoin Foundation. We see object capabilities, and free software as vital elements in a secure, private, decentralized future, and Spritely as a demonstration platform and a harbinger for the opportunities those fundamental innovations will bring.
Welcome @alanhkarp and @danny (and everyone else that Christine already mentioned)!
Alan, Iām sorry your invite was delayed, I had a typo in your email address - weāre excited to have have your experience helping with what weāre trying to do. The UI lessons you and Stiegler worked on will be invaluable in the work on the future capability based world!
Danny, it was amazing when I first learned that you were that guy that was phoning in to AMiX from England all those years ago. Weāre going to lean on you and the Foundation heavily ramping this consortium up to scale.
Hi all, my nameās Dan Finlay.
Iām a co-founder of MetaMask, a cryptographic key manager that lets you interact with websites that can propose signatures and blockchain-based smart-contract transactions to the user, and has become synonymous with what is being called web3 these days.
I keep a lot of my thoughts related to how my work intersects with ocaps on my public Roam Research database capabul.
Through a desire to see more safe and scalable economics, I found myself trying to chew on what a truly decentralized organization looks like, where membership was totally fluid, but accountability was as optimal as possible. This line of thinking led me first to the concept of delegated lending known in economics as social collateral, and when trying to build an efficient computer system for digital social collateral, found myself basically reinventing the chained delegation messages that Christine and MarkM had called ocap-ld (now zcap-ld). Once I was introduced to that work, I fell down the ocap rabbit hole, and found that language-level is a great way to express these concepts (since informed consent depends on the readability of the system at some level, so you already need a readable layer).
Once Iād begun that rabbit hole, we began a number of ocap-related projects at MetaMask, largely in collaboration with Agoric and their SES/endo initiatives:
- An extensibility system for our wallet
- A build system (LavaMoat) for confining our dependencies: Still an ongoing project mostly by my co-founder Kumavis.
- A better set of principles for thinking about what a user might use to āconnect toā an untrusted application.
Anyways, once your brain thinks in POLA and delegation, it seems like a very powerful mental model that gives us a common language for talking about some very important topics, so Iāve found that I now fall in pretty quickly with ocap-minded folks like the Spritely Institute! I love their designs and I hope deeply for them to succeed in all of their goals, and would eagerly interoperate with their systems.
A fun aside: I recently was going through a box of business cards and I found one from Alan Karp, where Iād made a note based on our conversation, which said āSays MetaMask will never work, he already solved this problem, look up ScoopFSā. I hadnāt remembered that, but I since had become a fan of his HP labs research, and have been recommending it to anyone on my team, including reading a Stiegler paper aloud on a brief Secure UI podcast I recorded.