Replying to Avatar hodlbod

# #lastword

A few weeks ago, Mike proposed the addition of a feature to nostr. The content of the proposal itself isn't important, but the resulting conversation illustrated something important about nostr development that I wanted to draw attention to.

If you're interested, you can find the issue [here](https://github.com/nostr-protocol/nips/issues/1204). The idea was basically a tag that disabled comments to a reply, for when you wanted to gracefully exit a conversation that had outlived its usefulness.

While I definitely sympathize with the experience of getting stuck in an unproductive argument and being unable to leave because you have to have the last word, I do think it's better to take responsibility for leaving the conversation, rather than make other people do it for you. You can either outlast your opponent, let them have the last word, or tell them "I don't want to talk about this any more, I'm not going to reply".

This is just my opinion, and it's really not important whether I'm right or not. What was interesting was how Vitor responded:

> I am not sure if the NIP review process should consider "what's good for the user" in the discussion. That kind of nanny state thinking is what went wrong with regular social media in the first place.

# Permaculture and Ethics

What it sounds like (although I have a hard time believing this is actually his position), is that Vitor is dismissing the relevance of an ethical framework in designing a protocol, preferring to stick to the mechanics of what is being suggested. As Vitor says, "Clients can do whatever they want, of course." This is true, but ignores the question of why a client developer might want to do any particular thing.

