Files: 724f7f4db9d691f2dabb938371fd954eda5404c5 / principles.md
Scuttlebutt Principles
secure-scuttlebutt is a venn diagram of the overlay between these two things:
- avoid hard data replication problems (single author append only log, easy to express replication state & no conflicts)
- need to build engaging apps with viral growth (can apply web 2.0 playbook)
It's a synergy between computer and human abilities. Computers move the data, but we levearge human filtering to solve the capital-H Hard Problem of decentralized systems: avoiding Sybil Attacks - humans are much better at detecting spam/etc than computers, and social apps have this "follow" or not decision naturally built into them.
Not that I think social apps are the most worthy, but rather that its an easy design and can be applied to a wide variety of application needs, and then hopefully this will lead to another generation of protocol development.
Resilience
When it comes to emergency survival situations, it helps a lot if your survival equipment is also the equipment that you use every day. Then you know it works, is maintained, and you know how to use it!
Governance
teaching a man to fish is the easy part, you must then teach his community how to govern a commons
@yorkshire-moose we also use it to figure out what it means to have decentralized communication medium.
Many of the concepts we have for thinking about this stuff are inadequate, for example, you asked about your "account". On a normal website, your account is just a record in a database which says if you know a password, you can post as that account. Before computers, you might have joined a club and "signed up" in the club's membership registry (a book). Because computers where first sold to military, then large corporations. Of course computers are about accounting. Keeping records about who owns what in books, or book-like systems.
In a database system, all the power is in the database. It's often called a "single source of truth". Who can do what is ultimately controlled by whoever administers the database.
Here, we have no central database to decide for us what a given action means, instead when you make a post or a 'dig' or change your picture, the other peers (or rather, the software they run) interprets that. A social consensus. Like how "blue" means what it does because we agree it does, and that agreement can also evolve. "blue" means, at least, a color, a sad feeling, and a certain type of film.
But what are the implications of a system that doesn't behave like an accounts book? Where could that go?
Just trying to understand what it means to be free.
It's true, developers do have a lot of power, and users have very little. "user" is another of these words which are problematic in this context. In terms of political empowerment, the implications of "user" is a lot like "pleb". Developers are like the landed gentry.
But, there is a natural right that users always have: they can choose whether or not to run a given piece of software. Developers often act to hamper this right, for example, when you use a website your browser always "installs" the latest version. If you download a program and run it, you can at least, keep running the old version, if there isn't an automatic update mechanism (which empowers developers again). There used to be a lot of 3rd party twitter clients, but they stopped that when they introduced advertising, having a centralized system gave them the power to do this easily. The user still has the option to quit facebook, etc, but they must either take it or leave it. It's an ultimatum.
But since secure scuttlebutt is a protocol, I can never stop someone from implementing, or choosing to use different software to interpret it. That is why I call it a "natural right" it's just there, basically a part of the universe, and you can act to hamper it, but you can never truly take it away
But what happens if you instead act to enhance that natural right? If you make it easier for users to choose their interpretation of reality, and harder for developers to impose ultimatums?
Developers get their power from users choosing their software, so if users have more freedom to choose, it will force developers to make better software. To create software that helps users live better lives, instead of herding them like cattle into advertising-milking sheds.
But of course, to do that, we actually have to rethink a bunch of stuff.
Ultimately, the question is, if we make a better system, will it win?
Dogfood
always be rewriting everything
no, not sure. It's just a plan to get something working, so that we can build on that then explore further.
Modular
I think there is a sliding scale here. to build a p2p system currently you must understand crypto and distributed systems. That is much harder than plain web development. And then easier still is configuring drupal or wordpress. You can still make a hell of a lot with drupal, just by enabling/disabling/configuring modules. This is a pattern that has been demonstrated to be successful in practice.
Uncapturable Distribution
Q: is the npm registry still open source? A: no. npm, inc is now intergalactic feudal empire
https://github.com/npm/registry/issues/41
he who controls the spice controls the universe
@rabble just gave a very interesting talk at opensourceopensociety here in wellington.
largely, it was about how twitter started out as an open platform, and then look a right turn and closed up - but what I didn't know, is that this was actually a reaction to an attempted hostile takeover. Basically, A there was a VC would tried to acquire all the independent twitter clients, and then have them also push to another service, shifting the data out of twitter.com's hand.
This was the first I have heard about this, though, but it certainly gives us a more concrete threat model. Since we are basically trying to take the road that twitter didn't.
Built with git-ssb-web