In a recent [Thank God for Nostr episode](https://fountain.fm/episode/30uEXC25615Ze2ELjY2p), I interviewed Scott Mann of the [Permaculture Podcast](https://thepermaculturepodcast.com/). When I asked him his opinion on how to manage decentralized protocol design and build effective consensus, here's what he had to say:

> [You] don't need to frame it as a software development project, or even a protocol. I would look at it as a distributed community-based and community-supported project, whatever that is. Because permaculture is such a large umbrella, I like to go up to that 50,000 foot view and pull away from what the details are. Because the details are what we're going to build our solutions _from_.

>

> And that's one of the things I didn't mention earlier — there's kind of a hierarchy within permaculture that goes, at the top are the ethics of permaculture: earth care, people care, fair share. Beneath that are the principles, then usually we have strategies and techniques.

>

> But there's a dividing line between ethics and principles and the strategies and techniques, that we start at that top, and use the ethics to decide whether or not we're even going to launch a project.

He goes on to say:

> I'm going to use the principles and see how can I apply those principles to my research and original design. To make sure that whatever I'm creating creates some kind of a surplus, to have a refinement process in place before I even launch, like what is that going to look like, even if I have to change it later, just having some of these building blocks in place.

>

> And then once I've done that and have gone deep into my research into what this might look like, how I might launch it, that's where I would start going into strategies and going ok, how do I want to market this? How do I want to get this out to the people who are going to use it, how do I want to maintain this, how do I want to do distributed decision making, and then as I start to think about distributed decision making, looking at what is the form that I want to use for that?

Scott's thesis is that ethics and principles should be in the front of your mind both as you're considering a project, and as you continue to build it out. This not only makes sense as something to do if you want to succeed, it's categorically true. Action can't happen without agency, and it is your agency that informs what you choose to do, and how you plan to go about it.

The word "ethics" comes from the Greek _ēthos_, meaning "moral character". In other words, your ethic is _who you are_. Your values, hopes, preferences, faults all factor in to your actions.

This is not always clear, because in fiat-world, many people suspend their values in order to "get something done". If you want to protect your savings, you invest it in index funds, propping up the stock price of companies that hate you. If you want to make money, you go work at a job where you're berated quarterly for being racist. People think that they can exercise their own values in their private life, while actively undermining those values with the majority of their time and purchasing power.

But this is not how people with integrity act. And I think if you can say one thing about nostr — both its developers and the community at large — is that they have a very high level of integrity. In other words, their actions are clearly informed by their _ēthos_.

This is a very good thing. What is the point of building an entirely new internet if we're not going to impose our values upon it? What an absolute waste of effort.

# A Nostr Manifesto

This is not to say that any one developer has the right to imposing his own vision on the protocol because of his own personal values and reasons for contributing, which is what I think Vitor was being cautious about. But there are lines I think we can draw as a community that can't really be crossed without excluding yourself from what I might call the "nostr group ethic".

So what are those boundaries? What _is_ a nostrich? Here are some values I've observed to be generally shared among nostr developers and users. Not everyone would full agree with these (including myself), but I think they're a fair characterization of the community.

1. Free speech absolutism. No central entity should be able to globally censor any content. This comes with the trade-off of objectively evil content continuing to exist. This trade-off is acceptable, both because of the value of free speech, but also because evil will continue to exist regardless of attempts to suppress it.

2. Empower individuals over institutions. No centralized entity can be trusted to safeguard the interests of the individual. Institutional incentives are asymmetric and easily corrupted. Better to have many subjective views of the world, than a single, centrally managed view of the world.

3. Advertising-based business models should be viewed with great skepticism and caution. Advertising is a system of incentives that is central to the institutional corruption we see around us. Broadly, this includes paid ads, monetization of engagement, public/private partnerships, and "crypto".

There are others that are shared by many within nostr, although not as widely agreed upon. Two I can think of are:

- Economic activity should be voluntary. Software and content should be free, and creators should be amply rewarded via zaps or other value-for-value models.

- Social media should support real life community and relationships, not detract from them. We should all take time to touch grass.

I'm personally skeptical of the first of these, and strongly in support of the second. Much of my energy as a nostr developer has gone into attempting to subvert and reform traditional patterns of social media to not only support, but also resemble relationships that exist in the analog world God made, and placed us in.

This particular principle is the one at play in the conversation I linked to at the top of this post. My comments weren't an accusation that anyone was acting "unethically" in a universal sense, only that the proposed feature was incompatible with my vision for what nostr should be.

But of course, my vision is not shared by everyone, and the principle of "support real life" is clearly subservient to core ethic #2, which admits the value of a diverse set of opinions about the world. I have no right (or ability) to invalidate anyone else's core principles. But by the same token I'm free to express my own, and attempt to convince other people to share them. This is the basic value proposition of freedom of speech itself.

# Ethical Cohesion

I would go further, and say that not only is it permissible to talk about ethical reasons for building one thing or another on nostr, it's essential. By having these conversations we fuse our individual ethics into a shared ethic. By calibrating our moral compasses to point in (roughly) the same direction, we also decrease the friction involved in getting something done.

I think this was a significant part of the idea behind Sovereign Engineering — get a bunch of people in a room together sharing meals and going on hikes, and the work will accelerate! This is also the way a church works. By meeting weekly together we strengthen our shared identity and build one another up through our activity. In fact, this is the basic definition of a community as Scott Mann puts it. In his words, a community can provide:

> a series of connections, and a knowledge base, and a skillset that we can't fulfill as an individual, while having a social relationship with people in such a way that we can call on them for help.

So maybe, as I've said before, the real protocol is the friends we made along the way. Disagreement and discussion is a healthy thing for a community to have, and we should never stop asking "why?"

My point was that a single ethics framework for the entirety of Nostr is:

1. Centralizing (who gets to say what's ethical?). And everybody here hates centralization.

2. Impossible to enforce. Clients and relays will each do what they have to do.

Furthermore, ethics, like you said, is about values. And forcing somebody's values into others is not why we are here.

There is no "we" in Nostr.

Discussing ethics and proposing frameworks for others to individualistically adopt is great. Making that part of the protocol debate and thus centralizing discussions on that group is not.

Nostr is better if each network participant enforces their own ethical framework in their clients and relays. And let the best win.

Also, that debate was on the NIP repo, which is a very unique discussion forum exactly because it cannot dictate what can or cannot be done, it just documents what exists to improve interoperability between clients and relays.

Reply to this note

Please Login to reply.

Discussion

I agree with the first part of your note. The second part I think just doesn't make sense. The NIPs repo can't dictate, but proposing changes is still done there anyway. Those changes come from a framework of values. Objecting on the same grounds is equally valid.

If someone proposed a way to put porn on nostr, I probably wouldn't argue, because I already know my value system diverges enough from that person's that it would be pointless. At that point, the only productive discussion would be related to implementation details. But I like to think I share enough values with most nostr developers that it is productive to suggest a different approach to solving an inherently social problem.

Agree. To me, the only point of the NIP repo is to debate implementation details: the how, not the why.

Yeah, when things are ethical and good, it's better. Hopefully, those proposals will grow faster than unethical ones. But we have no control over that.

You do if there's a chance of changing someone's mind and you say something. Some of us pushed back against lastword, and so it's probably not going to happen. If Mike wants to build it anyway he can, but now that he knows other developers aren't going to support it, he's less likely to. This is just consensus.

Sure nostr has no global we, and even at the core there is clearly disagrement whats important, but there is absolutely shared set of community values even if they are unevenly distibuted.

The "we" in nostr comes from the Pareto optimality (we involve ourselves to our communities that is optimal given our resource and time constraints) of involvement any one individual has in a community. A community isnt a communtiy if it has no stable values. A community that also doesn't have a dynamic to change their optimization function in a rapidly evolving landscape is also not long for existing. Both are a necessity.

Nostr is not a community. It's a protocol. We are too small now that it looks like a community. But don't fool yourself. There is no community. There are just clients processing signed payloads

Nostr is definitely also a community, at least based on the definition I cited in the post.

> a series of connections, and a knowledge base, and a skillset that we can't fulfill as an individual, while having a social relationship with people in such a way that we can call on them for help.

That's not to say that _everyone_ on nostr is part of the "nostr community". But there is definitely a cohesive social cluster with a significant level of shared values.

I think of it as:

The current nostr community as a whole: early adopters

Smaller overlapping communties. Comming from a network science background, communities are the clusters found after optimizing some metric such as distance between entities or entities that share some mutual label.

...Might be fun to see what clusters exist using the various interactions between users 🤔

💯 I've been waiting for someone to do this visualization forever! Maybe I should just bite the bullet and do it

Nostr is an ecosystem of communities.

Communities can exist at:

The protocol level (see: follow list)

The application level (see: Highlighter)

The relay level

or, the individual level.

What I see in this thread is a debate about the definitions of communities at the individual level.

However at the individual level, we are participants.

My npub is a participant of many communities, as well as an isolated community of its own.

My npub's community does not stop at the information stored on relays.

It extends into other dimensions with some applications, such as when I speak to users Nostr Nests or CornyChat.

It extends into "mental narrative" communities, otherwise known as "tribal models."

I elect to identify as a vegan. Hodlbod elects to identify as a Christian. These are examples of tribal models.

What I see lacking on Nostr to this day is communities. There is an ABUNDANCE of community to be found.

But what we haven't seemed to nail down is the individual creation and collective maintenance of our digital communities.

That is the goal here, I think.

Unfortunately this post ends early. Good luck Nostr devs. We're all rooting for you.

Though the definition of community is not clear, we absolutely are a community but it is a matter of what metric you maximize for community detection. Nostr users currently share the same house (or street block) even if some never interact because they are always in different rooms.

Our nostr universe exists mainly within 20 or so popular relays. At the two extremes you have n communities of size 1 or a single communtity of size n. Extremes are uninteresting so we want to encourage moving towards the space in between. (Hey, found a shared value 🙌)

In between we have communties that are representative of IRL groups, where groups are very small. You also have high mixing of clusters where individuals mix among many small friend networks (Marie, Sikto, Samecat, Dan for example) where they are one of the tighter nit groups but globally spread out .

The largest scale of interaction comes from the relays we choose to interact with. But its not hard to imagine similar relations and communities can exist at many scales (social network, power law relationship)

All just an argument to say that nostr is or contains communities any way you slice it.

Acknowledgeing the scales of social clustering should be a priority and having levers to filter our feed at various levels of resolution should also help the dynamic of users who are unaligned. They are on the same relays because thats whats available, not because they care about the other users. Tools like this could help multiple parties coexist on the same relays even if they will always go at each other. Everyone will diffuse and segregate into their own communities, the original will still exist, just in a more opaque fashion.