Compare commits
16 Commits
search
...
0494aacf1a
Author | SHA1 | Date | |
---|---|---|---|
0494aacf1a | |||
fa2579bc08 | |||
ac88d5e4d0 | |||
49b2070f09 | |||
5456e5ccd8 | |||
8e615fa92b | |||
1b6df5e889 | |||
65d93c6d25 | |||
7c5307ea3f | |||
019dbd27fa | |||
88bebf37f3 | |||
b25fcfed88 | |||
c693480625 | |||
7c64ef3ec3 | |||
a2157b2700 | |||
a7654842d9 |
@ -4,24 +4,57 @@
|
|||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
&-grid {
|
&-grid,
|
||||||
|
&-article-grid {
|
||||||
display: grid;
|
display: grid;
|
||||||
gap: 0;
|
gap: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.single-default &-grid,
|
// General grid styles
|
||||||
.single-article &-grid {
|
&-grid {
|
||||||
gap: 1rem;
|
gap: 2px; // Tighter spacing for general grids
|
||||||
|
|
||||||
|
&[data-rows="1"] {
|
||||||
|
.wompum-cell {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Article grid styles
|
||||||
|
&-article-grid {
|
||||||
|
gap: 3px; // Wider spacing for article grids
|
||||||
|
|
||||||
|
.single-default &,
|
||||||
|
.single-article & {
|
||||||
|
gap: 1rem;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
&-cell {
|
&-cell {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
min-height: 30px;
|
transition: background-color 0.3s ease;
|
||||||
|
|
||||||
|
// Default background for uninitialized cells
|
||||||
background-color: var(--sand-500);
|
background-color: var(--sand-500);
|
||||||
|
|
||||||
// Create pseudo-random pattern using prime numbers
|
// Different styling for cells in article grids
|
||||||
|
.wompum-article-grid & {
|
||||||
|
&[data-section="narrator"] {
|
||||||
|
min-height: 35px;
|
||||||
|
}
|
||||||
|
&[data-section="subject"] {
|
||||||
|
min-height: 40px;
|
||||||
|
}
|
||||||
|
&[data-section="facilitator"] {
|
||||||
|
min-height: 35px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback patterns using prime numbers
|
||||||
|
// (these will be overridden by JS-generated colors when initialized)
|
||||||
&:nth-child(7n+1) {
|
&:nth-child(7n+1) {
|
||||||
background-color: var(--sand-100);
|
background-color: var(--sand-100);
|
||||||
}
|
}
|
||||||
|
12
config.toml
12
config.toml
@ -5,6 +5,18 @@ theme = "hugo-starter-tailwind-basic"
|
|||||||
|
|
||||||
[taxonomies]
|
[taxonomies]
|
||||||
tag = "tags"
|
tag = "tags"
|
||||||
|
narrator = "narrator"
|
||||||
|
facilitator = "facilitator"
|
||||||
|
|
||||||
[minify]
|
[minify]
|
||||||
minifyOutput = true
|
minifyOutput = true
|
||||||
|
|
||||||
|
[params]
|
||||||
|
description = "The Protocol Oral History Project chronicles the development of internet protocols and standards through interviews with key contributors."
|
||||||
|
images = ["/images/default-og.jpg"] # Will be replaced by wompum generation
|
||||||
|
twitterSite = ""
|
||||||
|
facebookAppID = ""
|
||||||
|
|
||||||
|
[params.author]
|
||||||
|
name = "Media Economies Design Lab"
|
||||||
|
twitter = ""
|
@ -1,10 +1,10 @@
|
|||||||
---
|
---
|
||||||
title: "About"
|
title: "About"
|
||||||
include_partials: ["facilitator-list.html"]
|
include_partials: ["facilitator-list.html","wompum-demo.html"]
|
||||||
---
|
---
|
||||||
|
|
||||||
The Protocol Oral History Project is an effort to honor and share the stories of protocol artists—the skilled builders and stewards of the rules, standards, and norms that shape our lives in often invisible ways, ranging from technical standards and diplomatic practices to Indigenous traditions and radical subcultures.
|
The Protocol Oral History Project is an effort to honor and share the stories of protocol artists—the skilled builders and stewards of the rules, standards, and norms that shape our lives in often invisible ways, ranging from technical standards and diplomatic practices to Indigenous traditions and radical subcultures.
|
||||||
|
|
||||||
The color scheme is inspired by _[Constitutional Wampum](http://n2t.net/ark:/65665/ws63912f5dd-e703-4759-8c31-33ac98b3c190)_ by Robert Houle.
|
The color scheme is inspired by _[Constitutional Wampum](http://n2t.net/ark:/65665/ws63912f5dd-e703-4759-8c31-33ac98b3c190)_ by Robert Houle.
|
||||||
|
|
||||||
The project is led by Nathan Schneider, director of the [Media Economies Design Lab](https://www.colorado.edu/lab/medlab/) at the University of Colorado Boulder. Website designed by [Drew Hornbein](https://www.dhornbein.com/)
|
The project is led by Nathan Schneider, director of the [Media Economies Design Lab](https://www.colorado.edu/lab/medlab/) at the University of Colorado Boulder. Website designed by [Drew Hornbein](https://www.dhornbein.com/). The project is made possible by support from the Siegel Family Endowment.
|
||||||
|
211
content/articles/dorsey-the_gut.md
Normal file
211
content/articles/dorsey-the_gut.md
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
---
|
||||||
|
narrator: Asia Dorsey
|
||||||
|
subject: The gut
|
||||||
|
facilitator: Nathan Schneider
|
||||||
|
date: 2025-03-18
|
||||||
|
approved: 2025-03-20
|
||||||
|
summary: "Drawing on many ancestral traditions and the experience of her own body, Asia Dorsey learns and teaches the pattern language of a healthy gut."
|
||||||
|
location: "Denver CO"
|
||||||
|
tags: [ancestors, food, health, indigeneity]
|
||||||
|
links:
|
||||||
|
- text: "Bugs Bones & Botany"
|
||||||
|
url: "https://www.bonesbugsandbotany.com"
|
||||||
|
- text: "Red Palm Oil: A Ghanaian Tradition"
|
||||||
|
url: "https://www.youtube.com/watch?v=sAgXY2WWPAk"
|
||||||
|
- text: "Patreon"
|
||||||
|
url: "https://www.patreon.com/bonesbugsandbotany"
|
||||||
|
---
|
||||||
|
|
||||||
|
*How do you begin telling people about who you are and what you do?*
|
||||||
|
|
||||||
|
I am a bioregional root worker raised on the lands of the Cheyenne, Ute, and Arapaho peoples. I was cultivated by a powerful, powerful group of Black women in the Five Points community, who taught me about cooperation, collaboration, and how to dream my way out of trouble. I am showing up here with my herbalist hat on, but one of the conversations that we are deeply steeped in at all times is one of sovereignty, embodied liberation, and also the forms of serenity that come from collective organizing, especially around the things that we apply our work to. So it's very good to be here with you.
|
||||||
|
|
||||||
|
*How would you outline your life? You started with your cultivation. Where did you go from there? What has your path been like?*
|
||||||
|
|
||||||
|
Starting off with my cultivation is so important because I am one of the people in this world who carries around a covenant of love privilege. That love privilege got me to a super prestigious university where I experienced existential depression after confronting what the world was really like.
|
||||||
|
|
||||||
|
I thought I wanted to be an attorney, and I thought that I would argue justice in front of the Supreme Court. I wanted to be Erin Brockovich. Ever since I saw *Erin Brockovich*, I was like, "Yeah, that's me." I made it all the way to university and discovered that the law was not true, that the law was based on who had power, and that broke my spirit. What my broken spirit looked like was not being in my body and not being able to feel any emotions. Anyone reading this—some of you know what this is like. Some of you are experiencing this right now.
|
||||||
|
|
||||||
|
There was only one thing that brought me joy. I would be watching Netflix, and then this Vandana Shiva woman would show up. She had this big beautiful bindi, and she was always saying clever little quippy things, and I was like, *who is this woman?* And I thought, *I am still alive*. So I watched everything that Vandana Shiva was in, and it got me into this world of food. I later visited her in India at Navdanya where I interned for several months.
|
||||||
|
|
||||||
|
I discovered that my university, NYU, we had one of the two food studies departments in the nation. I thought, *I'm just gonna take this little class because this is the only thing that makes me feel alive*. Everything else was just gray. But when it came to food, it was so colorful, so vibrant. So I decided to follow my joy, and I took 22 credit hours. And it was everything. It was everything.
|
||||||
|
|
||||||
|
I loved everyone. If they're a foodie, they're my people. Period. I don't care about race or class. I don't come for a foodie. Y'all be hating on *Portlandia*—I love *Portlandia*. Anyone who cares about animals and the earth, they were my people.
|
||||||
|
|
||||||
|
I ended up reading a book called *The Omnivore's Dilemma* by Michael Pollan, and I discovered Joel Salatin's Polyface Farm. When I was researching, I was alive because it was food. Then I realized Joel Salatin does this thing called permaculture, and I was like, *What is that?* So I ended up traveling to Australia to study with Geoff Lawton and apprenticing in permaculture. From there, I traveled around the world to understand food and agriculture, specifically with this lens of honoring the Indigenous.
|
||||||
|
|
||||||
|
I felt like I was able to learn so much more than my peers because I had this permaculture training. For example, in Ghana, I was so furious in a global nutrition class. The professor was like, "Vitamin A is of nutritional significance." And then the next phrase—she goes, "We Ghanaians are so backwards. We're eating all this palm oil." And I'm like, palm oil is the highest food source of vitamin A! So how are you backwards? I was so upset that I made a whole documentary on red palm oil, reclaiming the power of the palm. That professor ended up changing her tune because I was so furious.
|
||||||
|
|
||||||
|
After that, I traveled to New Zealand and worked with a woman named Kay Baxter, who owns the Koanga Institute, where I learned about what it looks like to build regenerative community and to grow food like your life depends on it. She taught me the principles of healing my gut. Kay was like, "Look, the gut and the brain are connected. You could heal your mind through healing your gut." I took it on, and I ended up resolving that depression using meat stock and fermented food. That really empowered me—I didn't know that was possible.
|
||||||
|
|
||||||
|
After studying with Kay and healing my depression, I graduated from university with that degree in food studies. I returned home and started a fermented food company called the Five Points Fermentation Company. It was cooperatively organized because I felt it had to heal at all levels. I wanted it to heal the earth. We only had cabbage from a regenerative grower named Michael Kilt, and he would apply compost teas, and we'd measure the brix of the cabbage.
|
||||||
|
|
||||||
|
I lived my best life, honestly, running that company because people were getting healed. I don't know if I'm legally allowed to say it or whatever, but all I know is, people were not well, and then they were well from the food that I was making—local sauerkraut that was fermented by whole communities.
|
||||||
|
|
||||||
|
After that, I realized I didn't understand how much capital I needed to run a manufacturing firm. We were fermenting like 55,000 pounds of sauerkraut and distributing it to grocery stores, restaurants and direct to consumers. It was wild that I did all that with no money—what I used was my own energy, and I burnt out so bad. I had no idea how much I hurt myself to bring probiotics to the people. But they needed the probiotics. They needed the traditional food.
|
||||||
|
|
||||||
|
All of my recipes were traditional. If we made kimchi, Mama CJ, a Korean woman, was in the kitchen with us. If we made cortido, a Salvadoran was there. Our curry kraut was developed by a Jain Indian chef named Milan Doshi, who ended up selling me the Five Points Fermentation Company to get my start. Shout out to the Brown Alliance!
|
||||||
|
|
||||||
|
After that, I learned a lot about organizing co-ops and businesses. I was on the board of the Center for Community Wealth Building, led by Yessica Holgin. The queen! We were building infrastructure for co-ops throughout Colorado. I started to cultivate a new co-op with the learnings from the last one—the Satya Yoga Co-op, which is the nation's first BIPOC-owned and operated yoga co-op, using this theme of healing our bodies in order to heal our minds.
|
||||||
|
|
||||||
|
This co-op was so much more successful than my first one. During that time, I helped organize other co-ops and did more economic justice work, always centering food. If it had to do with food then it was for me. I worked with Beverly Grant at Mo' Better Green and whoever I could work with in the food systems. That's all I wanted to do with my life.
|
||||||
|
|
||||||
|
Then Adam Brock, who founded the GrowHaus in Elyria-Swansea—we had been working together teaching permaculture and social permaculture—invited me to a consulting firm called Regenerate Change. I became a co-owner of that firm. We were able to consult with food businesses across the nation, helping with strategy and conflict resolution. My life was perfect. I used the resources from that to build a new business, Bones, Bugs, and Botany, where I teach embodied liberation through food and herbal medicine education. That's where I am now—a byproduct of all these beautiful collaborations, but very much following the trail of the earth. That's how I got here.
|
||||||
|
|
||||||
|
*I'd love to contrast that trail of the earth with law. You talked about law earlier as not being what you thought it was. If not law, what other orders did you turn to? What other ways of seeing the world, the gut, and everything in between seemed more real to you?*
|
||||||
|
|
||||||
|
When I was a young warthog in the streets of New York City, I was engaged in anti-stop-and-frisk activism. I was trained as a Kingian nonviolence facilitator, and I was organizing around prison justice. I read a book by Michelle Alexander called *The New Jim Crow*, and that's what killed it—that was the book that made me feel like I'd wasted all my life pursuing a legal education when the law is not actually just.
|
||||||
|
|
||||||
|
Understanding the law as it applies to policing, as it applies to Black bodies, as it applies to the extension of slavery—these things help us understand that whoever is governing, whoever the ruler is, they set the rules. But what I love about the earth and about food is that the goddess doesn't operate on laws. There are no laws of nature, but there are patterns.
|
||||||
|
|
||||||
|
There are patterns of nature, honey. And what I love about the patterns is that there are binaries in the natural world, and at the same time there is also chaos—the possibility for a multiplicity of outcomes. By studying not the law, but the pattern language of nature, I've been able to discern right from wrong, what is true, and I've been able to locate myself outside of a hierarchy in relationship to the more-than-humans, which include the bones and the plants and the microbes. I know now where I belong, and I use those principles or patterns of nature to help organize giant food-based organizations, but also to help people reorganize their bodies.
|
||||||
|
|
||||||
|
Thank goodness that I developed this perspective. The whole "law of nature" thing was just created to justify a legal regime of robbery.
|
||||||
|
|
||||||
|
*What changes when you shift your frame from the laws of nature to the patterns of nature? What consequences come from that?*
|
||||||
|
|
||||||
|
Laws are rigid and enforced by policing. Patterns are flexible. They resist commodification. They exist at many levels in different languages. Patterns are true.
|
||||||
|
|
||||||
|
There's so much more love. What I love about a pattern is that there is a binary, but there's also chaos that makes everything work. We have genes, a gene sequence, and the way that sequence gets all mixed up when we're trying to have a baby—the chaos of that is what creates the beauty. Patterns give us access to a way of being that honors duality and honors non-duality at the same time.
|
||||||
|
|
||||||
|
It allows us to connect outside of petty identity politics because we are able to connect with the broadness and beauty of the goddess, and to see that there are these principles that are self-replicating and patterns that are repeating. It's such a beautiful thing to be a part of these patterns, not because some law told us to.
|
||||||
|
|
||||||
|
I think about race and racial mixing and the maroon colonies. There's a really beautiful Indigenous woman named Tiffany Lovato. She's of Pueblo descent, and she told me that when Africans were being enslaved, the ancestors on the East Coast—their shamans, their wisdom keepers—saw that in dreams. They had made preparations and a covenant. What was supposed to happen was that those Indigenous tribes were going to consume or make kin with the newly arrived Africans. A lot of that kin-making actually happened because that is the pattern of all Indigenous people. This is how we keep our genetic diversity. This is what we do.
|
||||||
|
|
||||||
|
But it was laws created by men—laws of segregation—that halted those processes. The maroon colonies were European, Native American, and African. What was really beautiful when we study maroonage and what was happening in early America is you saw this class allegiance that went beyond racial or ethnic characteristics to create these futuristic societies. Those societies mix the blood—that is the pattern of nature.
|
||||||
|
|
||||||
|
But these laws kept that from happening, especially implementing the one-drop rule with African Americans and blood quantums with First Nations people. It worked to shrink their identity and expand ours, expand the pool of who could be extracted. And we see the impact of those laws today. The laws were put in place to stop the natural order from happening.
|
||||||
|
|
||||||
|
*How did you begin to get to know the patterns of the gut?*
|
||||||
|
|
||||||
|
When I was sick and depressed in New York City, I didn't understand—I was raised by all of those wonderful women in the Five Points, and they made all my food. They relieved me from reproductive labor of all kinds. I was one of the only kids that didn't have chores. My family was really invested in me getting a college education, so they said, "No, your job is to study."
|
||||||
|
|
||||||
|
Like many male-bodied folks, I experienced a lot of investment, and one of those forms was not learning to cook or clean or any of those things. So when I went to college without my family, I didn't know how to eat—my mom still makes my plate! I had no idea about the impact of polyunsaturated fatty acids or what caused inflammation. I was balling out. I said, "I get to choose what I eat. I'm going to have a waffle with mint chocolate ice cream." And I wondered, why was I like that? I didn't understand that there was a link between what I ate and how I felt.
|
||||||
|
|
||||||
|
Studying with Dr. Natasha Campbell-McBride, she amplified the teachings that Kay introduced me to, which was understanding that there is a pattern, an organization of the body. Later, when I started studying traditional Chinese medicine, I deepened that understanding of pattern and how the different organ systems work together and reflect the outer world.
|
||||||
|
|
||||||
|
I learned the pattern of healing. I was so unwell that if there was sugar in the salad dressing, I could hear the sugar. If there was wheat, I could hear the sound of wheat. It helped me see what foods really resonated with me because wheat was like this high-pitched frequency sound, but corn was like a low rumble. I developed synesthesia from restricting certain foods and eating the traditional kinds of foods that I grew up with.
|
||||||
|
|
||||||
|
I grew up eating liver and onions every week. I grew up eating collard greens, these really beautiful broth-rich stews. It turns out that all of those were protecting my gut. I had no idea how valuable traditional soul food was because it's so demonized—people say it's high fat, blah, blah, blah. No, that is the most nourishing food that exists on the planet. It's ingenious.
|
||||||
|
|
||||||
|
I learned the pattern language of gut healing by testing it out, by seeing what different foods made me feel like, and understanding the larger pattern of what it takes to heal the gut. A lot of the information we learn about what's good to feed the gut—fiber and polyphenols—that's for a healthy body, if your gut is already well. Digesting fiber is not easy. We're not cows. We don't have a four-chambered stomach or a rumen. We're not ruminating and regurgitating—plants are not easy to eat. Our ancestors have developed so many techniques to deactivate the anti-nutrients in plants.
|
||||||
|
|
||||||
|
So if you're not well, eating plants that haven't been processed in ancestral and traditional ways is going to hurt you even more. The foods we find not only in African American cuisines but cuisines around the world follow the same pattern language. Your ramen is using some of the same principles as my collard greens. We're using the bones and the meaty bones of animals to heal the meaty parts of ourselves.
|
||||||
|
|
||||||
|
The way that I know it's true is that I try it in my own body, but then I look at all the cultures who are practicing the same pattern. If I see African Americans do it, and then I see Native Americans do it, and then I see Europeans do it, then I see Japanese people do it—I think, okay, there's something true here, because humans are an expression of the earth and an expression of that wisdom and organizing intelligence. If our ancestors are organizing in the exact same way, I'm going to listen to the ancestors because that wisdom that comes from generations of trial and error is so much more powerful than a lab test with rats. The best science is what we've been able to see in human populations over generations. They'll give me a two-week rat trial and tell me not to have collard greens? No, incorrect. I'm not listening.
|
||||||
|
|
||||||
|
No shade—I sometimes do listen, but I only listen to those studies and trials when they are affirming the pattern languages that we see coming out of our ancestral cultures and traditions.
|
||||||
|
|
||||||
|
*Do you still hear foods?*
|
||||||
|
|
||||||
|
I don't have synesthesia anymore, and I've been trying to chase it. One of my mentors is like, "Leave it alone. You needed that when you were unwell to keep going. It incentivized you to continue the practice." But now that I'm well, I don't want to go back. I have so much empathy for all of us who are dealing with tummy pain.
|
||||||
|
|
||||||
|
*When you talk about these different cultures and sets of patterns that you've stewarded—patterns and protocols from fermentation with sauerkraut, yoga, soul food, and so on—how do you approach being a steward, learner, and teacher of so many different practices that have their own coherence but also resonance with each other? How do you hold their differences and their commonalities together?*
|
||||||
|
|
||||||
|
As an herbalist, I did not start seeing indigenous plants until I started respecting Indigenous people. When we're talking about yoga, which is an ancient Indian science, or Japanese or Chinese cuisine, or soul food—the thing that holds all of them together is that they are deep ancestral practices and lineages that are so overwhelmingly complex. One could not even begin to master them. It takes a lifetime to master how to cook fried chicken correctly, or to perfect that asana.
|
||||||
|
|
||||||
|
For me, humbling myself is my absolute favorite practice. *Humbling* comes from *humus*, comes from dirt. I am a dirt-colored woman. I love the earth—she looks just like me, honey, especially when she's healthy! I stay humble. I put my belly on the earth like a snake, and I very much appreciate the teachings that come, knowing that I'm only getting a fractal. From that place of humility, I'm able to see how that knowledge is fractal and how it replicates itself, and what those base principles are.
|
||||||
|
|
||||||
|
The first thing is respect. I have found that people are so much more willing to share with me when I'm prostrating myself, genuflecting—not flexing like I know everything, but genu-flexing like, "Please teach me more." And "Let me tell you what I've learned, what do you think about that?" And "What did your grandma say? What was that recipe you want to share with me? That sounds amazing."
|
||||||
|
|
||||||
|
People aren't taught to respect their traditions. People are taught to become consumers. For capitalism to penetrate the home, you cannot have culture, because capitalism relies on novelty. We've been fractured from our traditional culture. We have science, which has been captured by capitalists to reflect values and ideas that benefit them. We have all of this confusion about what to eat and how to live.
|
||||||
|
|
||||||
|
I stand as a powerful Black woman because we are *sankofa*—go back and get it. I want to wrap my arms around all of it so that I can give it back to us. I don't want people to be unwell. Because we don't have enough respect for our ancestors, especially respect for women—because food is often the domain of women. Those genius things that kept us alive, those things that built our bodies as strong as they are, have become invisibilized and discarded for veganism and all kinds of weird, non-ancestral stuff. No shade—the vegans are going to be so mad at me! Come for me, I dare you!
|
||||||
|
|
||||||
|
What I'm trying to rectify by holding the pattern language is helping people begin to see the awe again. People, begin to have awe.
|
||||||
|
|
||||||
|
For some of us, some of our ancestors are raggedy, and we are afraid to look back because we don't want to confront what happened. You don't have to look—it's fine. But I look back in the way that I understand Italian cuisine from a pattern language, in the way that I explore German cookbooks. I'll hold the knowledge for you to come back to when you're ready, to claim what is yours, which are these cultures that we have inherited.
|
||||||
|
|
||||||
|
These are the protocols—because what is culture but a set of protocols? Protocols for how to soak your beans, protocols for how to cook your greens, protocols for how to ferment your bread. These are all protocols that create a culture. Those cultures then shape our microbiome in a way that creates our identity. Culture tells us what to eat and how to eat to live in any given environment.
|
||||||
|
|
||||||
|
To figure out how best to eat in Colorado, I looked at places that had a similar altitude and grasslands. Let me look at all the grassland people. Dairy is just fine. Cows are sustainable in Colorado. Come for me because I could show you all of the steppe regions and how we're all eating the same thing—red meat. Even the Dalai Lama eats red meat, and it's because at this altitude it's so hard to breathe that we burn through our minerals like heme iron, causing our bodies to have a higher demand for heme. That demand is the same in all of our steppeways geographies.
|
||||||
|
|
||||||
|
The red meat is consumed in the grasslands where the buffaloes roam. It's a pattern. But how does that pattern of eating red meat then put us in proper relationship to the more-than-humans in our environment? To be a meat eater without understanding the significance of stewarding the animals is incorrect. You need the whole thing.
|
||||||
|
|
||||||
|
What I discovered about Indigenous folks of the Americas, and why there were so many bison, is that they were actively stewarding those herds. It wasn't just random that so many were able to thrive. No, honey—they were actively stewarding, and because their stewarding was sustainable, that's what grew out. That amount of herding gave them access to the highest quality protein on the planet.
|
||||||
|
|
||||||
|
Wherever we go in altitudes like this, where ruminants are eating grasses, we also see stewardship culture. Some of my favorite stewardship cultures are the Maasai in Kenya. Oh my God, they're beautiful! They're twelve feet tall! They eat no vegetables except if they're sick, then they'll take an herb. I love the Maasai—they're so amazing.
|
||||||
|
|
||||||
|
I love the cow-herding cultures because I'm a cowgirl. I'm in Colorado, and I better learn how to eat to live here. My health is so abundant because instead of just giving land acknowledgments to Indigenous people, I'm looking at their cookbooks. I'm learning what they ate because I see their genius, and I honor that genius, and I'm humble to that genius.
|
||||||
|
|
||||||
|
*I'd love to hear more about how you learn. You talked about cookbooks and humbling yourself. What does your learning process look like, especially considering how much our educational systems have erased these legacies?*
|
||||||
|
|
||||||
|
I love the process of triangulation. I pull my knowledge from multiple sources. The first source is the ancestral source—I want to know what the ancestors were doing. So, for example, when learning about a plant, I'll pull out my *Native Ethnobotany* by Daniel E. Moerman, or I'll pull out my African American herbal guides or my slave medicine book to see what enslaved people were doing. Then I may check Margaret Grieve to see what European people were using that plant for.
|
||||||
|
|
||||||
|
Then I'll look at the nutritional profile of the plant. One of my favorite books is *Minerals for the Genetic Code* by Charles Walters. I love some esoteric Acres USA! Put it on my bookshelf, period. I'll start understanding the herb from a nutritional perspective to see if the nutrients in the plant correspond with the medical functions that our ancestors are reporting.
|
||||||
|
|
||||||
|
Then I'll check PubMed and see the latest research coming out about the plant. I'll look for the gold standard—double-blind, placebo-controlled studies. I want to see those outcomes. But I have enough discernment to understand context. For example, people will say that in the Nurses' Health Study, which is a big study that everyone likes to cite because it was multi-year following nurses, red meat consumption is correlated with heart disease. But then I check if there's a similar study in another country that eats red meat, and you find that correlation doesn't exist. Then you realize, oh, when they eat red meat in the US, they're eating McDonald's. McDonald's, not red meat itself, is corresponding to heart disease.
|
||||||
|
|
||||||
|
The most important part is that I try it on myself. I will see what the herb is like in my body. Once I trust that it's safe from all my research, I take on the herb, and I will often apprentice with the herb for several months, sometimes several years, to fully understand if it does what they say it's going to do.
|
||||||
|
|
||||||
|
So there's also the embodied knowledge. I could sum it down to ancestral relevance, cultural relevance, scientific analysis, and then embodiment as the way that I go about gathering knowledge about plants or foods.
|
||||||
|
|
||||||
|
*How do you take that knowledge and bring it to others? How do you introduce people to this knowledge and wisdom that you've learned from so many different teachers? What is the next step of that apprenticeship?*
|
||||||
|
|
||||||
|
I teach from pattern to details. I'm a permaculturist—I've been teaching the Permaculture Design Course in Denver for several years. I'm not going to overload people with information that they don't need, with data and facts. I'm going to teach the pattern language so that they understand and are empowered to see the wholeness.
|
||||||
|
|
||||||
|
For example, it's spring, and spring is an opportunity to regulate our blood sugar. It's the season of the liver organ, the wood element in Chinese medicine. Sidebar: the five elements are also in West Africa, and it's the same five! So this is a pattern of the spring. Instead of saying burdock root does this, or yellow dock root does that, or dandelion root does this, I teach the importance of the bitter flavor and how all bitters create more bile and help stimulate all the digestive juices and enzymes.
|
||||||
|
|
||||||
|
I start with that broader pattern so that, regardless of which roots they're using, they get the big picture. Then I bring them into the details. Yes, dandelion works along the liver-stomach-spleen axis—let me tell you about these organs and how they work together. Yellow dock is liver-large intestines—let me tell you about the pattern language of the large intestines and the liver and how they work. My students really get it—they are great herbalists. They're so good! I think, *Wow, I really taught y'all, didn't I?*
|
||||||
|
|
||||||
|
I love a citation for the girlies who are ready to go deeper—and *girlies* is a gender-neutral term, everyone is the girlies! I always like to have references so that people can follow the paper trail and importantly, refute me. I want my students to be able to say, "Actually, you misinterpreted this data," and I'll say, "Oh, okay, teach me." Because I'm humble—I don't have to be right about it. I really want to see what the pattern is, and I understand that chaos is a part of the pattern, so sometimes things are unexpected, and I love that because then we get specific data.
|
||||||
|
|
||||||
|
For example, people rail against polyunsaturated fatty acids. First of all, omega-3 fatty acids are polyunsaturated fatty acids—we love omega-3s! So people don't even know the pattern of what the polyunsaturates are. People are mad because canola oil and vegetable oil are all polyunsaturated, and they cause heart disease. "They're the worst, they're poison, they're not natural, no ancestors would use them."
|
||||||
|
|
||||||
|
But there is a plant—this is when we get into the details—my favorite, sesame oil. The lignins in sesame oil keep it from going rancid. Whereas all the other polys get rancid and cause inflammation, sesame oil does not—it's protected by the lignins. So we have the broader pattern of polyunsaturated fatty acids being unstable. It's true, omega-3 fatty acids are hella unstable. But when we look into the details, we start to learn the specifics.
|
||||||
|
|
||||||
|
This particular oil has been used against aging. We love sesame! We see it coming up in Islamic cultures, in hummus with tahini. And then we see black sesame being really used in Asia. So for me, if many ancestors are using the plant, then I need to double-check. The pattern is still valid, but there is this nuance that queers the pattern. I love touching into that nuance, and we know that nuance must be present because the ancestors are not dumb. If they were dumb, we wouldn't be here.
|
||||||
|
|
||||||
|
Sesame oil is a prized oil, and we know why it is. It is a seed oil, but unlike those raggedy seed oils, this one is anti-inflammatory.
|
||||||
|
|
||||||
|
*One pattern I've come across in relationship to different protocols is capture. What are your thoughts or experiences with this? Has this word brought to mind cases where the legacies and patterns you steward have been vulnerable to capture, misused, or subverted?*
|
||||||
|
|
||||||
|
We talk about the capture of nutrition research by the seed oil lobby or the capture of agricultural research by Cargill and Monsanto. The deterioration of federal funding in research has been met with increased investment by capitalists who not only shift the outcomes of that research but hold the patents of things that used to be distributed to us, the people, and are now privately owned by them and charged back at us.
|
||||||
|
|
||||||
|
Capture is also happening in traditional food. We see Whole30, who just added seed oils to their products—captured. We see all of these trends. But what's fascinating is that you can't capture the pattern language, and the pattern language requires us to be in good relationship.
|
||||||
|
|
||||||
|
You can't capture fermented bread—these corporations could never. You can't, because the things that are true, the things that are healthiest for us, those things take time. There are only a few examples where a company could do it better.
|
||||||
|
|
||||||
|
I like to think about cultural institutions—restaurants are cultural institutions. In other countries, it's the restaurant that would take on the making of a traditional food that's very labor-intensive because they could utilize scale in a powerful way. We see that in places like Germany. The real way to make fried chicken is three whole days—it is a *process*. So we have these cultural institutions that are doing what they're supposed to do, which is taking on the labor-intensive process, and then we get to access our traditional foods through these cultural institutions.
|
||||||
|
|
||||||
|
Unfortunately, in this country, we cannot trust our institutions, and I hate that because having a thriving democracy requires that we trust our institutions. There is a cost to not trusting institutions—look at the anti-vaxxers. Their distrust was legitimate, but look at the outcome on all of us. It is a dangerous thing when we can't trust our institutions, and in this country, our institutions destroy everything beautiful. Try to get sourdough from the store—it's only been fermented for like five hours! What is this? Not them adding citric acid—bitch, please! What are you doing? It's incorrect. Make the bread correctly! I will buy it from you.
|
||||||
|
|
||||||
|
So yeah, there is all of this capture. But I want to talk about a crack in the edifice. A bitch loves a farmers market because you can go to the farmers market, talk to your bread girlie (which is often a dude—shout out to our bread girlies). There are these artisans, just like I was back in the day, who are sourcing the most nutrient-dense wheat and fermenting it, doing all of the things correctly.
|
||||||
|
|
||||||
|
The other side of capture is renaissance. Let's look at yoga. First of all, the yogis, because they're smart, the yogic ancestors—they had visions of what they needed to do to keep their culture alive, and they said to keep it alive, we're going to share it with white people. So in the twenties, Yogananda and all of these people were coming over because they had prophetic vision and insight because they wanted to keep yoga alive.
|
||||||
|
|
||||||
|
Yoga in India was laughed at. If you said you want to be a yogi, your family might disown you: "We don't do that. We're the new Indians." So what happens over fifty years of history in the United States is white people really take it on, and they find that it's supportive, that it's helping them, that it's easing their mind. And then there was a backlash—Indians were like, "That's ours. You're doing it incorrectly," and they took it back. So then we started seeing all of these Indian-run cultural institutions to teach yoga, such as mine. The Satya Yoga Co-op—Lakshmi Nair was like, "Nope, we're taking it back," creating this uber authentic, rooted, seductive, sultry, salacious, soulful practice.
|
||||||
|
|
||||||
|
So we see that whenever there is capture, there's also counter-movement, and that counter-movement is a pattern. This is an impulse, a survival instinct. Indian people were like, "You ain't about to tarnish our legacy with your yoga with your Lululemons, with your Starbucks." No shade—I love all women, so you can wear whatever you want. I'm not judging you.
|
||||||
|
|
||||||
|
So we have this renaissance of yoga, and then Indian yogis—or at least the modern girlies—are like, "Yeah, this is for people of color." And so then you have this proliferation of practitioners of color who descend from these beautiful Indian teachers. And now I use yoga to reconnect with my African ancestors, who also practiced asanas—even if they didn't call it asanas, it was something else. But yoga has been a pathway back home towards healing.
|
||||||
|
|
||||||
|
I wanted to give that example because there are always cracks. Remember, we have the pattern, but then we have the chaos, and the chaos often looks like this counter-movement. It's a beautiful thing.
|
||||||
|
|
||||||
|
*How do you know when the evolution of a tradition is correct? When we learn from other cultures or do that blood mixing you talked about earlier, how do you know when to trust the evolution we're drawn into?*
|
||||||
|
|
||||||
|
As a feminist, I ask one question: does this create beauty? If this practice creates beauty within your body, and then it creates beauty in your relationships, and then it creates beauty in the community, and then it creates beauty in the earth—because the broader pattern is regeneration. We know something's on point when it's regenerative.
|
||||||
|
|
||||||
|
Regenerative and sustainable are different. Regenerative means that the outcome is more than the sum of its parts. We're not keeping things level, staying stuck in one place—we're actually participating in a spiral of abundance.
|
||||||
|
|
||||||
|
When I think about what it takes for me to make my einkorn sourdough, I have to source the whole grains, either from Italy, where they take really good care of their soil. I know it's not local, but neither is my red palm oil. So I source the grains from an organization that's producing the highest mineral count, because what it takes to keep soil mineralized is good tending. I'm looking at the indicator of the impact on the earth by the quality of the nutrients in the food, period.
|
||||||
|
|
||||||
|
I get the grains to my house. Then I have to grind the grains. Oh, the time it takes! And I can't grind it too fast, or the volatiles are going to evaporate. So I grind these grains slow, and that slowness causes me to slow down. I have to plan three days to make my sourdough, and so now I'm in the slow phase. My mind is not running as quickly as it usually is, so now my mental health is better because I'm making sourdough.
|
||||||
|
|
||||||
|
I've got the flour. Now I'm mixing it in the right ratio, because I've researched a lot about sourdough. People have mastered this craft, and I am not going to forget what they have learned. I'm not starting over. So now I'm in sourdough culture, learning about the goddess, learning about Demeter and how she gifted us culture. Appreciating the European ancestors who really go hard on the grain—these are wheat people!
|
||||||
|
|
||||||
|
So I'm researching, having fun. And then I start making the dough, and I have to fold it in a particular way, and I have to work it, and I have to pay attention to it. Oh my goodness! Now I'm paying attention to everything because I've been paying attention to this dough, and also look at my forearms getting nice and fit. Now my heart is happy because we're working the dough. Then I have to bake it, and that's going to cost me because of my energy bill. So I'm thinking about the implications—this is worth it for me. I'm going to use this energy, and I'm going to thank the ancestors who got this energy to me.
|
||||||
|
|
||||||
|
But then I make the sourdough, and it's ready, and it's perfect. But if I eat all of that, I'm gonna get huge. There's nothing wrong with hugeness! But I don't need that much nutrition. So what happens? I share the sourdough with someone else. So now I'm relating, now I'm building community, now I'm building culture. I'm sharing sourdough loaves with my friends and my family. So now we're breaking bread, and in that breaking bread, someone's like, "Ouch, my knee!" And I'm like, "Oh, try this burdock." Let me spread some of the gifts from the earth, and then they're out making sure that their lawn's not getting sprayed so that their burdock is good enough to harvest.
|
||||||
|
|
||||||
|
Now look—regeneration at every level. We started regenerating the earth by getting high-quality grains, and then we ended with people harvesting their burdock root and keeping it from being poisoned. So that's how I know that it's correct. My body is better as a byproduct. My community is better as a byproduct, and the earth is better as a byproduct. Now I'm more beautiful. Look at my skin! Look at all that zinc from that high-quality einkorn. I'm beautiful, my body is beautiful, my community is beautiful, the earth is beautiful. We can trust beauty.
|
||||||
|
|
||||||
|
*Are there any other lessons that you would share with other pattern watchers, learners, hearers, and makers?*
|
||||||
|
|
||||||
|
I like ending on beauty. I love Auntie Robin Wall Kimmerer and others who insist upon this notion of beauty. It's so feminist, isn't it?
|
||||||
|
|
||||||
|
The most important thing is that we can have it—we can create it. That principle of honoring the body, honoring relationship, and honoring the planet applies to every single thing that we do.
|
||||||
|
|
||||||
|
I'm thinking about how all the research came out showing that it's 28 times more resource-intensive than CAFO meat to have those fake burgers. Nasty, nasty, nasty! No, incorrect. It makes you unhealthy. You're not connecting with the land—no ancestors ever did it. And the earth is suffering because of that nasty stuff.
|
||||||
|
|
||||||
|
I just want you to apply this lens to see that we can create cultures of regeneration, and that those cultures end up shaping our microbiome, shaping our moods, and then shaping how we relate to each other. That's what I really want to give to the world. All the vegans—you can come for me. You can come on our show, *The Petty Herbalist* podcast, and we can debate. Just create beauty—that's what I want to leave for y'all.
|
@ -5,60 +5,45 @@ facilitator: Nathan Schneider
|
|||||||
date: 2024-10-10
|
date: 2024-10-10
|
||||||
approved: 2024-10-11
|
approved: 2024-10-11
|
||||||
summary: "After widespread resistance to codes of conduct in open-source software communities, Coraline Ada Ehmke's Contributor Covenant became the most popular code of conduct in the ecosystem."
|
summary: "After widespread resistance to codes of conduct in open-source software communities, Coraline Ada Ehmke's Contributor Covenant became the most popular code of conduct in the ecosystem."
|
||||||
tags: [code of conduct, dispute resolution, gender, open-source software, organizations]
|
location: "Chicago, USA"
|
||||||
|
tags: [code of conduct, dispute resolution, gender, open source, organizations, software]
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< i >}}
|
*First of all, I want to begin with the question of how you how you prefer to introduce yourself.*
|
||||||
First of all, I want to begin with the question of how you how you prefer to introduce yourself.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
My name is Coraline Ada Ehmke. I'm the founder and executive director of the Organization for Ethical Source. I'm also a software engineer, emerita, having spent about two and a half decades in the industry. I'm best known as the creator of Contributor Covenant, the first and most popular code of conduct in the world for open source communities and other digital communities. And I'm very happy to be here with you, Nathan.
|
My name is Coraline Ada Ehmke. I'm the founder and executive director of the Organization for Ethical Source. I'm also a software engineer, emerita, having spent about two and a half decades in the industry. I'm best known as the creator of Contributor Covenant, the first and most popular code of conduct in the world for open source communities and other digital communities. And I'm very happy to be here with you, Nathan.
|
||||||
|
|
||||||
{{< i >}}
|
*How would you outline the trajectory of your life and career? Where do you start? And where are you now?*
|
||||||
How would you outline the trajectory of your life and career? Where do you start? And where are you now?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Career-wise, I would start in 1994, when I was a kind of adrift kind of kid. I was working at an engineering company in Austin, Texas, because my girlfriend got her dad to give me a job there. Back then I'm a smoker, and I'm always having conversations with the other smokers, who, some of whom are software engineers and some of whom are IT folks. So I have a good relationship with them. And one day one of them comes up to me and says, "Coraline, did you hear the company's putting together a web team?" I was like, "Oh, that's amazing. Put the company on the Internet. That's great." And he said, "So what do you think that's going to do for your career?" And that is how I fell into software development as a college dropout.
|
Career-wise, I would start in 1994, when I was a kind of adrift kind of kid. I was working at an engineering company in Austin, Texas, because my girlfriend got her dad to give me a job there. Back then I'm a smoker, and I'm always having conversations with the other smokers, who, some of whom are software engineers and some of whom are IT folks. So I have a good relationship with them. And one day one of them comes up to me and says, "Coraline, did you hear the company's putting together a web team?" I was like, "Oh, that's amazing. Put the company on the Internet. That's great." And he said, "So what do you think that's going to do for your career?" And that is how I fell into software development as a college dropout.
|
||||||
|
|
||||||
Then fast forward a lot of years to about 2012, 2013. This is the point where I had made a decision to begin my gender transition. I was slowly waking up to realities of the world that had been conveniently easily ignored by me previously, and that were no longer ignorable. Things that I understood in principle, I was beginning to experience firsthand, and that made me angry. But it was a righteous fury, and I decided to look for ways that I could use my skills and my life experience to change things, change the world, change the sphere that I was operating in---the sphere of tech and the sphere of open source---to make it less awful for people. And over time I've graduated from less awful to actually, like, maybe pro-social. Maybe we can use technology to actually make a difference in the world, a positive difference in the world. So I am less righteous fury these days, and more hopeful, looking for visions of equitable futures. I guess that's my career in a nutshell.
|
Then fast forward a lot of years to about 2012, 2013. This is the point where I had made a decision to begin my gender transition. I was slowly waking up to realities of the world that had been conveniently easily ignored by me previously, and that were no longer ignorable. Things that I understood in principle, I was beginning to experience firsthand, and that made me angry. But it was a righteous fury, and I decided to look for ways that I could use my skills and my life experience to change things, change the world, change the sphere that I was operating in---the sphere of tech and the sphere of open source---to make it less awful for people. And over time I've graduated from less awful to actually, like, maybe pro-social. Maybe we can use technology to actually make a difference in the world, a positive difference in the world. So I am less righteous fury these days, and more hopeful, looking for visions of equitable futures. I guess that's my career in a nutshell.
|
||||||
|
|
||||||
{{< i >}}
|
*Does the does the world word "protocol" mean anything to you? Is that a word that you've used to describe aspects of your life, or that has been an important part of your work?*
|
||||||
Does the does the world word "protocol" mean anything to you? Is that a word that you've used to describe aspects of your life, or that has been an important part of your work?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It is, in multiple senses of the word. Back in the day I was giving a talk called "He Doesn't Work Here Anymore," which was about my experience of transitioning as an engineer, as a technologist. One of the things I pointed out was that I was learning that communication works very differently than the way I'd experienced it in the past. If you likened it to the HTTP protocol, women were including extra headers that indicated the kind of response that they were hoping to get by sharing a particular by communicating a certain thing. Men on the receiving end were ignoring those headers and answering in a way that was maybe solving a problem or something, but not what was wanted. Other women are sensitive to these headers that are embedded in the messages, and communicate more empathetically for that reason. I was using the HTTP protocol as a metaphor for humans communicating. So I think I've always had the notion of a protocol as a methodology for interactions, whether between human agents or pieces of code.
|
It is, in multiple senses of the word. Back in the day I was giving a talk called "He Doesn't Work Here Anymore," which was about my experience of transitioning as an engineer, as a technologist. One of the things I pointed out was that I was learning that communication works very differently than the way I'd experienced it in the past. If you likened it to the HTTP protocol, women were including extra headers that indicated the kind of response that they were hoping to get by sharing a particular by communicating a certain thing. Men on the receiving end were ignoring those headers and answering in a way that was maybe solving a problem or something, but not what was wanted. Other women are sensitive to these headers that are embedded in the messages, and communicate more empathetically for that reason. I was using the HTTP protocol as a metaphor for humans communicating. So I think I've always had the notion of a protocol as a methodology for interactions, whether between human agents or pieces of code.
|
||||||
|
|
||||||
{{< i >}}
|
*I love that you brought up that context, and it reminds me, too, of the what you said earlier about the way in which things become visible in the context of transition. Things that are invisible otherwise visibilize themselves. And you know that, I think, is part of the behavior of protocols---to be invisible as infrastructures, and then to become visible when some kind of the inadequacy becomes clear.*
|
||||||
I love that you brought up that context, and it reminds me, too, of the what you said earlier about the way in which things become visible in the context of transition. Things that are invisible otherwise visibilize themselves. And you know that, I think, is part of the behavior of protocols---to be invisible as infrastructures, and then to become visible when some kind of the inadequacy becomes clear.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Sure, or a bad implementation. That's always a possibility as well. A protocol is only as good as its adaptations.
|
Sure, or a bad implementation. That's always a possibility as well. A protocol is only as good as its adaptations.
|
||||||
|
|
||||||
{{< i >}}
|
*You identified earlier with the Contributor Covenant. I wanted to focus this conversation as well, but feel free to bring in other projects as well, because I think other projects of yours are relevant. But starting with the Contributor Covenant, can you describe the story of your motivation for developing and then stewarding it, especially for people who are not familiar with what it is. Where did that story start for you?*
|
||||||
You identified earlier with the Contributor Covenant. I wanted to focus this conversation as well, but feel free to bring in other projects as well, because I think other projects of yours are relevant. But starting with the Contributor Covenant, can you describe the story of your motivation for developing and then stewarding it, especially for people who are not familiar with what it is. Where did that story start for you?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It was around 2013, I believe, 2013 or 2014, when a Twitter hashtag emerged from the Python [programming language] community, which was #COCPledge. Basically, conference speakers were pledging to not speak at conferences that didn't have an enforceable code of conduct. This is a time when we have a lot of new people coming into the industry, a lot of people who have seen the salaries that tech companies offer and can see the transformative power of being involved in that economy. And a lot of those people didn't look like the people who came before them. And a lot of those people faced challenges that the people who came before them didn't experience. Those challenges could seem invisible. So codes of conduct were becoming necessary for the peaceful operation of gatherings of technologists. But that was meeting with resistance. It was very controversial. This is something we take for granted now---even department stores have codes of conduct now. But it was very controversial at the time for conferences, and there was a lot of a lot of activism that was required to make it a norm.
|
It was around 2013, I believe, 2013 or 2014, when a Twitter hashtag emerged from the Python [programming language] community, which was #COCPledge. Basically, conference speakers were pledging to not speak at conferences that didn't have an enforceable code of conduct. This is a time when we have a lot of new people coming into the industry, a lot of people who have seen the salaries that tech companies offer and can see the transformative power of being involved in that economy. And a lot of those people didn't look like the people who came before them. And a lot of those people faced challenges that the people who came before them didn't experience. Those challenges could seem invisible. So codes of conduct were becoming necessary for the peaceful operation of gatherings of technologists. But that was meeting with resistance. It was very controversial. This is something we take for granted now---even department stores have codes of conduct now. But it was very controversial at the time for conferences, and there was a lot of a lot of activism that was required to make it a norm.
|
||||||
|
|
||||||
In the midst of that, I saw that there are other places where technologists gathered, where their conduct also had the potential to be problematic. This was on Github, in the context of our open source communities and projects. The concept of a "community" was beginning to come into common usage to describe the group of people that coalesced around an open source project, and was not always a given. As we began to see projects as communities, we saw the need for shared values and norms to emerge. This led to the philosophy behind the Contributor Covenant, which was written as a way to establish shared values and norms for how people would interact in these open source communities. Over time, our understanding of what this means has developed and matured, and the Contributor Covenant has become a living document. The team is currently working on the tenth anniversary version 3.0, which will be modular to accommodate the novel use cases they've discovered, such as Discord servers, Slack communities, and even offline events. This evolution towards an "adapt versus adopt" approach is another way the concept of codes of conduct for digital communities is maturing to meet changing needs. The Contributor Covenant has always been a living document, accepting pull requests and being translated into more than twenty-five languages. With Contributor Covenant 3.0, the team is looking to expand their coverage of languages from the global south, in an effort to counteract the export of white western values that often go along with open source by default, and to be a force for decolonization. They have big plans for what a more globally oriented, norm-based instrument can do for the world.
|
In the midst of that, I saw that there are other places where technologists gathered, where their conduct also had the potential to be problematic. This was on Github, in the context of our open source communities and projects. The concept of a "community" was beginning to come into common usage to describe the group of people that coalesced around an open source project, and was not always a given. As we began to see projects as communities, we saw the need for shared values and norms to emerge. This led to the philosophy behind the Contributor Covenant, which was written as a way to establish shared values and norms for how people would interact in these open source communities. Over time, our understanding of what this means has developed and matured, and the Contributor Covenant has become a living document. The team is currently working on the tenth anniversary version 3.0, which will be modular to accommodate the novel use cases they've discovered, such as Discord servers, Slack communities, and even offline events. This evolution towards an "adapt versus adopt" approach is another way the concept of codes of conduct for digital communities is maturing to meet changing needs. The Contributor Covenant has always been a living document, accepting pull requests and being translated into more than twenty-five languages. With Contributor Covenant 3.0, the team is looking to expand their coverage of languages from the global south, in an effort to counteract the export of white western values that often go along with open source by default, and to be a force for decolonization. They have big plans for what a more globally oriented, norm-based instrument can do for the world.
|
||||||
|
|
||||||
{{< i >}}
|
*So, in telling that story, you began in passive voice---it was created---and then you switched to first-person plural. I wonder if you could describe a bit more about the design process for the Contributor Covenant at each stage? From the beginning, what was that process like and how has it evolved now?*
|
||||||
So, in telling that story, you began in passive voice---it was created---and then you switched to first-person plural. I wonder if you could describe a bit more about the design process for the Contributor Covenant at each stage? From the beginning, what was that process like and how has it evolved now?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Wow! That's a great question and a great observation. At the beginning, the Contributor Covenant was very much a social justice manifesto, and many critics of codes of conduct in general, and the Contributor Covenant in particular, regarded it as a political document pushing a certain political agenda. I was in full agreement with these critics that yes, the Contributor Covenant was attached to a social justice agenda. And why shouldn't it be? It was very confrontational, and the language was also confrontational, because they were confronting a status quo and a culture that was literally harmful. Of course, what they proposed was antagonistic and confrontational, because that was the context in which they were operating.
|
Wow! That's a great question and a great observation. At the beginning, the Contributor Covenant was very much a social justice manifesto, and many critics of codes of conduct in general, and the Contributor Covenant in particular, regarded it as a political document pushing a certain political agenda. I was in full agreement with these critics that yes, the Contributor Covenant was attached to a social justice agenda. And why shouldn't it be? It was very confrontational, and the language was also confrontational, because they were confronting a status quo and a culture that was literally harmful. Of course, what they proposed was antagonistic and confrontational, because that was the context in which they were operating.
|
||||||
|
|
||||||
Over time, however, the Contributor Covenant has gotten less confrontational and less adversarial, and more reflective. I hope it is more reflective of changing values in our digital communities as well. With version 3.0, the emphasis is on the globalization of the Contributor Covenant as an instrument. To achieve this, we actually have to strip out a lot of the language that would typically be associated with some of the values they're talking about, because it's jargon---social justice jargon. When talking to people who don't speak English as a first language, or people who are from outside the white Western sphere, those words aren't going to make sense to them, and that's not acceptable anymore.
|
Over time, however, the Contributor Covenant has gotten less confrontational and less adversarial, and more reflective. I hope it is more reflective of changing values in our digital communities as well. With version 3.0, the emphasis is on the globalization of the Contributor Covenant as an instrument. To achieve this, we actually have to strip out a lot of the language that would typically be associated with some of the values they're talking about, because it's jargon---social justice jargon. When talking to people who don't speak English as a first language, or people who are from outside the white Western sphere, those words aren't going to make sense to them, and that's not acceptable anymore.
|
||||||
|
|
||||||
{{< i >}}
|
*Was it a collective project from the beginning?*
|
||||||
Was it a collective project from the beginning?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
No, it was just me shepherding it, guiding it, and writing it for a number of years. I gifted contributor Covenant to OES, I believe, in 2021 or 2022.
|
No, it was just me shepherding it, guiding it, and writing it for a number of years. I gifted contributor Covenant to OES, I believe, in 2021 or 2022.
|
||||||
|
|
||||||
{{< i >}}
|
*The Organization for Ethical Source.*
|
||||||
The Organization for Ethical Source.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Yes, I gifted the Contributor Covenant to the Organization for Ethical Source because I saw that it was too important to be under the control of just one person. I didn't want there to be a single person responsible for it.
|
Yes, I gifted the Contributor Covenant to the Organization for Ethical Source because I saw that it was too important to be under the control of just one person. I didn't want there to be a single person responsible for it.
|
||||||
|
|
||||||
@ -75,9 +60,7 @@ There's a reason it's called the Contributor Covenant instead of the Contributor
|
|||||||
|
|
||||||
It's adopting a protocol, and that just made a lot more sense than a list of rules or regulations, or policies or manifestos. Not to say that those things don't have value, not to say that those things aren't related or interdependent. But it just makes sense to me as a really general, well-recognized form of social contract.
|
It's adopting a protocol, and that just made a lot more sense than a list of rules or regulations, or policies or manifestos. Not to say that those things don't have value, not to say that those things aren't related or interdependent. But it just makes sense to me as a really general, well-recognized form of social contract.
|
||||||
|
|
||||||
{{< i >}}
|
*Can you talk me through the way it functions? I think this connects to the distinction between code and covenant. How does it work? Maybe in an example or in general practice that you've seen? How does this function in the world?*
|
||||||
Can you talk me through the way it functions? I think this connects to the distinction between code and covenant. How does it work? Maybe in an example or in general practice that you've seen? How does this function in the world?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The Contributor Covenant begins with a preamble which is basically a list of protected classes from a human rights perspective. This establishes the intent right off the bat---it's saying we are intending our community to recognize, understand, and remediate issues that people who fit these criteria often experience. So first of all, we're prioritizing the safety of the most vulnerable and those with the least agency. We're saying that right from the beginning.
|
The Contributor Covenant begins with a preamble which is basically a list of protected classes from a human rights perspective. This establishes the intent right off the bat---it's saying we are intending our community to recognize, understand, and remediate issues that people who fit these criteria often experience. So first of all, we're prioritizing the safety of the most vulnerable and those with the least agency. We're saying that right from the beginning.
|
||||||
|
|
||||||
@ -87,9 +70,7 @@ From there, we go into some procedures around how to report a violation, and wha
|
|||||||
|
|
||||||
At the end, we're hinting that we want people to adapt, not just adopt, by saying this code of conduct is adapted from the Contributor Covenant, with a link to the permanent URL. We're going to make that a little bit more explicit with Contributor Covenant 3.0, but that's basically how it works. It's setting up, "Here's what we value, here's how we treat each other, here's what we do in case of conflict." At a high level, that's the purpose of a lot of governance documents. Right? Here's what we value. Here's how we treat each other. Here's how we operate. Here's why. And here's how.
|
At the end, we're hinting that we want people to adapt, not just adopt, by saying this code of conduct is adapted from the Contributor Covenant, with a link to the permanent URL. We're going to make that a little bit more explicit with Contributor Covenant 3.0, but that's basically how it works. It's setting up, "Here's what we value, here's how we treat each other, here's what we do in case of conflict." At a high level, that's the purpose of a lot of governance documents. Right? Here's what we value. Here's how we treat each other. Here's how we operate. Here's why. And here's how.
|
||||||
|
|
||||||
{{< i >}}
|
*How has this been adopted in practice? It's gone from being an insurgent project that encountered a lot of resistance, as you said, to becoming really widespread in the open source world. What kinds of doors opened? Were there particular moments you think of that revealed something about how the protocol was working?*
|
||||||
How has this been adopted in practice? It's gone from being an insurgent project that encountered a lot of resistance, as you said, to becoming really widespread in the open source world. What kinds of doors opened? Were there particular moments you think of that revealed something about how the protocol was working?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
In the beginning, say for the first 5-6 years, the presence of a code of conduct was a signal that the project leaders, the community leaders, cared about these shared values, had the intention of making their community welcoming and safe. However, with the widespread adoption of codes of conduct, it's become something that people don't think too much about until they have to. It has also become less of a signal, because the adoption is less intentional. Now, the reverse is true. A project without a code of conduct is a stronger signal than a project with one.
|
In the beginning, say for the first 5-6 years, the presence of a code of conduct was a signal that the project leaders, the community leaders, cared about these shared values, had the intention of making their community welcoming and safe. However, with the widespread adoption of codes of conduct, it's become something that people don't think too much about until they have to. It has also become less of a signal, because the adoption is less intentional. Now, the reverse is true. A project without a code of conduct is a stronger signal than a project with one.
|
||||||
|
|
||||||
@ -97,16 +78,12 @@ In a sense, this is a victory, because we have normalized something that once wa
|
|||||||
|
|
||||||
Our relationship with equity has changed and gotten a little bit more complicated, and maybe a little bit more demanding. But the same could be said of governance across the board in digital communities---it requires a lot more work now than it did ten years ago. This is the reality we're facing, and it's something that needs to be continuously addressed and improved upon.
|
Our relationship with equity has changed and gotten a little bit more complicated, and maybe a little bit more demanding. But the same could be said of governance across the board in digital communities---it requires a lot more work now than it did ten years ago. This is the reality we're facing, and it's something that needs to be continuously addressed and improved upon.
|
||||||
|
|
||||||
{{< i >}}
|
*Have you had experiences of capture? When, for instance, has the covenant been used in ways that you didn't expect, and that you objected to?*
|
||||||
Have you had experiences of capture? When, for instance, has the covenant been used in ways that you didn't expect, and that you objected to?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I've had questions about why certain communities have adopted it---communities whose work I think is not necessarily terribly pro-social. I've had mixed feelings about big adoptions by FAANG companies, for example. Facebook, Apple, Amazon, Netflix, Google. There have been companies whose business models are predicated on human rights abuses. I have mixed feelings about them using Contributor Covenant. But the way I reconcile it is that a lot of developers, a lot of technologists, and others are going to be interacting
|
I've had questions about why certain communities have adopted it---communities whose work I think is not necessarily terribly pro-social. I've had mixed feelings about big adoptions by FAANG companies, for example. Facebook, Apple, Amazon, Netflix, Google. There have been companies whose business models are predicated on human rights abuses. I have mixed feelings about them using Contributor Covenant. But the way I reconcile it is that a lot of developers, a lot of technologists, and others are going to be interacting
|
||||||
with the open source projects that these companies put out. I care more about the experience and equitable treatment of the people who are in a position where they are interacting with those projects, maybe because they have to. I care more about them than I care about Facebook itself, for instance. So objecting to Facebook's adoption would be negatively impactful on the tens of thousands of developers who use their frameworks.
|
with the open source projects that these companies put out. I care more about the experience and equitable treatment of the people who are in a position where they are interacting with those projects, maybe because they have to. I care more about them than I care about Facebook itself, for instance. So objecting to Facebook's adoption would be negatively impactful on the tens of thousands of developers who use their frameworks.
|
||||||
|
|
||||||
{{< i >}}
|
*Referring to these companies makes me wonder about the question of economy. You've more recently worked to build an organization around this around this work. But what has been the experience so far around supporting the work that goes into developing this project? Was there funding at the beginning? What kind of economic journey has this project been on?*
|
||||||
Referring to these companies makes me wonder about the question of economy. You've more recently worked to build an organization around this around this work. But what has been the experience so far around supporting the work that goes into developing this project? Was there funding at the beginning? What kind of economic journey has this project been on?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The Organization for Ethical Source was founded with a grant from Omidyar, in conjunction with a partner organization. This interest was sparked by our work on the Hippocratic License, the Ethical Open Source license that's tied to the United Nations Declaration of Human Rights.
|
The Organization for Ethical Source was founded with a grant from Omidyar, in conjunction with a partner organization. This interest was sparked by our work on the Hippocratic License, the Ethical Open Source license that's tied to the United Nations Declaration of Human Rights.
|
||||||
|
|
||||||
@ -118,9 +95,7 @@ I think it might be because the Contributor Covenant is now something that's tak
|
|||||||
|
|
||||||
This has been a challenge, but luckily the Organization for Ethical Source is scrappy and we're volunteer-led, so we're not going to let that stop us.
|
This has been a challenge, but luckily the Organization for Ethical Source is scrappy and we're volunteer-led, so we're not going to let that stop us.
|
||||||
|
|
||||||
{{< i >}}
|
*What have been some of the most important and material tasks or decisions over the course of the project? Were there particular pivot points?*
|
||||||
What have been some of the most important and material tasks or decisions over the course of the project? Were there particular pivot points?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The addition of the Enforcement Guidelines were a pretty big milestone for the Contributor Covenant. A lot of the critiques people had were around codes of conduct being very divisive, as I mentioned from the get-go. And while sometimes those opinions were expressed through violence and threats of violence, I always tried to listen to what people were saying behind those threats, to understand what they were afraid of and see if there was anything I could do to make them less afraid.
|
The addition of the Enforcement Guidelines were a pretty big milestone for the Contributor Covenant. A lot of the critiques people had were around codes of conduct being very divisive, as I mentioned from the get-go. And while sometimes those opinions were expressed through violence and threats of violence, I always tried to listen to what people were saying behind those threats, to understand what they were afraid of and see if there was anything I could do to make them less afraid.
|
||||||
|
|
||||||
@ -132,9 +107,7 @@ Including the Enforcement Guidelines seemed to address a lot of the feedback and
|
|||||||
|
|
||||||
Despite this pushback and even vitriol, I've tried to adapt to the changing conditions and demonstrate that, despite the Contributor Covenant's social justice origins, the underlying social justice concepts are pro-social and should not be controversial. I'm not asking someone to adopt an entire political agenda---I'm simply asking them not to discriminate against others and to treat each other as fellow human beings.
|
Despite this pushback and even vitriol, I've tried to adapt to the changing conditions and demonstrate that, despite the Contributor Covenant's social justice origins, the underlying social justice concepts are pro-social and should not be controversial. I'm not asking someone to adopt an entire political agenda---I'm simply asking them not to discriminate against others and to treat each other as fellow human beings.
|
||||||
|
|
||||||
{{< i >}}
|
*You mentioned the license licensure work, the work with the ethical source licenses. Could you say a bit about how that next phase of protocol development came about for you?*
|
||||||
You mentioned the license licensure work, the work with the ethical source licenses. Could you say a bit about how that next phase of protocol development came about for you?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The impetus for creating the Hippocratic License 1.0, or even the alpha version that got so much attention in 2019, came from Mijente, the Latinx activist organization and immigrants' rights activist organization, and their "No Tech for ICE" campaign. This highlighted the issue for us. We saw that open source was being used and abused in ways that the open source community wouldn't accept, like an individual maintainer's software being used in extrajudicial killings. At least, we hoped they would be opposed to something like that.
|
The impetus for creating the Hippocratic License 1.0, or even the alpha version that got so much attention in 2019, came from Mijente, the Latinx activist organization and immigrants' rights activist organization, and their "No Tech for ICE" campaign. This highlighted the issue for us. We saw that open source was being used and abused in ways that the open source community wouldn't accept, like an individual maintainer's software being used in extrajudicial killings. At least, we hoped they would be opposed to something like that.
|
||||||
|
|
||||||
@ -148,46 +121,34 @@ That's something we've contended with, and we've tried to address critiques of e
|
|||||||
|
|
||||||
The Hippocratic License has actually become very popular---the most popular sector of adopters is academic researchers. That's fascinating to me, even though it's not the intended use case we had in mind. It's really interesting to see what's happening with it in the real world.
|
The Hippocratic License has actually become very popular---the most popular sector of adopters is academic researchers. That's fascinating to me, even though it's not the intended use case we had in mind. It's really interesting to see what's happening with it in the real world.
|
||||||
|
|
||||||
{{< i >}}
|
*You talked about the enforcement there, and that's a point of contrast between the two designs. Right? The Contributor Covenant relies largely on the assumption that there's either an organization or a maintainer, somebody who is exercising a kind of community-scale enforcement power, and they have the ability to remove people, whereas the the Hippocratic license, the ethical source licenses, rely on a level of legal enforcement. Can you say a bit about how that that kind of dependency, so to speak, affects the design of the protocol?*
|
||||||
You talked about the enforcement there, and that's a point of contrast between the two designs. Right? The Contributor Covenant relies largely on the assumption that there's either an organization or a maintainer, somebody who is exercising a kind of community-scale enforcement power, and they have the ability to remove people, whereas the the Hippocratic license, the ethical source licenses, rely on a level of legal enforcement. Can you say a bit about how that that kind of dependency, so to speak, affects the design of the protocol?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
One of the key goals for the Ethical Source licenses that aligns perfectly with the Contributor Covenant's framework is to make the implicit explicit. The team wanted to ensure that the rights extended to the most vulnerable. Just like in the preamble of the Contributor Covenant, they are calling out specific protected classes as a priority for their community. The Hippocratic Code License 3 introduced an interesting provision on the enforcement side, which a lawyer would call a "supply chain impacted provision." This provision essentially states that if Facebook uses the code licensed under the Hippocratic License, and the use of that code results in human rights violations against a specific population, that population has the right to sue Facebook for damages. This inverts the power, giving the impacted people the opportunity to pursue legal action, which corporations would have to take seriously. As a maintainer of a JavaScript library, they would not sue Facebook for infringement of someone else's human rights. It wouldn't work. But if the people upon whom facial recognition software is used and abused choose to file a class-action lawsuit, that's something very different.
|
One of the key goals for the Ethical Source licenses that aligns perfectly with the Contributor Covenant's framework is to make the implicit explicit. The team wanted to ensure that the rights extended to the most vulnerable. Just like in the preamble of the Contributor Covenant, they are calling out specific protected classes as a priority for their community. The Hippocratic Code License 3 introduced an interesting provision on the enforcement side, which a lawyer would call a "supply chain impacted provision." This provision essentially states that if Facebook uses the code licensed under the Hippocratic License, and the use of that code results in human rights violations against a specific population, that population has the right to sue Facebook for damages. This inverts the power, giving the impacted people the opportunity to pursue legal action, which corporations would have to take seriously. As a maintainer of a JavaScript library, they would not sue Facebook for infringement of someone else's human rights. It wouldn't work. But if the people upon whom facial recognition software is used and abused choose to file a class-action lawsuit, that's something very different.
|
||||||
|
|
||||||
Licenses are the intersection of open source communities and corporations or institutions. Institutions can't be held to ethical standards that depend on their goodwill. Institutions have a different set of incentives than people do, and therefore the norms that we are establishing have to be incentivized differently. That means relying on legal regulation.
|
Licenses are the intersection of open source communities and corporations or institutions. Institutions can't be held to ethical standards that depend on their goodwill. Institutions have a different set of incentives than people do, and therefore the norms that we are establishing have to be incentivized differently. That means relying on legal regulation.
|
||||||
|
|
||||||
{{< i >}}
|
*The question of incentives has been running throughout the conversation. I hear that also in what you were describing about the signaling power of the Contributor Covenant. How much of that kind of thinking went into the design process explicitly? Or is it more a matter of observation after the fact?*
|
||||||
The question of incentives has been running throughout the conversation. I hear that also in what you were describing about the signaling power of the Contributor Covenant. How much of that kind of thinking went into the design process explicitly? Or is it more a matter of observation after the fact?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
II would say it was after the fact. I started writing Contributor Covenant in a moment of inspiration and a desire for righteous retribution. I was riled up by the state of the world and wanted to make a big impact and a big change in the way things were done.
|
II would say it was after the fact. I started writing Contributor Covenant in a moment of inspiration and a desire for righteous retribution. I was riled up by the state of the world and wanted to make a big impact and a big change in the way things were done.
|
||||||
|
|
||||||
But things have changed since then, and I've become more deliberative. Now that we have an org, we're very deliberative, doing more strategic thinking and less reactionary stuff. And that's just the natural evolution of a project like this. We're still staying true to our roots, of course, and to the values that inspired the original version. But the technosocial context has changed, and we have to adapt with it. What worked at the beginning won't work anymore. And that reflects our changing way of maintaining it. I hope that answers your question.
|
But things have changed since then, and I've become more deliberative. Now that we have an org, we're very deliberative, doing more strategic thinking and less reactionary stuff. And that's just the natural evolution of a project like this. We're still staying true to our roots, of course, and to the values that inspired the original version. But the technosocial context has changed, and we have to adapt with it. What worked at the beginning won't work anymore. And that reflects our changing way of maintaining it. I hope that answers your question.
|
||||||
|
|
||||||
{{< i >}}
|
*Yes, thank you. Finally, I'm curious about earlier legacies. You've talked in the context of the Contributor Covenant about earlier codes of conduct and with the licenses about the way open source in general is built on that foundation of licensing. But are there other kinds of precedents that you think of, that informed your motivation and your designs?*
|
||||||
Yes, thank you. Finally, I'm curious about earlier legacies. You've talked in the context of the Contributor Covenant about earlier codes of conduct and with the licenses about the way open source in general is built on that foundation of licensing. But are there other kinds of precedents that you think of, that informed your motivation and your designs?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
When I look back on it, I wouldn't say that there were specific things that directly inspired the language of Contributor Covenant 1.0 beyond fluency and the concepts. But in retrospect, I guess the circles I was moving in had more explicit norms.
|
When I look back on it, I wouldn't say that there were specific things that directly inspired the language of Contributor Covenant 1.0 beyond fluency and the concepts. But in retrospect, I guess the circles I was moving in had more explicit norms.
|
||||||
|
|
||||||
As a Gen Xer, I think we take a lot for granted. But through my interactions with later generations of technologists, I've found that people are more explicit about expressing boundaries verbally, introducing themselves, acknowledging their disabilities, and other norms that didn't happen when I was coming up. So the fact that these are norms with newer generations of technologists is inspiring and definitely influences what we're doing. It reminds us why we're trying to make the invisible visible and be open to different ways of expression and interaction as the world moves on. We have to adapt, you know?
|
As a Gen Xer, I think we take a lot for granted. But through my interactions with later generations of technologists, I've found that people are more explicit about expressing boundaries verbally, introducing themselves, acknowledging their disabilities, and other norms that didn't happen when I was coming up. So the fact that these are norms with newer generations of technologists is inspiring and definitely influences what we're doing. It reminds us why we're trying to make the invisible visible and be open to different ways of expression and interaction as the world moves on. We have to adapt, you know?
|
||||||
|
|
||||||
{{< i >}}
|
*Is there anything else you want to bring up before we wrap up?*
|
||||||
Is there anything else you want to bring up before we wrap up?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Some protocols are very long-lived, and my favorite example is the MIDI protocol. It was established in 1983 and has only gone through one major revision, which was backwards compatible.
|
Some protocols are very long-lived, and my favorite example is the MIDI protocol. It was established in 1983 and has only gone through one major revision, which was backwards compatible.
|
||||||
|
|
||||||
I think the most effective and long-lived protocols make the fewest assumptions, are the most explicit, and are just as simple as the complexity of their domain will allow them to be. And I think we can take inspiration from those aspects of successful technical protocols and apply them to social, interpersonal protocols as well.
|
I think the most effective and long-lived protocols make the fewest assumptions, are the most explicit, and are just as simple as the complexity of their domain will allow them to be. And I think we can take inspiration from those aspects of successful technical protocols and apply them to social, interpersonal protocols as well.
|
||||||
|
|
||||||
{{< i >}}
|
*Is there a danger, though, in that narrowness of a tightly defined protocol, in the context of social protocols?*
|
||||||
Is there a danger, though, in that narrowness of a tightly defined protocol, in the context of social protocols?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
You just want to make sure that the protocol is capable of expressing the things that need to be expressed. Simplicity is not necessarily the same as filtering or losing data or losing resolution, or anything like that. The messages can be very rich, meaning the activities can be very rich. What's passing through the protocol can be very rich, even with a simple protocol. Telephones operate on that principle. Telephones don't care what you say, but they're gonna get that voice communication across the wire right.
|
You just want to make sure that the protocol is capable of expressing the things that need to be expressed. Simplicity is not necessarily the same as filtering or losing data or losing resolution, or anything like that. The messages can be very rich, meaning the activities can be very rich. What's passing through the protocol can be very rich, even with a simple protocol. Telephones operate on that principle. Telephones don't care what you say, but they're gonna get that voice communication across the wire right.
|
||||||
|
|
||||||
{{< i >}}
|
*Yeah, or the modem communication across the wire. You can do all sorts of things.*
|
||||||
Yeah, or the modem communication across the wire. You can do all sorts of things.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
And that's the beauty of protocols: they're fundamental and they become infrastructure---if they're effective, they become infrastructure. Not to say that we don't want to pay attention to them. They require maintenance. All infrastructure requires maintenance. But you're successful when it becomes when it becomes a normal way of doing things.
|
And that's the beauty of protocols: they're fundamental and they become infrastructure---if they're effective, they become infrastructure. Not to say that we don't want to pay attention to them. They require maintenance. All infrastructure requires maintenance. But you're successful when it becomes when it becomes a normal way of doing things.
|
||||||
|
@ -5,30 +5,23 @@ facilitator: Nathan Schneider
|
|||||||
date: 2024-10-29
|
date: 2024-10-29
|
||||||
approved: 2024-12-16
|
approved: 2024-12-16
|
||||||
summary: "Good Market is a digital commons for enterprises that prioritize people and the planet over profit. It enables communities to set and enforce their own standards for doing business."
|
summary: "Good Market is a digital commons for enterprises that prioritize people and the planet over profit. It enables communities to set and enforce their own standards for doing business."
|
||||||
|
location: "Sri Lanka / United States"
|
||||||
tags: [economics, organizations, ecology, standards]
|
tags: [economics, organizations, ecology, standards]
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< i >}}
|
*I want to begin with the question of how you like to introduce yourself. How do you introduce yourself to somebody you've just met? Where do you begin?*
|
||||||
I want to begin with the question of how you like to introduce yourself. How do you introduce yourself to somebody you've just met? Where do you begin?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It changes with every single context. But the general introduction for right now is that I'm part of Good Market, which is a digital commons. That's usually my introduction at the moment.
|
It changes with every single context. But the general introduction for right now is that I'm part of Good Market, which is a digital commons. That's usually my introduction at the moment.
|
||||||
|
|
||||||
{{< i >}}
|
*Part of?*
|
||||||
Part of?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Yes, I say, "I'm part of." I'm a co-creator. This is a collective effort so "part of" feels more right.
|
Yes, I say, "I'm part of." I'm a co-creator. This is a collective effort so "part of" feels more right.
|
||||||
|
|
||||||
{{< i >}}
|
*How would you outline the trajectory of your life and career? Where did you start? And where do you see yourself now?*
|
||||||
How would you outline the trajectory of your life and career? Where did you start? And where do you see yourself now?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I started with ecological systems. My training and early work was environmental toxicology and agroecology---what we would now call regenerative agriculture. I was very concerned about environmental problems, especially the intersections of environmental issues and social justice. So that was the earliest work.
|
I started with ecological systems. My training and early work was environmental toxicology and agroecology---what we would now call regenerative agriculture. I was very concerned about environmental problems, especially the intersections of environmental issues and social justice. So that was the earliest work.
|
||||||
|
|
||||||
{{< i >}}
|
*What were the specific contexts of that work?*
|
||||||
What were the specific contexts of that work?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I was involved in ecotoxicology research connected to a Superfund site. After that, I taught at a local university in rural Thailand for a couple of years and became more focused on agriculture issues and community development. I came back to the US briefly for a Masters program, and after that, I joined a local organization in Sri Lanka that primarily worked in agricultural areas.
|
I was involved in ecotoxicology research connected to a Superfund site. After that, I taught at a local university in rural Thailand for a couple of years and became more focused on agriculture issues and community development. I came back to the US briefly for a Masters program, and after that, I joined a local organization in Sri Lanka that primarily worked in agricultural areas.
|
||||||
|
|
||||||
@ -40,9 +33,7 @@ When I was in university, I was focused more on the ecological side of things, t
|
|||||||
|
|
||||||
The current phase of my work pulls on all of those experiences, but it's much more about understanding our current economic system, looking at the root causes of our ecological and social issues, and finding leverage points that we can work on collectively to address those root causes. The work I'm doing now is very much around shifting economic systems so they are good for people and planet. So, that's the trajectory---ecological systems to social systems to economic systems.
|
The current phase of my work pulls on all of those experiences, but it's much more about understanding our current economic system, looking at the root causes of our ecological and social issues, and finding leverage points that we can work on collectively to address those root causes. The work I'm doing now is very much around shifting economic systems so they are good for people and planet. So, that's the trajectory---ecological systems to social systems to economic systems.
|
||||||
|
|
||||||
{{< i >}}
|
*And what was the story of the creation of Good Market?*
|
||||||
And what was the story of the creation of Good Market?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It came out of experiences with the local organization in Sri Lanka. During the war, many of the communities we worked with were displaced. The organization was involved in emergency relief and resettlement work and became dependent on international aid. When the ceasefire was signed, they expected all of their funding to stop. I was asked to join to help with the transition to a more self-sustaining model, so they could continue the community work without international aid. I had some background in fair trade and what we now call social enterprise and I was supporting the local district teams. We were making good progress, but then after the tsunami and after the war restarted, the focus shifted back to emergency relief, and a new wave of international aid entered the country.
|
It came out of experiences with the local organization in Sri Lanka. During the war, many of the communities we worked with were displaced. The organization was involved in emergency relief and resettlement work and became dependent on international aid. When the ceasefire was signed, they expected all of their funding to stop. I was asked to join to help with the transition to a more self-sustaining model, so they could continue the community work without international aid. I had some background in fair trade and what we now call social enterprise and I was supporting the local district teams. We were making good progress, but then after the tsunami and after the war restarted, the focus shifted back to emergency relief, and a new wave of international aid entered the country.
|
||||||
|
|
||||||
@ -54,21 +45,15 @@ That is the origin. It was realizing how big and interconnected this movement is
|
|||||||
|
|
||||||
I wanted to work on something that wasn't donor-dependent or project-focused and I was interested in supporting groups that were working on social and environmental issues with self-sustaining models.
|
I wanted to work on something that wasn't donor-dependent or project-focused and I was interested in supporting groups that were working on social and environmental issues with self-sustaining models.
|
||||||
|
|
||||||
{{< i >}}
|
*How would you summarize what Good Market does?*
|
||||||
How would you summarize what Good Market does?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
What we are doing now is making the broader movement of self-sustaining enterprises and networks more visible. We are making it easier for these groups to find and connect with each other, and to collaborate on systems change, whether that's changing the narrative or changing rules and policies. Our goal is to create a digital commons that is shared by all the groups using it.
|
What we are doing now is making the broader movement of self-sustaining enterprises and networks more visible. We are making it easier for these groups to find and connect with each other, and to collaborate on systems change, whether that's changing the narrative or changing rules and policies. Our goal is to create a digital commons that is shared by all the groups using it.
|
||||||
|
|
||||||
{{< i >}}
|
*What do the groups have to do to be part of it?*
|
||||||
What do the groups have to do to be part of it?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It's a commons, so there's a very clear boundary. That's been there from the very beginning. There are community-owned minimum standards for each sector of the economy. There's a free online application form. It's free to be included, but the standards are a very critical part of the process. And then there's a crowdsourced monitoring system. So to be included, participants have to fill the free online form, meet the community-owned standards, and have a public profile on the site.
|
It's a commons, so there's a very clear boundary. That's been there from the very beginning. There are community-owned minimum standards for each sector of the economy. There's a free online application form. It's free to be included, but the standards are a very critical part of the process. And then there's a crowdsourced monitoring system. So to be included, participants have to fill the free online form, meet the community-owned standards, and have a public profile on the site.
|
||||||
|
|
||||||
{{< i >}}
|
*Are those standards things that groups usually already have in place, and are monitoring? Is it something that they already have in place before they come to you, before you encounter these groups? Or are they developing these kinds of practices in relationship to the platform?*
|
||||||
Are those standards things that groups usually already have in place, and are monitoring? Is it something that they already have in place before they come to you, before you encounter these groups? Or are they developing these kinds of practices in relationship to the platform?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It varies. The minimum standards are designed to be accessible and work across regions, languages, and business types---social enterprises, cooperatives, not-for-profits, responsible businesses, and initiatives that aren't legally registered. For people signing up because they identify as part of the movement, meeting the standards is very straightforward. They are fully aligned with these values and they often go way beyond the minimum requirements.
|
It varies. The minimum standards are designed to be accessible and work across regions, languages, and business types---social enterprises, cooperatives, not-for-profits, responsible businesses, and initiatives that aren't legally registered. For people signing up because they identify as part of the movement, meeting the standards is very straightforward. They are fully aligned with these values and they often go way beyond the minimum requirements.
|
||||||
|
|
||||||
@ -76,9 +61,7 @@ If people are signing up because they are trying to access a specific benefit or
|
|||||||
|
|
||||||
For those who are already in this space, the minimum standards are a relatively easy bar to clear. For those who aren't thinking about their impact on people and the planet yet, the goal is to encourage them and support them on this journey.
|
For those who are already in this space, the minimum standards are a relatively easy bar to clear. For those who aren't thinking about their impact on people and the planet yet, the goal is to encourage them and support them on this journey.
|
||||||
|
|
||||||
{{< i >}}
|
*How would how would you characterize the difference between these kinds of standards and, say, the fair trade labels that people might be more familiar with?*
|
||||||
How would how would you characterize the difference between these kinds of standards and, say, the fair trade labels that people might be more familiar with?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
These standards are just minimum standards that enable people to be part of the digital commons, but there are many networks that use the site that have additional criteria. To join their network pages, enterprises have to meet additional standards. For example, World Fair Trade Organization, Fair Trade Federation, and B Lab, which offers B Corp certification, all have network pages on the digital commons. Enterprises in those networks have all met additional standards and go through their verification or certification processes.
|
These standards are just minimum standards that enable people to be part of the digital commons, but there are many networks that use the site that have additional criteria. To join their network pages, enterprises have to meet additional standards. For example, World Fair Trade Organization, Fair Trade Federation, and B Lab, which offers B Corp certification, all have network pages on the digital commons. Enterprises in those networks have all met additional standards and go through their verification or certification processes.
|
||||||
|
|
||||||
@ -88,9 +71,7 @@ The enterprises that have third-party certification only represent a small perce
|
|||||||
|
|
||||||
This is set up as a minimum level of recognition. It's built in a neutral way that lots of people can use because it's shared infrastructure. It gets used in very different ways by different networks and communities.
|
This is set up as a minimum level of recognition. It's built in a neutral way that lots of people can use because it's shared infrastructure. It gets used in very different ways by different networks and communities.
|
||||||
|
|
||||||
{{< i >}}
|
*How involved were participating groups in designing the model?*
|
||||||
How involved were participating groups in designing the model?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The idea for an online platform came from discussions with all those groups I mentioned earlier, the people we visited in different countries. They wanted a space where they could be visible, connect, and share best practices. But software development can have high upfront costs, and because of the experiences during the tsunami and the war, we were very aware of the risks associated with different types of funding. We'd seen expensive donor-funded software platforms that became ghost towns after the project funding ran out. We'd also seen platforms that took on what gets called "impact investment" and were pushed to become more profit-oriented. We didn't want to take on funding that could lead to mission drift or cause it to become pulled away from the community.
|
The idea for an online platform came from discussions with all those groups I mentioned earlier, the people we visited in different countries. They wanted a space where they could be visible, connect, and share best practices. But software development can have high upfront costs, and because of the experiences during the tsunami and the war, we were very aware of the risks associated with different types of funding. We'd seen expensive donor-funded software platforms that became ghost towns after the project funding ran out. We'd also seen platforms that took on what gets called "impact investment" and were pushed to become more profit-oriented. We didn't want to take on funding that could lead to mission drift or cause it to become pulled away from the community.
|
||||||
|
|
||||||
@ -100,9 +81,7 @@ The intention was just to test the concept. We thought there would be about ten
|
|||||||
|
|
||||||
Even after we had the initial software functionality, we told people we were beta testing in Sri Lanka. We wanted to make sure it worked across all sectors---agriculture, fishing, mining, renewable energy, tourism, tech, and all kinds of services. Once it began expanding globally, we focused on serving different enterprise networks. The enterprises signing up were usually invited by those networks or by other enterprises that used the site. Today, it includes enterprises across economic sectors, registration types, languages, and regions. The form can be filled in twenty-two languages and there are enterprises and networks from nearly 120 countries.
|
Even after we had the initial software functionality, we told people we were beta testing in Sri Lanka. We wanted to make sure it worked across all sectors---agriculture, fishing, mining, renewable energy, tourism, tech, and all kinds of services. Once it began expanding globally, we focused on serving different enterprise networks. The enterprises signing up were usually invited by those networks or by other enterprises that used the site. Today, it includes enterprises across economic sectors, registration types, languages, and regions. The form can be filled in twenty-two languages and there are enterprises and networks from nearly 120 countries.
|
||||||
|
|
||||||
{{< i >}}
|
*What kinds of inputs informed the design of the marketplace?*
|
||||||
What kinds of inputs informed the design of the marketplace?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
There were many co-creators, but there were three of us who really served as stewards and we all had been working for that same local organization for almost ten years. So we all had experience with community-based organizations like revolving loan funds, funeral societies, women's welfare associations, producer cooperatives, and groups managing natural resource commons. We had learned about mobilizing people for collective action, developing self-sustaining models, and building trust through transparency and clear community rules. These experiences informed the design process, even though we didn’t explicitly plan it that way. It was only much later when I was re-reading something from Elinor Ostrom that I realized our design followed the eight principles for governing common resources.
|
There were many co-creators, but there were three of us who really served as stewards and we all had been working for that same local organization for almost ten years. So we all had experience with community-based organizations like revolving loan funds, funeral societies, women's welfare associations, producer cooperatives, and groups managing natural resource commons. We had learned about mobilizing people for collective action, developing self-sustaining models, and building trust through transparency and clear community rules. These experiences informed the design process, even though we didn’t explicitly plan it that way. It was only much later when I was re-reading something from Elinor Ostrom that I realized our design followed the eight principles for governing common resources.
|
||||||
|
|
||||||
@ -110,9 +89,7 @@ Diversity was a big consideration. The goal was to increase visibility across di
|
|||||||
|
|
||||||
Inclusion was also a crucial design consideration. It had to work for people who don’t speak English or use computers, but only have access to a mobile phone. We started by testing the software with people who lived in the city, had international exposure, and used computers, but we didn't consider it ready until we started getting applications submitted in Sinhala and Tamil by mobile phone from rural areas. That's when you know the design works.
|
Inclusion was also a crucial design consideration. It had to work for people who don’t speak English or use computers, but only have access to a mobile phone. We started by testing the software with people who lived in the city, had international exposure, and used computers, but we didn't consider it ready until we started getting applications submitted in Sinhala and Tamil by mobile phone from rural areas. That's when you know the design works.
|
||||||
|
|
||||||
{{< i >}}
|
*Have the standards been subject to ongoing evolution? How are those standards developed, and who governs them?*
|
||||||
Have the standards been subject to ongoing evolution? How are those standards developed, and who governs them?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
There are a few basic principles that don't really change. Members prioritize people and the planet over short-term profit maximization, have a purpose that includes social or environmental goals, communicate about how they are good for people and planet, and have a sustainability strategy that goes beyond a one-time project or event.
|
There are a few basic principles that don't really change. Members prioritize people and the planet over short-term profit maximization, have a purpose that includes social or environmental goals, communicate about how they are good for people and planet, and have a sustainability strategy that goes beyond a one-time project or event.
|
||||||
|
|
||||||
@ -120,9 +97,7 @@ The minimum sector standards are standards for each sector of the economy and th
|
|||||||
|
|
||||||
These minimum standards serve as the low bar, and from there, other certifications or networks can have higher levels of criteria. Networks are able to use the site to manage their networks and have their own additional standards and verification systems.
|
These minimum standards serve as the low bar, and from there, other certifications or networks can have higher levels of criteria. Networks are able to use the site to manage their networks and have their own additional standards and verification systems.
|
||||||
|
|
||||||
{{< i >}}
|
*What kinds of patterns have you noticed in the interactions among these these groups as they're setting standards? What kinds of dynamics emerge as people are developing and choosing their the standards that they're going to enforce for themselves?*
|
||||||
What kinds of patterns have you noticed in the interactions among these these groups as they're setting standards? What kinds of dynamics emerge as people are developing and choosing their the standards that they're going to enforce for themselves?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
One pattern is that many groups start with a narrow focus in one area and then recognize the need to be more holistic in their approach as they engage in dialogue and explore the space further. For instance, some groups that were previously focused solely on social impact have started to recognize the connection between social and environmental aspects, leading to a more comprehensive approach.
|
One pattern is that many groups start with a narrow focus in one area and then recognize the need to be more holistic in their approach as they engage in dialogue and explore the space further. For instance, some groups that were previously focused solely on social impact have started to recognize the connection between social and environmental aspects, leading to a more comprehensive approach.
|
||||||
|
|
||||||
@ -130,9 +105,7 @@ I've also noticed an increased openness to collaboration across what were once s
|
|||||||
|
|
||||||
I can provide a specific example if it would be helpful.
|
I can provide a specific example if it would be helpful.
|
||||||
|
|
||||||
{{< i >}}
|
*Please.*
|
||||||
Please.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The Social Enterprise World Forum works with social enterprise networks around the world. Most countries don't have a separate legal registration for social enterprises, so it can be difficult to identify them. SEWF worked with national networks to develop shared characteristics and a shared definition, and they wanted to establish a global verification for social enterprises that complemented existing local systems.
|
The Social Enterprise World Forum works with social enterprise networks around the world. Most countries don't have a separate legal registration for social enterprises, so it can be difficult to identify them. SEWF worked with national networks to develop shared characteristics and a shared definition, and they wanted to establish a global verification for social enterprises that complemented existing local systems.
|
||||||
|
|
||||||
@ -142,9 +115,7 @@ After a community feedback and review process, they changed the name of the veri
|
|||||||
|
|
||||||
I'm seeing this trend in many different spaces, where groups that were once focused on their own "tribe" are now recognizing the value of bridging across and working with other groups. Community identity and trust-building are still important within their group, but they're more open to collaboration and cooperation with others.
|
I'm seeing this trend in many different spaces, where groups that were once focused on their own "tribe" are now recognizing the value of bridging across and working with other groups. Community identity and trust-building are still important within their group, but they're more open to collaboration and cooperation with others.
|
||||||
|
|
||||||
{{< i >}}
|
*How does the platform or the organization support the verification process?*
|
||||||
How does the platform or the organization support the verification process?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
They use the minimum standards and the free online application as the first step of the process. This works well because it is a free first step. Even if an organization isn't eligible for verification yet, they still benefit from having a public profile. They have a positive feeling and something to work towards in the future.
|
They use the minimum standards and the free online application as the first step of the process. This works well because it is a free first step. Even if an organization isn't eligible for verification yet, they still benefit from having a public profile. They have a positive feeling and something to work towards in the future.
|
||||||
|
|
||||||
@ -154,9 +125,7 @@ Because Good Market is a digital commons it's set up as a shared resource. When
|
|||||||
|
|
||||||
Now, when other networks want to collect information or implement a verification or certification process, they can use the existing infrastructure. People and Planet First has also mobilized funds and invested in new functionality like activity tracking systems and the ability to download certificates, which benefits others using the system. This is how the shared infrastructure has been working, allowing different groups to contribute to and benefit from its development.
|
Now, when other networks want to collect information or implement a verification or certification process, they can use the existing infrastructure. People and Planet First has also mobilized funds and invested in new functionality like activity tracking systems and the ability to download certificates, which benefits others using the system. This is how the shared infrastructure has been working, allowing different groups to contribute to and benefit from its development.
|
||||||
|
|
||||||
{{< i >}}
|
*How does it help uphold the standards that communities set? What is the process for enforcing those standards?*
|
||||||
How does it help uphold the standards that communities set? What is the process for enforcing those standards?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
They are also able to use the crowdsourced monitoring system to flag the standards, but they have their own review process. I think that's a crucial aspect. Different contexts require different approaches. What works for one community may not work for another.
|
They are also able to use the crowdsourced monitoring system to flag the standards, but they have their own review process. I think that's a crucial aspect. Different contexts require different approaches. What works for one community may not work for another.
|
||||||
|
|
||||||
@ -164,9 +133,7 @@ By giving each group the autonomy to decide what works best for their community,
|
|||||||
|
|
||||||
At the same time, having a common infrastructure allows them to keep their information organized and accessible, while still providing the flexibility to adapt and evolve their processes as needed. This balance between standardization and customization is key to making these systems effective and sustainable.
|
At the same time, having a common infrastructure allows them to keep their information organized and accessible, while still providing the flexibility to adapt and evolve their processes as needed. This balance between standardization and customization is key to making these systems effective and sustainable.
|
||||||
|
|
||||||
{{< i >}}
|
*Is there a particular moment when you saw this system being tested, when you saw it confront its own limits or face challenges that community had to rally around solving?*
|
||||||
Is there a particular moment when you saw this system being tested, when you saw it confront its own limits or face challenges that community had to rally around solving?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It has been non-stop, but that's what makes it fun. I don't see the obstacles as challenges, but rather as opportunities to learn and adapt. Every time something new comes up, it's a chance to think, "Okay, we hadn't thought of this. How can we address it?" It's a process of continuous learning and evolution.
|
It has been non-stop, but that's what makes it fun. I don't see the obstacles as challenges, but rather as opportunities to learn and adapt. Every time something new comes up, it's a chance to think, "Okay, we hadn't thought of this. How can we address it?" It's a process of continuous learning and evolution.
|
||||||
|
|
||||||
@ -176,9 +143,7 @@ One of the key questions we had was whether the crowdsourced monitoring system w
|
|||||||
|
|
||||||
It's been an evolution, with each new development and each new group that joins, we ask ourselves, "Does it work at this level? Does it work with this type of group?" It's been a fun and exciting journey, and I'm grateful to have been a part of it.
|
It's been an evolution, with each new development and each new group that joins, we ask ourselves, "Does it work at this level? Does it work with this type of group?" It's been a fun and exciting journey, and I'm grateful to have been a part of it.
|
||||||
|
|
||||||
{{< i >}}
|
*In a context when somebody's flagging somebody else, what does the procedure look like?*
|
||||||
In a context when somebody's flagging somebody else, what does the procedure look like?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
While it's less common now than it was in the early days, issues can still arise. The upfront process has improved significantly, making it more likely to catch potential problems early on. The initial application form has been refined and improved over time, reducing the likelihood of issues slipping through. That being said, there are still cases where a change in ownership, management, or governance, or a significant influx of financial capital, can cause a group to lose sight of their original values and mission. This is where crowdsourced monitoring comes in.
|
While it's less common now than it was in the early days, issues can still arise. The upfront process has improved significantly, making it more likely to catch potential problems early on. The initial application form has been refined and improved over time, reducing the likelihood of issues slipping through. That being said, there are still cases where a change in ownership, management, or governance, or a significant influx of financial capital, can cause a group to lose sight of their original values and mission. This is where crowdsourced monitoring comes in.
|
||||||
|
|
||||||
@ -188,9 +153,7 @@ We've had instances where workers have flagged their own organization, suppliers
|
|||||||
|
|
||||||
When we first started, the concept was new and Sri Lankan enterprises were applying because they were trying to access market opportunities. Now, most applicants know the concept and they understand what the standards are before they sign up. This has reduced the number of flagging issues and makes them easier to resolve. Most groups are deeply committed to prioritizing people and planet. They are are more likely to take corrective action and resolve any problems that arise. They want to make it right. They care about it.
|
When we first started, the concept was new and Sri Lankan enterprises were applying because they were trying to access market opportunities. Now, most applicants know the concept and they understand what the standards are before they sign up. This has reduced the number of flagging issues and makes them easier to resolve. Most groups are deeply committed to prioritizing people and planet. They are are more likely to take corrective action and resolve any problems that arise. They want to make it right. They care about it.
|
||||||
|
|
||||||
{{< i >}}
|
*In the fair trade movement, there has always been a give and take between a certain set of values and the temptation to compromise for adoption---especially when certification processes are funded by the certified organizations. There's always this threat of capture, of a certification being used in ways that the people who devised it didn't intend. Does that experience of capture resonate with you as something that you've had to deal with?*
|
||||||
In the fair trade movement, there has always been a give and take between a certain set of values and the temptation to compromise for adoption---especially when certification processes are funded by the certified organizations. There's always this threat of capture, of a certification being used in ways that the people who devised it didn't intend. Does that experience of capture resonate with you as something that you've had to deal with?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Yes, it resonates with my earlier experiences in both organic and fair trade. I've seen how certification systems can be co-opted by companies that don't necessarily share the values and principles that underpin the movement.
|
Yes, it resonates with my earlier experiences in both organic and fair trade. I've seen how certification systems can be co-opted by companies that don't necessarily share the values and principles that underpin the movement.
|
||||||
|
|
||||||
@ -200,9 +163,7 @@ Similarly, the early organic community had a deeply holistic approach and includ
|
|||||||
|
|
||||||
These are patterns we need to learn from. It's part of the reason the People and Planet First verification was developed. The five standards that underpin the verification were designed to prevent co-optation. Verified enterprises have to exist to solve a social or environmental problem, reinvest the majority of their surplus towards their purpose, and have a structure that protects their purpose over time. Profit-maximizing companies aren't able to meet those criteria.
|
These are patterns we need to learn from. It's part of the reason the People and Planet First verification was developed. The five standards that underpin the verification were designed to prevent co-optation. Verified enterprises have to exist to solve a social or environmental problem, reinvest the majority of their surplus towards their purpose, and have a structure that protects their purpose over time. Profit-maximizing companies aren't able to meet those criteria.
|
||||||
|
|
||||||
{{< i >}}
|
*Have you paid a price for setting the standards the way you have in terms of limiting your reach?*
|
||||||
Have you paid a price for setting the standards the way you have in terms of limiting your reach?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
We haven't had to pay a price in terms of the actual standards. The entire purpose of the digital commons is to speed up the transition to an economy that's good for people and the planet. Having a clear boundary is critical for increasing the visibility of the movement. It builds trust and a sense of shared ownership and that has expanded reach.
|
We haven't had to pay a price in terms of the actual standards. The entire purpose of the digital commons is to speed up the transition to an economy that's good for people and the planet. Having a clear boundary is critical for increasing the visibility of the movement. It builds trust and a sense of shared ownership and that has expanded reach.
|
||||||
|
|
||||||
@ -210,9 +171,7 @@ The price we've paid is more related to inclusion, which is common in this space
|
|||||||
|
|
||||||
Financially, it would have been easier to pilot this type of initiative in a place like Europe or the US, but we chose to test in Sri Lanka because it needed to work for people who don't speak English and don't have access to computers. We were only able to start testing the revenue model once we began expanding to countries where more enterprises have the ability to pay.
|
Financially, it would have been easier to pilot this type of initiative in a place like Europe or the US, but we chose to test in Sri Lanka because it needed to work for people who don't speak English and don't have access to computers. We were only able to start testing the revenue model once we began expanding to countries where more enterprises have the ability to pay.
|
||||||
|
|
||||||
{{< i >}}
|
*What is the platform's primary engine for economic sustainability?*
|
||||||
What is the platform's primary engine for economic sustainability?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
This initiative is different from others I've been involved in. Most of the things I've worked on have been revenue-generating from the start. With software, there's a big upfront cost, but the cost to scale and sustain is relatively small. We've had to invest a lot to get the software up and running, but the revenue from the marketplace events and shops in Sri Lanka helped to subsidize the software development costs.
|
This initiative is different from others I've been involved in. Most of the things I've worked on have been revenue-generating from the start. With software, there's a big upfront cost, but the cost to scale and sustain is relatively small. We've had to invest a lot to get the software up and running, but the revenue from the marketplace events and shops in Sri Lanka helped to subsidize the software development costs.
|
||||||
|
|
||||||
@ -222,9 +181,7 @@ It's also possible for approved enterprises to receive payments through the site
|
|||||||
|
|
||||||
Subscriptions and marketplace transactions are growing, but that will take time. In the meantime, there are many networks wanting additional functionality. They're mobilizing funds to invest in software development, and that's helping to cover costs for now.
|
Subscriptions and marketplace transactions are growing, but that will take time. In the meantime, there are many networks wanting additional functionality. They're mobilizing funds to invest in software development, and that's helping to cover costs for now.
|
||||||
|
|
||||||
{{< i >}}
|
*What have been some of your most important decisions, you, either individually or collectively, in the in the process of building this framework and and an organization, and what prepared you for making those decisions?*
|
||||||
What have been some of your most important decisions, you, either individually or collectively, in the in the process of building this framework and and an organization, and what prepared you for making those decisions?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The key to building a community-driven initiative is recognizing that it's a never-ending, ongoing process. Every decision feels like the most important decision at the time. It requires being attuned to how things are evolving and changing, and being able to pivot and adapt constantly.
|
The key to building a community-driven initiative is recognizing that it's a never-ending, ongoing process. Every decision feels like the most important decision at the time. It requires being attuned to how things are evolving and changing, and being able to pivot and adapt constantly.
|
||||||
|
|
||||||
@ -234,9 +191,7 @@ This has made it easier to navigate challenges. It's about being present and lis
|
|||||||
|
|
||||||
I could really feel the impact of these experiences during the pandemic, when I was talking to other organizations that were struggling. Having gone through so much change in the past, I was able to be in a good listening space and provide support to those who were trying to figure out transitions. I know how hard it is, and I was able to be more present for them.
|
I could really feel the impact of these experiences during the pandemic, when I was talking to other organizations that were struggling. Having gone through so much change in the past, I was able to be in a good listening space and provide support to those who were trying to figure out transitions. I know how hard it is, and I was able to be more present for them.
|
||||||
|
|
||||||
{{< i >}}
|
*You're in some respects creating something new with a platform, a digital tool, but you're also building on existing communities. Do you see Good Market as continuous with or departing from pre-existing legacies in the communities you're working with?*
|
||||||
You're in some respects creating something new with a platform, a digital tool, but you're also building on existing communities. Do you see Good Market as continuous with or departing from pre-existing legacies in the communities you're working with?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I absolutely see our work as a continuation of the efforts of those who came before. We're building on the lessons learned from community organizing in Sri Lanka and other traditional communities. This way of working is not new, but we're adapting it to the current context and using digital tools to enable it.
|
I absolutely see our work as a continuation of the efforts of those who came before. We're building on the lessons learned from community organizing in Sri Lanka and other traditional communities. This way of working is not new, but we're adapting it to the current context and using digital tools to enable it.
|
||||||
|
|
||||||
@ -244,9 +199,7 @@ What's exciting about this approach is that allows for both bonding and bridging
|
|||||||
|
|
||||||
The digital aspect of this work also enables bridging between communities and networks. Even if groups have different specialties or approaches, they may have shared interests or leverage points that can be used to drive change. The digital commons makes it possible for these groups to come together, share information, and collaborate on issues that matter to them. It also makes it easier to fill gaps. People can find products or services or solutions that aren't available in their area. That can be really fun.
|
The digital aspect of this work also enables bridging between communities and networks. Even if groups have different specialties or approaches, they may have shared interests or leverage points that can be used to drive change. The digital commons makes it possible for these groups to come together, share information, and collaborate on issues that matter to them. It also makes it easier to fill gaps. People can find products or services or solutions that aren't available in their area. That can be really fun.
|
||||||
|
|
||||||
{{< i >}}
|
*Is the language of "protocol" something that you've used in in this work? You're working across many languages. What kind of words do you use to describe Good Market? You talked earlier about the commons, for instance.*
|
||||||
Is the language of "protocol" something that you've used in in this work? You're working across many languages. What kind of words do you use to describe Good Market? You talked earlier about the commons, for instance.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
When working with software engineers, I'll use more technical terms like "protocol." Beyond that, we try to use more accessible language that resonates with people. We talk about "community rules" and "minimum standards," which are more relatable and effective.
|
When working with software engineers, I'll use more technical terms like "protocol." Beyond that, we try to use more accessible language that resonates with people. We talk about "community rules" and "minimum standards," which are more relatable and effective.
|
||||||
|
|
||||||
@ -256,9 +209,7 @@ Initially, it was hard to find the right words to describe the different types o
|
|||||||
|
|
||||||
We use the term "network" to describe an enterprise that works with many other enterprises. This can include member organizations, certification bodies, and community-owned spaces. These terms have worked well, but it's taken time to find the right language that can bridge across different divides and be used effectively across the community.
|
We use the term "network" to describe an enterprise that works with many other enterprises. This can include member organizations, certification bodies, and community-owned spaces. These terms have worked well, but it's taken time to find the right language that can bridge across different divides and be used effectively across the community.
|
||||||
|
|
||||||
{{< i >}}
|
*What is holding this kind of model back from becoming more widespread than it is?*
|
||||||
What is holding this kind of model back from becoming more widespread than it is?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
We've seen a significant financialization of our economic system, resulting in a huge concentration of wealth and power. This has made it increasingly challenging to undertake this type of work. The current system's rules and regulations only exacerbate the difficulties. There are deep-seated, structural issues that make it hard to effect change.
|
We've seen a significant financialization of our economic system, resulting in a huge concentration of wealth and power. This has made it increasingly challenging to undertake this type of work. The current system's rules and regulations only exacerbate the difficulties. There are deep-seated, structural issues that make it hard to effect change.
|
||||||
|
|
||||||
@ -268,17 +219,13 @@ I think there are people who initially believed they could create change through
|
|||||||
|
|
||||||
An example of a shared challenge is access to financing and appropriate financial services. Mainstream finance is focused on maximizing profits and endless growth. Even in the impact investment space, the dominant narrative is that it's possible to have social and environmental impact *and* market-rate returns. For many of the enterprises we're serving, this narrative is detrimental. They are looking for patient, non-extractive finance that serves their actual needs. While many enterprises are finding creative ways to generate revenue from the start, others---especially those working on large community infrastructure projects---require financing to get off the ground.
|
An example of a shared challenge is access to financing and appropriate financial services. Mainstream finance is focused on maximizing profits and endless growth. Even in the impact investment space, the dominant narrative is that it's possible to have social and environmental impact *and* market-rate returns. For many of the enterprises we're serving, this narrative is detrimental. They are looking for patient, non-extractive finance that serves their actual needs. While many enterprises are finding creative ways to generate revenue from the start, others---especially those working on large community infrastructure projects---require financing to get off the ground.
|
||||||
|
|
||||||
{{< i >}}
|
*Are there ways in which you've seen that developing shared standards can enable groups to get over those barriers?*
|
||||||
Are there ways in which you've seen that developing shared standards can enable groups to get over those barriers?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I feel like it's just beginning, and this is one of the things that excites me the most. In almost every sector, people are collaborating to find solutions to the challenges they're facing, and because they are working in different contexts, many diverse and innovative approaches are emerging. But when we look across all sectors, the biggest ecosystem gaps are in the finance sector. Finance is lagging behind.
|
I feel like it's just beginning, and this is one of the things that excites me the most. In almost every sector, people are collaborating to find solutions to the challenges they're facing, and because they are working in different contexts, many diverse and innovative approaches are emerging. But when we look across all sectors, the biggest ecosystem gaps are in the finance sector. Finance is lagging behind.
|
||||||
|
|
||||||
I think the entry point is increasing the visibility of groups that are testing out new models of non-extractive finance and transformative finance and trying to do things differently. There are some very new efforts to increase collaboration and sharing in this space. That's the first step to developing shared language, shared standards, and a range of financing options that are better suited to the needs of next economy enterprises.
|
I think the entry point is increasing the visibility of groups that are testing out new models of non-extractive finance and transformative finance and trying to do things differently. There are some very new efforts to increase collaboration and sharing in this space. That's the first step to developing shared language, shared standards, and a range of financing options that are better suited to the needs of next economy enterprises.
|
||||||
|
|
||||||
{{< i >}}
|
*Thank you. Is there anything else you want to make sure to include in this story, that you want people to understand about Good Market or about your your work?*
|
||||||
Thank you. Is there anything else you want to make sure to include in this story, that you want people to understand about Good Market or about your your work?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I'd like to offer some advice to others who are setting up protocols. Having been involved in and supported many groups in this process, I've learned that it's much easier to establish basic protocols at the beginning of an initiative. I've seen groups, such as marketplaces, that try to introduce protocols later on. It can be extremely challenging to add new protocols and boundaries when you have current members who wouldn't fit within those boundaries.
|
I'd like to offer some advice to others who are setting up protocols. Having been involved in and supported many groups in this process, I've learned that it's much easier to establish basic protocols at the beginning of an initiative. I've seen groups, such as marketplaces, that try to introduce protocols later on. It can be extremely challenging to add new protocols and boundaries when you have current members who wouldn't fit within those boundaries.
|
||||||
|
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
---
|
---
|
||||||
narrator: Richard Littauer
|
narrator: Richard Littauer
|
||||||
subject: Constructed Languages
|
subject: Constructed languages
|
||||||
facilitator: Nathan Schneider
|
facilitator: Nathan Schneider
|
||||||
date: 2025-02-04
|
date: 2025-02-04
|
||||||
approved: 2025-02-11
|
approved: 2025-02-11
|
||||||
summary: "Constructed languages, or conlangs, are the basis of a hobby, a science, and a community that now occupies a small corner of the entertainment industry."
|
summary: "Constructed languages, or conlangs, are the basis of a hobby, a science, and a community that now occupies a small corner of the entertainment industry."
|
||||||
tags: [fiction, language, open source, software]
|
location: "Wellington, NZ"
|
||||||
|
tags: [fiction, gender, language, open source, software]
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< i >}}
|
*Can you tell me a bit about how you like to introduce yourself?*
|
||||||
Can you tell me a bit about how you like to introduce yourself?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Hello! I'm Richard Littauer. I use he/him pronouns. I have chronic ADHD and am probably on the autism spectrum, which means introducing myself is impossible. I saw someone recently on Bluesky who said, "My hobby is having hobbies," and that definitely applies to me.
|
Hello! I'm Richard Littauer. I use he/him pronouns. I have chronic ADHD and am probably on the autism spectrum, which means introducing myself is impossible. I saw someone recently on Bluesky who said, "My hobby is having hobbies," and that definitely applies to me.
|
||||||
|
|
||||||
@ -20,17 +19,13 @@ I'm also a conlanger, which is the most common term I use. Sometimes I say const
|
|||||||
|
|
||||||
Xenolinguist is another possibility I've used before---*xeno* as in alien languages, from the Greek word *xenos*. I sometimes introduce myself as a classicist because I have formal training in Latin and Greek. I did five years of Latin in high school and two years of Greek in university. *Linguist* kind of subsumes classicist under it for some definitions, but not for others. Usually one of these terms is how I introduce myself.
|
Xenolinguist is another possibility I've used before---*xeno* as in alien languages, from the Greek word *xenos*. I sometimes introduce myself as a classicist because I have formal training in Latin and Greek. I did five years of Latin in high school and two years of Greek in university. *Linguist* kind of subsumes classicist under it for some definitions, but not for others. Usually one of these terms is how I introduce myself.
|
||||||
|
|
||||||
{{< i >}}
|
*How would you tell the story of your development as a conlanger? Where would you start that trajectory, and how did that beginning bring you to where you are now?*
|
||||||
How would you tell the story of your development as a conlanger? Where would you start that trajectory, and how did that beginning bring you to where you are now?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
There's this funny book---it's red with a black stripe down the side---called *The Languages of Tolkien's Middle-Earth*. It's by Ruth Noel. I've had multiple versions because people keep giving it to me. There's an interesting bit where the author mentions that Tolkien's first conlang was the word *woc* for cow, which is just *cow* backwards. It's a really boring language since that's all we know. I'd argue that's not even a language---that's just a code word.
|
There's this funny book---it's red with a black stripe down the side---called *The Languages of Tolkien's Middle-Earth*. It's by Ruth Noel. I've had multiple versions because people keep giving it to me. There's an interesting bit where the author mentions that Tolkien's first conlang was the word *woc* for cow, which is just *cow* backwards. It's a really boring language since that's all we know. I'd argue that's not even a language---that's just a code word.
|
||||||
|
|
||||||
That particular reference to Tolkien often comes to mind when I think about where I started with languages. One of the first things we do as humans is talk. I've been working with languages my whole life. My parents didn't teach me French even though I was homeschooled, which was a shame. They would talk in French over me with my sisters about my birthday presents. I was paid a quarter for every Latin name of a plant I learned when I was around six to ten, which was a great incentive. I probably got an easy buck that way.
|
That particular reference to Tolkien often comes to mind when I think about where I started with languages. One of the first things we do as humans is talk. I've been working with languages my whole life. My parents didn't teach me French even though I was homeschooled, which was a shame. They would talk in French over me with my sisters about my birthday presents. I was paid a quarter for every Latin name of a plant I learned when I was around six to ten, which was a great incentive. I probably got an easy buck that way.
|
||||||
|
|
||||||
{{< i >}}
|
*Why was that important to them?*
|
||||||
Why was that important to them?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
For my mother, being literary was always very important. She wanted me to become C.S. Lewis---a preacher or academic writer about the kingdom of God.
|
For my mother, being literary was always very important. She wanted me to become C.S. Lewis---a preacher or academic writer about the kingdom of God.
|
||||||
|
|
||||||
@ -54,9 +49,7 @@ I went viral in *The Sun*. I was a centerfold---they painted me and then libeled
|
|||||||
|
|
||||||
Over time, people would reach out asking if I could make a conlang for their game. I also joined the Language Creation Society, dedicated to building these things together as a consultancy for movie studios. I bombed out pretty quick because I had to make money. I had a master's program in computational linguistics, and I needed to pay off my student loans---I'm an American, so I paid my way through college.
|
Over time, people would reach out asking if I could make a conlang for their game. I also joined the Language Creation Society, dedicated to building these things together as a consultancy for movie studios. I bombed out pretty quick because I had to make money. I had a master's program in computational linguistics, and I needed to pay off my student loans---I'm an American, so I paid my way through college.
|
||||||
|
|
||||||
{{< i >}}
|
*Conlanging was not lucrative?*
|
||||||
Conlanging was not lucrative?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
No way. At one point, I estimated I made maybe $2,000 total from all the Na'vi stuff, which included interviews on radio and getting flown to California. It wasn't a very good use of time, but it was incredibly fun.
|
No way. At one point, I estimated I made maybe $2,000 total from all the Na'vi stuff, which included interviews on radio and getting flown to California. It wasn't a very good use of time, but it was incredibly fun.
|
||||||
|
|
||||||
@ -70,9 +63,7 @@ I also taught Latin at a small high school in Vermont, coming full circle. I tau
|
|||||||
|
|
||||||
At this point, I'm about as professional a conlanger as you can be without being David Peterson, who does this full time for major film studios. I've got an IMDB profile---I had to make it, but legally I was allowed to. I'm in the credits.
|
At this point, I'm about as professional a conlanger as you can be without being David Peterson, who does this full time for major film studios. I've got an IMDB profile---I had to make it, but legally I was allowed to. I'm in the credits.
|
||||||
|
|
||||||
{{< i >}}
|
*As somebody who has these dual interests of linguistics and computer systems, I'm curious about how you see parallels there. I see this concept of protocol as something that bridges both. Do you see working with computer languages as something parallel with building linguistic languages, or does it jog very different parts of your brain?*
|
||||||
As somebody who has these dual interests of linguistics and computer systems, I'm curious about how you see parallels there. I see this concept of protocol as something that bridges both. Do you see working with computer languages as something parallel with building linguistic languages, or does it jog very different parts of your brain?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I have to be careful here because a lot of people say, "Oh, you know languages, you must be very good at programming and computer languages." But computer programming languages are quite different from conlangs. Conlangs tend to look like human languages most of the time. There are some that aren't, like Lojban, the logical language. There are some that really do, like Esperanto, which has about 100,000 native speakers---kids who've learned this language from birth.
|
I have to be careful here because a lot of people say, "Oh, you know languages, you must be very good at programming and computer languages." But computer programming languages are quite different from conlangs. Conlangs tend to look like human languages most of the time. There are some that aren't, like Lojban, the logical language. There are some that really do, like Esperanto, which has about 100,000 native speakers---kids who've learned this language from birth.
|
||||||
|
|
||||||
@ -84,17 +75,13 @@ What's interesting for me as a conlanger is that a lot of people discount constr
|
|||||||
|
|
||||||
These Latin names have really strict ways of being presented together, and for me it's just making a conlang.
|
These Latin names have really strict ways of being presented together, and for me it's just making a conlang.
|
||||||
|
|
||||||
{{< i >}}
|
*By putting new rules around Latin names?*
|
||||||
By putting new rules around Latin names?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It's not Latin, right? It's something that looks like Latin and that uses the Latin dictionary, but the rules they have and the protocol that scientists follow isn't actually Latin. It's another subset of Latin based on particular rules they put out. For me, that's very similar to prescriptivism---like saying, "Oh, you can't say, 'Me and my friends went to the mall,' you have to say, 'My friends and I went.'" All those things are just trying to make subsets of language for specific usages, so I see them as identical in terms of computational tools.
|
It's not Latin, right? It's something that looks like Latin and that uses the Latin dictionary, but the rules they have and the protocol that scientists follow isn't actually Latin. It's another subset of Latin based on particular rules they put out. For me, that's very similar to prescriptivism---like saying, "Oh, you can't say, 'Me and my friends went to the mall,' you have to say, 'My friends and I went.'" All those things are just trying to make subsets of language for specific usages, so I see them as identical in terms of computational tools.
|
||||||
|
|
||||||
It always becomes fuzzy for me because when I make conlangs, I use code to help me generate word lists and types of words by defining the phonotactic possibilities of the language. When I do that, I'm aware I'm making a subset of all possible languages that's actually unlike human languages, because human languages aren't perfect---we mess things up all the time. I live in an area of the world that has English as its language, New Zealand English, but there's also a suburb here called Ngaio because it's from Māori. You can't start words in English with "ng," but New Zealand doesn't care because it has Māori influences. That's kind of why conlangs aren't quite human---you try to set these strict structures.
|
It always becomes fuzzy for me because when I make conlangs, I use code to help me generate word lists and types of words by defining the phonotactic possibilities of the language. When I do that, I'm aware I'm making a subset of all possible languages that's actually unlike human languages, because human languages aren't perfect---we mess things up all the time. I live in an area of the world that has English as its language, New Zealand English, but there's also a suburb here called Ngaio because it's from Māori. You can't start words in English with "ng," but New Zealand doesn't care because it has Māori influences. That's kind of why conlangs aren't quite human---you try to set these strict structures.
|
||||||
|
|
||||||
{{< i >}}
|
*Can you describe some of the process of how you go about developing a language? You talked a little bit there about the way you use computers as part of that process, and you also talked about walking around the room, flapping like an elephant. So how do you do this? Where do you begin?*
|
||||||
Can you describe some of the process of how you go about developing a language? You talked a little bit there about the way you use computers as part of that process, and you also talked about walking around the room, flapping like an elephant. So how do you do this? Where do you begin?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Let me scope this to how I professionally make languages for other people. I don't make a lot of languages for myself at the moment---I would like to, but I'm doing other stuff with my time.
|
Let me scope this to how I professionally make languages for other people. I don't make a lot of languages for myself at the moment---I would like to, but I'm doing other stuff with my time.
|
||||||
|
|
||||||
@ -114,17 +101,13 @@ Then I read out some sentences and translate basic things---"Joe saw the fox" or
|
|||||||
|
|
||||||
Remember that bit about flopping around sounding like an elephant? It becomes very difficult if the speakers don't have human mouths, so I have to figure out how it's going to work. Or with whistle languages---I've made a few of those now. How am I going to write that down? How's that going to work? I have to figure all that out. It's actually quite fun.
|
Remember that bit about flopping around sounding like an elephant? It becomes very difficult if the speakers don't have human mouths, so I have to figure out how it's going to work. Or with whistle languages---I've made a few of those now. How am I going to write that down? How's that going to work? I have to figure all that out. It's actually quite fun.
|
||||||
|
|
||||||
{{< i >}}
|
*Have you done original written languages, like distinct alphabets?*
|
||||||
Have you done original written languages, like distinct alphabets?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I haven't done a lot of them. I will be doing it for one contract I'm on right now. Written orthographies are really variable and different---that's a whole other subset of making things that's really fun and interesting.
|
I haven't done a lot of them. I will be doing it for one contract I'm on right now. Written orthographies are really variable and different---that's a whole other subset of making things that's really fun and interesting.
|
||||||
|
|
||||||
I made my own runes when I was an early teenager. I made my own set of futhark, but they were very dwarven. Let's face it, even Tolkien himself took all his stuff from other languages. A lot of conlangers just steal and then say, "Oh, I borrowed it." It's kind of fun.
|
I made my own runes when I was an early teenager. I made my own set of futhark, but they were very dwarven. Let's face it, even Tolkien himself took all his stuff from other languages. A lot of conlangers just steal and then say, "Oh, I borrowed it." It's kind of fun.
|
||||||
|
|
||||||
{{< i >}}
|
*You talked some about social dynamics in this process---your relationship with a friend where you are developing these together, or relationships with clients. What makes for a good collaboration in this context?*
|
||||||
You talked some about social dynamics in this process---your relationship with a friend where you are developing these together, or relationships with clients. What makes for a good collaboration in this context?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I'm really bad at collaborating because I'm really scattered, and it takes me a while to get back to people. I've always been that way, and that's not going to change. I wish it could, but it's not. So I don't know what makes a good collaborator, except it's not me.
|
I'm really bad at collaborating because I'm really scattered, and it takes me a while to get back to people. I've always been that way, and that's not going to change. I wish it could, but it's not. So I don't know what makes a good collaborator, except it's not me.
|
||||||
|
|
||||||
@ -138,15 +121,11 @@ It's always fun to try to make that balance work because I try to make languages
|
|||||||
|
|
||||||
Trying to explain that to a client really helps. Back when I was a kid, it was the language that was most fun---we never actually bothered to make a world, we just made some languages and had a good time. The guy I did that mainly with went on to do a postgrad, and he's currently a postdoc at MIT studying gravity. You have to have a certain type of mind to really enjoy this sort of work. I just happened to know someone who had that kind of mind, which is great.
|
Trying to explain that to a client really helps. Back when I was a kid, it was the language that was most fun---we never actually bothered to make a world, we just made some languages and had a good time. The guy I did that mainly with went on to do a postgrad, and he's currently a postdoc at MIT studying gravity. You have to have a certain type of mind to really enjoy this sort of work. I just happened to know someone who had that kind of mind, which is great.
|
||||||
|
|
||||||
{{< i >}}
|
*So what makes a conlang great art? What do you appreciate about a really beautiful language? What do you look for? And I'm sorry, I know any variant of "what makes art good?" is a horrible question.*
|
||||||
So what makes a conlang great art? What do you appreciate about a really beautiful language? What do you look for? And I'm sorry, I know any variant of "what makes art good?" is a horrible question.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It's not a horrible question. I almost said "it's a good question," which is my least favorite thing to say when I'm interviewing.
|
It's not a horrible question. I almost said "it's a good question," which is my least favorite thing to say when I'm interviewing.
|
||||||
|
|
||||||
{{< i >}}
|
*Usually when people say "that's a good question," it means it's a bad question.*
|
||||||
Usually when people say "that's a good question," it means it's a bad question.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It means they're stumped and don't know what to say. It's a really interesting question because it is hard to define the parameters of what makes art beautiful. I would say it depends on what I'm working on---it depends on what the goals are.
|
It means they're stumped and don't know what to say. It's a really interesting question because it is hard to define the parameters of what makes art beautiful. I would say it depends on what I'm working on---it depends on what the goals are.
|
||||||
|
|
||||||
@ -154,15 +133,11 @@ For me, a good conlang doesn't feel like a conlang. It doesn't sound like anothe
|
|||||||
|
|
||||||
A bad language is one where it's really difficult to pronounce. I made this language called Llérriésh (or Llama), and even I couldn't say it well. I mean, I tried really hard, but there were all these weird tone things going on. It was cool for me to do, and I think it ended up being kind of beautiful because it was really complex---I just wanted complexity at that point. But I would never curse anyone to try to learn that language, to try to speak it to other people. But it was beautiful to me.
|
A bad language is one where it's really difficult to pronounce. I made this language called Llérriésh (or Llama), and even I couldn't say it well. I mean, I tried really hard, but there were all these weird tone things going on. It was cool for me to do, and I think it ended up being kind of beautiful because it was really complex---I just wanted complexity at that point. But I would never curse anyone to try to learn that language, to try to speak it to other people. But it was beautiful to me.
|
||||||
|
|
||||||
{{< i >}}
|
*How do you teach, say, an actor who has to speak a language that you've created?*
|
||||||
How do you teach, say, an actor who has to speak a language that you've created?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
First thing to do is go through some basic words and say, "Here's how this is pronounced, here's how that's pronounced." You have to make sure that your orthography is standard. You can't use English orthography because English orthography is the worst. You have to be like, "Okay, 'a' is always 'ah', it's never 'eh'."
|
First thing to do is go through some basic words and say, "Here's how this is pronounced, here's how that's pronounced." You have to make sure that your orthography is standard. You can't use English orthography because English orthography is the worst. You have to be like, "Okay, 'a' is always 'ah', it's never 'eh'."
|
||||||
|
|
||||||
{{< i >}}
|
*Do you use a phonetic alphabet?*
|
||||||
Do you use a phonetic alphabet?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Yeah, so I try to use a pseudo-IPA. I don't really give them IPA because that's too hard. But I try to say, "This is always like this, and that's always like that." The j's are always j's, they're never y's, something like that.
|
Yeah, so I try to use a pseudo-IPA. I don't really give them IPA because that's too hard. But I try to say, "This is always like this, and that's always like that." The j's are always j's, they're never y's, something like that.
|
||||||
|
|
||||||
@ -170,25 +145,19 @@ It also involves accepting that when they mess up, that's part of the language.
|
|||||||
|
|
||||||
It's definitely difficult for some things. English speakers have a lot of weird stuff going on. English is not a normal language---it's a unique language, just like every other language. Our r's---the American r is a really rare sound in the world. It's not a common sound. So trying to convince other people that "Oh no, every r is"---it's tough. You have to explain that over and over again, like "Oh no, it's not 'Sauron,' it's 'Saurrron.'"
|
It's definitely difficult for some things. English speakers have a lot of weird stuff going on. English is not a normal language---it's a unique language, just like every other language. Our r's---the American r is a really rare sound in the world. It's not a common sound. So trying to convince other people that "Oh no, every r is"---it's tough. You have to explain that over and over again, like "Oh no, it's not 'Sauron,' it's 'Saurrron.'"
|
||||||
|
|
||||||
{{< i >}}
|
*What are some of the most important decisions in creating a language?*
|
||||||
What are some of the most important decisions in creating a language?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
How many vowels are there? Is it tonal? How many tones are you going to have? What's the syntax going to be? That's always a really common one. Is it SVO, is it VOS---verb, subject, etc.? What's the order of words? Is this a language that's going to be written or not? Is this a language that's going to have a lot of things translated in or not?
|
How many vowels are there? Is it tonal? How many tones are you going to have? What's the syntax going to be? That's always a really common one. Is it SVO, is it VOS---verb, subject, etc.? What's the order of words? Is this a language that's going to be written or not? Is this a language that's going to have a lot of things translated in or not?
|
||||||
|
|
||||||
What format are you storing your lexicon in? How are other people going to be able to edit that format with you? How will you present the information to a client is one of the main things. I often use a tripartite interlinear gloss translation where I have the original writing, then each word written out with all the morphemes in it, then the translation. I always try to do that, at least, because otherwise you end up with them not knowing where to put the emphasis on words.
|
What format are you storing your lexicon in? How are other people going to be able to edit that format with you? How will you present the information to a client is one of the main things. I often use a tripartite interlinear gloss translation where I have the original writing, then each word written out with all the morphemes in it, then the translation. I always try to do that, at least, because otherwise you end up with them not knowing where to put the emphasis on words.
|
||||||
|
|
||||||
{{< i >}}
|
*Do you generally deliver a dictionary and a grammar? How do you---what do you deliver? Say more about that.*
|
||||||
Do you generally deliver a dictionary and a grammar? How do you---what do you deliver? Say more about that.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
A .docx file, or maybe a Google Doc, with all the lines that have been translated or need to be translated, and a short dictionary of how it works, and maybe a short grammatical primer. Not massive. For the Mulefa language, I also had a whole two or three pages on how the finger movements should work for humans talking. I decided you just use your primary finger instead of a trunk---the great thing about humans is we don't have large proboscises. We don't have---it's really hard for me to signal with my nose "to the left." I don't know how I would do that, so it's like, just use your finger. So I had to explain how that works, and how the different variations would work---wiggling or harsh movements.
|
A .docx file, or maybe a Google Doc, with all the lines that have been translated or need to be translated, and a short dictionary of how it works, and maybe a short grammatical primer. Not massive. For the Mulefa language, I also had a whole two or three pages on how the finger movements should work for humans talking. I decided you just use your primary finger instead of a trunk---the great thing about humans is we don't have large proboscises. We don't have---it's really hard for me to signal with my nose "to the left." I don't know how I would do that, so it's like, just use your finger. So I had to explain how that works, and how the different variations would work---wiggling or harsh movements.
|
||||||
|
|
||||||
For another language I made, it was really important that I explained the different types of weird sounds that a goblin might make, and what clicks are, and how those work together, and how you would write that because I was giving it to sound people who then had to implement this.
|
For another language I made, it was really important that I explained the different types of weird sounds that a goblin might make, and what clicks are, and how those work together, and how you would write that because I was giving it to sound people who then had to implement this.
|
||||||
|
|
||||||
{{< i >}}
|
*Is there a lot that you have to develop on the back-end that you don't show the client? Is there a more complex grammar?*
|
||||||
Is there a lot that you have to develop on the back-end that you don't show the client? Is there a more complex grammar?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Yes, but it's also smoke and mirrors. A lot of the time, because I'm a contractor and have to cut down on my hours at some point, I can't spend ages debating whether a word should be something. Sometimes I'm like, "Okay, here's the thing," and I just thought of that in two minutes---but that was the two minutes I had to give you.
|
Yes, but it's also smoke and mirrors. A lot of the time, because I'm a contractor and have to cut down on my hours at some point, I can't spend ages debating whether a word should be something. Sometimes I'm like, "Okay, here's the thing," and I just thought of that in two minutes---but that was the two minutes I had to give you.
|
||||||
|
|
||||||
@ -200,9 +169,7 @@ You have to write these things down. Otherwise you end up completely confused be
|
|||||||
|
|
||||||
Writing all these things down really helps you out, and the best way I've learned how to do it is to do it ad hoc, but document it well. Then trust your earlier decisions and listen to them, and don't mess up.
|
Writing all these things down really helps you out, and the best way I've learned how to do it is to do it ad hoc, but document it well. Then trust your earlier decisions and listen to them, and don't mess up.
|
||||||
|
|
||||||
{{< i >}}
|
*How constrained do you think of the range of linguistic possibilities as being? I'm thinking here about the old Chomsky debates about whether language is a kind of cognitive structure as opposed to something that is an infinite playground. Even when you've developed languages for non-human beings---do you think of it like, "Okay, here's a checklist, there's a structure, there are some rules that you can't break"?*
|
||||||
How constrained do you think of the range of linguistic possibilities as being? I'm thinking here about the old Chomsky debates about whether language is a kind of cognitive structure as opposed to something that is an infinite playground. Even when you've developed languages for non-human beings---do you think of it like, "Okay, here's a checklist, there's a structure, there are some rules that you can't break"?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Yes, there's always some rules you can't break, because otherwise you wouldn't be able to signal. I have not yet written a language that's entirely identical to the HTTP protocol---I could do that, that is a language, it's a way of signaling information.
|
Yes, there's always some rules you can't break, because otherwise you wouldn't be able to signal. I have not yet written a language that's entirely identical to the HTTP protocol---I could do that, that is a language, it's a way of signaling information.
|
||||||
|
|
||||||
@ -216,23 +183,17 @@ What helps me when I have to make these hard decisions around bizarre languages
|
|||||||
|
|
||||||
I have also tried to make languages that are impossible.
|
I have also tried to make languages that are impossible.
|
||||||
|
|
||||||
{{< i >}}
|
*What do you mean by that?*
|
||||||
What do you mean by that?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The less we talk about that the better. I mean, it doesn't really work because I'm human and I use a human brain. Languages that don't make sense according to normal human structures---it doesn't work at the end of the day. I haven't found a way to make one that doesn't make a ton of sense.
|
The less we talk about that the better. I mean, it doesn't really work because I'm human and I use a human brain. Languages that don't make sense according to normal human structures---it doesn't work at the end of the day. I haven't found a way to make one that doesn't make a ton of sense.
|
||||||
|
|
||||||
Bird language is a good example. With whistling languages, humans are just never going to be able to do that well. I'm not pitch-perfect in the first place, but on top of that, it's just really difficult. You can make languages, but they're more like codes because they're never used to communicate effective things. I mean, Na'vi had a vocabulary of like 2,000 words last time I was using it, and we had long conversations. We translated *A Midsummer Night's Dream*-type things into it. But the conversations were mainly like "Hello! How are you? I'm good. I'm having some eggs with the rock that you get from the ocean where it is bitter"---because there's no word for salt, so you have to do these weird circumlocutions. We're always limited by our time and ability.
|
Bird language is a good example. With whistling languages, humans are just never going to be able to do that well. I'm not pitch-perfect in the first place, but on top of that, it's just really difficult. You can make languages, but they're more like codes because they're never used to communicate effective things. I mean, Na'vi had a vocabulary of like 2,000 words last time I was using it, and we had long conversations. We translated *A Midsummer Night's Dream*-type things into it. But the conversations were mainly like "Hello! How are you? I'm good. I'm having some eggs with the rock that you get from the ocean where it is bitter"---because there's no word for salt, so you have to do these weird circumlocutions. We're always limited by our time and ability.
|
||||||
|
|
||||||
{{< i >}}
|
*Is there something that, if you had infinite time, you would love to be able to do someday?*
|
||||||
Is there something that, if you had infinite time, you would love to be able to do someday?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
My immediate thought was, I would like to fix the International Code of Zoological Nomenclature.
|
My immediate thought was, I would like to fix the International Code of Zoological Nomenclature.
|
||||||
|
|
||||||
{{< i >}}
|
*Tell us about why it's broken.*
|
||||||
Tell us about why it's broken.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Oh man, like there are agreement rules where adjectives have to agree with genera, but not if they're not a Latin or Greek word. And if it's a Greek word but it's been Latinized, then you have to change it---but they don't really talk about what Latinization is.
|
Oh man, like there are agreement rules where adjectives have to agree with genera, but not if they're not a Latin or Greek word. And if it's a Greek word but it's been Latinized, then you have to change it---but they don't really talk about what Latinization is.
|
||||||
|
|
||||||
@ -246,9 +207,7 @@ In terms of other stuff, if I had infinite time and infinite play---because play
|
|||||||
|
|
||||||
Malta is a really good example of what happens when you mix Italians and Arabs, and then you end up with Maltese. "Chocoholic" is one of my favorite words because it's the stem "chocolate" combined with "holik," which is Arabic. Why not make a whole language that's mixed like that? That would be really fun, just really weird. I'd like to have Algonquian languages spoken on the east coast again, so let's figure out how to do that really well. I like those sort of historical "what if?" questions. What if Hastings had never happened?
|
Malta is a really good example of what happens when you mix Italians and Arabs, and then you end up with Maltese. "Chocoholic" is one of my favorite words because it's the stem "chocolate" combined with "holik," which is Arabic. Why not make a whole language that's mixed like that? That would be really fun, just really weird. I'd like to have Algonquian languages spoken on the east coast again, so let's figure out how to do that really well. I like those sort of historical "what if?" questions. What if Hastings had never happened?
|
||||||
|
|
||||||
{{< i >}}
|
*You've talked about a lot of histories as you're doing this kind of work. How do you think of yourself as part of these earlier legacies? I mean, you talked about Tolkien, and you talked about zoology and taxonomy---whose shoulders are you standing on?*
|
||||||
You've talked about a lot of histories as you're doing this kind of work. How do you think of yourself as part of these earlier legacies? I mean, you talked about Tolkien, and you talked about zoology and taxonomy---whose shoulders are you standing on?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Everyone's shoulders. Patrick O'Brian wrote a really awesome series of books called the Master and Commander series---there's like twenty-one of them. I just finished reading them all for the first time a few months ago. They were truly exceptional, and one of the great things about the books is that they're character-driven. They're about the friendship of two men, Jack Aubrey and Stephen Maturin.
|
Everyone's shoulders. Patrick O'Brian wrote a really awesome series of books called the Master and Commander series---there's like twenty-one of them. I just finished reading them all for the first time a few months ago. They were truly exceptional, and one of the great things about the books is that they're character-driven. They're about the friendship of two men, Jack Aubrey and Stephen Maturin.
|
||||||
|
|
||||||
@ -262,9 +221,7 @@ I try to have more fun, because I think that people should have more fun in the
|
|||||||
|
|
||||||
Fundamentally, I try to think of myself as not being much different than being a dude sitting next to a fire 10,000 years ago and telling a story to the person next to them. Because historically, I haven't changed much. Evolutionarily, I'm basically that same person---maybe I'm a bit stupider and a bit less tall. But that's what I want to do with my time.
|
Fundamentally, I try to think of myself as not being much different than being a dude sitting next to a fire 10,000 years ago and telling a story to the person next to them. Because historically, I haven't changed much. Evolutionarily, I'm basically that same person---maybe I'm a bit stupider and a bit less tall. But that's what I want to do with my time.
|
||||||
|
|
||||||
{{< i >}}
|
*Finally, are there any lessons you think this practice of conlanging has to offer to the rest of the world? Is there anything that you wish other people understood that people in this world do understand?*
|
||||||
Finally, are there any lessons you think this practice of conlanging has to offer to the rest of the world? Is there anything that you wish other people understood that people in this world do understand?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I think about this interaction I had a lot. I went to a friend's house---she's a mother of three or four kids, she was a birder in Vermont. I was having tea on her back deck, and I saw this little common grackle come by, a bronzed grackle, and I said, "Quiscalus quiscula," or whatever it is.
|
I think about this interaction I had a lot. I went to a friend's house---she's a mother of three or four kids, she was a birder in Vermont. I was having tea on her back deck, and I saw this little common grackle come by, a bronzed grackle, and I said, "Quiscalus quiscula," or whatever it is.
|
||||||
|
|
||||||
|
@ -5,12 +5,11 @@ facilitator: Nathan Schneider
|
|||||||
date: 2024-12-13
|
date: 2024-12-13
|
||||||
approved: 2025-03-04
|
approved: 2025-03-04
|
||||||
summary: "A diplomat for Bangladesh describes the role of protocol in high-profile international visits and treaty negotiations."
|
summary: "A diplomat for Bangladesh describes the role of protocol in high-profile international visits and treaty negotiations."
|
||||||
|
location: "Dhaka, Bangladesh"
|
||||||
tags: [diplomacy, government, friendship]
|
tags: [diplomacy, government, friendship]
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< i >}}
|
*How do you introduce yourself?*
|
||||||
How do you introduce yourself?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I am a career diplomat, a professional diplomat. I was with the Foreign Office of Bangladesh for 37 years and 9 months. I did an MA at the Fletcher School of Law and Diplomacy in Boston, USA, and completed trainings in New York, USA and in Japan. I also did a short course at the University of Westminster in London. I have been posted as ambassador to four capitals, beginning with Rabat, Morocco. Then I went to Berlin, Germany. After Germany I was posted to Tashkent, that was formerly part of the Soviet Union. After Central Asia, or you can say Middle Asia, I was posted to Turkey. Since Bangladesh doesn't have an embassy in all capitals, one embassy takes care of about six countries. Altogether I was appointed Ambassador of Bangladesh to 18 countries.
|
I am a career diplomat, a professional diplomat. I was with the Foreign Office of Bangladesh for 37 years and 9 months. I did an MA at the Fletcher School of Law and Diplomacy in Boston, USA, and completed trainings in New York, USA and in Japan. I also did a short course at the University of Westminster in London. I have been posted as ambassador to four capitals, beginning with Rabat, Morocco. Then I went to Berlin, Germany. After Germany I was posted to Tashkent, that was formerly part of the Soviet Union. After Central Asia, or you can say Middle Asia, I was posted to Turkey. Since Bangladesh doesn't have an embassy in all capitals, one embassy takes care of about six countries. Altogether I was appointed Ambassador of Bangladesh to 18 countries.
|
||||||
|
|
||||||
@ -24,9 +23,7 @@ This is, in a nutshell, my background as a career diplomat and ambassador. I was
|
|||||||
|
|
||||||
I also did negotiations in the field of business and defense cooperation during my tenure as Ambassador in Turkey during the global Covid crisis.
|
I also did negotiations in the field of business and defense cooperation during my tenure as Ambassador in Turkey during the global Covid crisis.
|
||||||
|
|
||||||
{{< i >}}
|
*What does the word "protocol" mean for you in the diplomatic context?*
|
||||||
What does the word "protocol" mean for you in the diplomatic context?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Protocol has two meanings. Protocol can be a kind of document or agreement. It could be a treaty or a memorandum of understanding. Sometimes you can sign ordinary notes that might last for a few days or a few years. Protocol can also be a special understanding between two friendly countries.
|
Protocol has two meanings. Protocol can be a kind of document or agreement. It could be a treaty or a memorandum of understanding. Sometimes you can sign ordinary notes that might last for a few days or a few years. Protocol can also be a special understanding between two friendly countries.
|
||||||
|
|
||||||
@ -54,9 +51,7 @@ The then Prime Minister of Pakistan, Nawaz Sharif expressed a desire to see a Ro
|
|||||||
|
|
||||||
One has to be very meticulous when offering protocol. This is the diplomatic protocol I'm talking about, not just signing a protocol. Signing a protocol is also interesting, but that is different. Many small things---the understanding and exchange of niceties, even the exchange of gifts---can be part of protocol. When a mayor offers a key of the city to a visiting dignitary, that is also part of diplomatic protocol.
|
One has to be very meticulous when offering protocol. This is the diplomatic protocol I'm talking about, not just signing a protocol. Signing a protocol is also interesting, but that is different. Many small things---the understanding and exchange of niceties, even the exchange of gifts---can be part of protocol. When a mayor offers a key of the city to a visiting dignitary, that is also part of diplomatic protocol.
|
||||||
|
|
||||||
{{< i >}}
|
*How much of the rules of diplomacy are understood to be universal, or are already in place, as opposed to the details that you have to work out?*
|
||||||
How much of the rules of diplomacy are understood to be universal, or are already in place, as opposed to the details that you have to work out?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
First, basically, between two countries, or even in multilateral cases, you have the Vienna Convention, which sets some basic guidelines around embassies and treaties. Then there are diplomatic niceties. There are many formal things that you have to maintain. Protocol is not a light matter. There is no room for whimsicality.
|
First, basically, between two countries, or even in multilateral cases, you have the Vienna Convention, which sets some basic guidelines around embassies and treaties. Then there are diplomatic niceties. There are many formal things that you have to maintain. Protocol is not a light matter. There is no room for whimsicality.
|
||||||
|
|
||||||
@ -64,9 +59,7 @@ In protocol one has to work out all the details when you are organizing an event
|
|||||||
|
|
||||||
Once in an embassy National Day event---I will not say which embassy---this was when I was in Tashkent, the CD player suddenly stopped, guests waited for the national anthem to resume, the ambassador turned red in the face. You understand, all the dignitaries were present and the national anthem had halted because of a technical glitch. I'm sure next day the person in charge, whether it was staff or junior officer, was packing his baggage and was headed back to his capital. In Bangladesh too, once when the Prime Minister came to attend a formal program, there was a technical problem that prevented the national anthem from being played, and the next day the chief of protocol was fired. These things happen. With protocol, you have to be extraordinarily careful, you have to be calm and collected under pressure, and you have to be well-trained on how to swiftly handle a *faux pas* or unmeditated disruptions. One has to understand the enormity of any failings and one has to always be on alert.
|
Once in an embassy National Day event---I will not say which embassy---this was when I was in Tashkent, the CD player suddenly stopped, guests waited for the national anthem to resume, the ambassador turned red in the face. You understand, all the dignitaries were present and the national anthem had halted because of a technical glitch. I'm sure next day the person in charge, whether it was staff or junior officer, was packing his baggage and was headed back to his capital. In Bangladesh too, once when the Prime Minister came to attend a formal program, there was a technical problem that prevented the national anthem from being played, and the next day the chief of protocol was fired. These things happen. With protocol, you have to be extraordinarily careful, you have to be calm and collected under pressure, and you have to be well-trained on how to swiftly handle a *faux pas* or unmeditated disruptions. One has to understand the enormity of any failings and one has to always be on alert.
|
||||||
|
|
||||||
{{< i >}}
|
*How did you learn to develop that sense of detail? *
|
||||||
How did you learn to develop that sense of detail?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I took interest, that's the main thing. From the very beginning I knew this is one of the most interesting jobs because you will be meeting the heads of state and government, and at least the foreign ministers. My opportunity came as a junior officer to be a guide to a visiting minister---showing him around, taking him to the market, taking him to another ministry, just accompanying him---I was very alert from the onset. And I received very glowing commendations after the visit. No matter how difficult the task was, I never said ‘no’ to anybody---I tried to manage. That is another hallmark of a diplomat, protocol instills this quality because we are entrusted to create positivity and an atmosphere of confidence. The objective has to be achieved, no matter how difficult. At the same time the process has to go smoothly, almost seem effortless.
|
I took interest, that's the main thing. From the very beginning I knew this is one of the most interesting jobs because you will be meeting the heads of state and government, and at least the foreign ministers. My opportunity came as a junior officer to be a guide to a visiting minister---showing him around, taking him to the market, taking him to another ministry, just accompanying him---I was very alert from the onset. And I received very glowing commendations after the visit. No matter how difficult the task was, I never said ‘no’ to anybody---I tried to manage. That is another hallmark of a diplomat, protocol instills this quality because we are entrusted to create positivity and an atmosphere of confidence. The objective has to be achieved, no matter how difficult. At the same time the process has to go smoothly, almost seem effortless.
|
||||||
|
|
||||||
@ -76,9 +69,7 @@ One has to know all the key protocol people at the ministry or the visa section
|
|||||||
|
|
||||||
Having a network of friends and contacts can help you in multifarious ways. When we were doing the negotiations in Hamburg, I found there many of my friends with whom I had worked in New York. They were posted as officers or judges in Hamburg. They were very understanding with regard to the Bangladesh position while Bangladesh and Myanmar were having this arbitration over the demarcation of the Bay of Bengal. It became easy for me. When you have a known face, they say, "Mosud, don't worry, we'll take care of that."
|
Having a network of friends and contacts can help you in multifarious ways. When we were doing the negotiations in Hamburg, I found there many of my friends with whom I had worked in New York. They were posted as officers or judges in Hamburg. They were very understanding with regard to the Bangladesh position while Bangladesh and Myanmar were having this arbitration over the demarcation of the Bay of Bengal. It became easy for me. When you have a known face, they say, "Mosud, don't worry, we'll take care of that."
|
||||||
|
|
||||||
{{< i >}}
|
*What is the difference in your relationship to these protocols when you are the protocol officer as opposed to being the ambassador? Those are both roles you've held, but they seem distinct; one is designing the protocol, and one is performing it.*
|
||||||
What is the difference in your relationship to these protocols when you are the protocol officer as opposed to being the ambassador? Those are both roles you've held, but they seem distinct; one is designing the protocol, and one is performing it.
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
A protocol officer, or in my case the Deputy Chief of Protocol, generally doesn't sign any agreement. An Ambassador is authorized on behalf of the country to negotiate everything. I did it a couple of times.
|
A protocol officer, or in my case the Deputy Chief of Protocol, generally doesn't sign any agreement. An Ambassador is authorized on behalf of the country to negotiate everything. I did it a couple of times.
|
||||||
|
|
||||||
@ -92,9 +83,7 @@ I remember a particular visit. Alberto Fujimori was the President of Peru. He wa
|
|||||||
|
|
||||||
On another occasion, we were informed that Yasser Arafat was arriving in Dhaka in two hours. The Prime Minister's office called and told me our Prime Minister would be at the airport to receive Mr. Arafat. I was instructed to do the needful including arranging a lunch for one hundred people. I was enjoying my weekend with my son, showing him one of the Mughal era antiquities in Dhaka. I took the instructions and calculated how best to get all this done before the aircraft carrying Mr. Arafat arrived at Dhaka in less than two hours. I returned home scrambling to dress for the occasion and rushed to the airport before our Prime Minister arrived.
|
On another occasion, we were informed that Yasser Arafat was arriving in Dhaka in two hours. The Prime Minister's office called and told me our Prime Minister would be at the airport to receive Mr. Arafat. I was instructed to do the needful including arranging a lunch for one hundred people. I was enjoying my weekend with my son, showing him one of the Mughal era antiquities in Dhaka. I took the instructions and calculated how best to get all this done before the aircraft carrying Mr. Arafat arrived at Dhaka in less than two hours. I returned home scrambling to dress for the occasion and rushed to the airport before our Prime Minister arrived.
|
||||||
|
|
||||||
{{< i >}}
|
*When you're training younger people coming into this work, what kinds of skills do you focus on helping them develop? *
|
||||||
When you're training younger people coming into this work, what kinds of skills do you focus on helping them develop?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
First and foremost, patience. In the dead of the night, you may have a call from the Prime Minister or President's office to do something right away. Let us say, for example, the Finance Minister from China will be landing shortly, and Mosud Mannan has to accompany. The price of one’s patience and dexterity is of course, sweet. You get to enjoy unique perks: as a young official I got to see the gold-plated interior of the royal jet of Saudi Arabia, and I shook hands with Mr. Nelson Mandela.
|
First and foremost, patience. In the dead of the night, you may have a call from the Prime Minister or President's office to do something right away. Let us say, for example, the Finance Minister from China will be landing shortly, and Mosud Mannan has to accompany. The price of one’s patience and dexterity is of course, sweet. You get to enjoy unique perks: as a young official I got to see the gold-plated interior of the royal jet of Saudi Arabia, and I shook hands with Mr. Nelson Mandela.
|
||||||
|
|
||||||
@ -114,9 +103,7 @@ You have to know your strength. First you negotiate through niceties, and then i
|
|||||||
|
|
||||||
When Bangladesh was a member of the Security Council, I was one of the alternate representatives. Sometimes, the US permanent Representative to the UN would drop by to discuss things with my Ambassador. Behind closed doors, they would talk amongst themselves. Security Council votes mattered. Since I was part of many negotiations to gain votes for Bangladesh, I know how diplomats can accomplish these things. It is not as easy as it sounds. You have to know the game. You have to know international law. More than that, you have to know about history, and you have to make good friends. My Ambassador did all this, and I believe, I did too. It is not a bookish thing. It is not an academic thing. You have to have two or three options, and make sure that one will work.
|
When Bangladesh was a member of the Security Council, I was one of the alternate representatives. Sometimes, the US permanent Representative to the UN would drop by to discuss things with my Ambassador. Behind closed doors, they would talk amongst themselves. Security Council votes mattered. Since I was part of many negotiations to gain votes for Bangladesh, I know how diplomats can accomplish these things. It is not as easy as it sounds. You have to know the game. You have to know international law. More than that, you have to know about history, and you have to make good friends. My Ambassador did all this, and I believe, I did too. It is not a bookish thing. It is not an academic thing. You have to have two or three options, and make sure that one will work.
|
||||||
|
|
||||||
{{< i >}}
|
*Have there been times when you've had to break the rules?*
|
||||||
Have there been times when you've had to break the rules?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Generally, countries like Bangladesh don't break the rules. The rules are generally not broken. I will say the rules are pushed apart by powerful countries, because they have other powers, because they are not only negotiating politically. They will push the rules by offering to give you some help, maybe in defense or commerce.
|
Generally, countries like Bangladesh don't break the rules. The rules are generally not broken. I will say the rules are pushed apart by powerful countries, because they have other powers, because they are not only negotiating politically. They will push the rules by offering to give you some help, maybe in defense or commerce.
|
||||||
|
|
||||||
@ -134,15 +121,11 @@ In Bangladesh we don't train two hundred diplomats at a time. We take ten to fif
|
|||||||
|
|
||||||
That's why I will say, I was given the best postings---London to begin with, then New York, during the Security Council, then ambassador to Germany, ambassador to Turkey, deputy head of mission in China. I went to Central Asia, which was very nice.
|
That's why I will say, I was given the best postings---London to begin with, then New York, during the Security Council, then ambassador to Germany, ambassador to Turkey, deputy head of mission in China. I went to Central Asia, which was very nice.
|
||||||
|
|
||||||
{{< i >}}
|
*What makes countries follow the international rules? It's not like there is a police officer that's going to put them in jail. What makes countries want to follow these norms and participate in the shared protocols?*
|
||||||
What makes countries follow the international rules? It's not like there is a police officer that's going to put them in jail. What makes countries want to follow these norms and participate in the shared protocols?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
There is an incentive to follow the norms and uphold shared protocols. Things gain a certain clarity because of maintenance of protocol codes. You do not misread or misjudge situations. If you do not observe protocol, you will land in trouble. Others will not show respect to you because you have broken the rules. Generally, diplomats don't act on caprice and generally they will not act on their own whims to make another country upset. Even when situations between countries become hostile, terse or tense, protocol is observed. Countries diffuse situations or can improve relations by handling things on the basis of protocol requirements.
|
There is an incentive to follow the norms and uphold shared protocols. Things gain a certain clarity because of maintenance of protocol codes. You do not misread or misjudge situations. If you do not observe protocol, you will land in trouble. Others will not show respect to you because you have broken the rules. Generally, diplomats don't act on caprice and generally they will not act on their own whims to make another country upset. Even when situations between countries become hostile, terse or tense, protocol is observed. Countries diffuse situations or can improve relations by handling things on the basis of protocol requirements.
|
||||||
|
|
||||||
{{< i >}}
|
*After this career, do you have thoughts about what kinds of rules or protocols could make this international order fair?*
|
||||||
After this career, do you have thoughts about what kinds of rules or protocols could make this international order fair?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The world, to some extent, doesn't revolve around only protocol. It depends on whether we are fair or not. Whether we are fair or not fair will be decided by the culture you follow in your day-to-day life. If you're from the USA, a big, strong country, they have their own culture, they have their way of life, they have their wealth, and they have their might. In Russia, they have different culture and literature, a distinctive way of thinking. China is totally different. Chinese people have their own way of seeing things, their own ways of doing things.
|
The world, to some extent, doesn't revolve around only protocol. It depends on whether we are fair or not. Whether we are fair or not fair will be decided by the culture you follow in your day-to-day life. If you're from the USA, a big, strong country, they have their own culture, they have their way of life, they have their wealth, and they have their might. In Russia, they have different culture and literature, a distinctive way of thinking. China is totally different. Chinese people have their own way of seeing things, their own ways of doing things.
|
||||||
|
|
||||||
|
211
content/articles/prodromou-distributed_social_networks.md
Normal file
211
content/articles/prodromou-distributed_social_networks.md
Normal file
@ -0,0 +1,211 @@
|
|||||||
|
---
|
||||||
|
narrator: Evan Prodromou
|
||||||
|
subject: Distributed social networks
|
||||||
|
facilitator: Nathan Schneider
|
||||||
|
date: 2024-12-06
|
||||||
|
approved: 2025-04-01
|
||||||
|
summary: "A career-long journey to build online social networks that cannot be controlled by a single company, culminating with the ActivityPub standard."
|
||||||
|
location: "Montreal, Canada"
|
||||||
|
links:
|
||||||
|
- text: Website
|
||||||
|
url: https://evanp.me/
|
||||||
|
- text: "ActivityPub: Programming the Social Web"
|
||||||
|
url: https://www.oreilly.com/library/view/activitypub/9781098162733/
|
||||||
|
tags: [decentralization, open source, organizations, social media, software, standards]
|
||||||
|
---
|
||||||
|
|
||||||
|
*How do you introduce yourself?*
|
||||||
|
|
||||||
|
My name is Evan Prodromou, and I'm a software developer, entrepreneur, and architect from Montreal, Canada. I'm best known for my work on distributed social networks, and in other circles for wikis and AI. I have a lot of different hats.
|
||||||
|
|
||||||
|
*Let's get to know some of those hats. How would you outline the trajectory of your life and career? Where did you start and where are you now?*
|
||||||
|
|
||||||
|
I did well in school and ended up going to UC Berkeley as a physics student in the eighties. The University of California was an incredibly exciting time to be in physics---I had more Nobel laureates in my department than there were in all of the Soviet Union at the time. These were all the people who came out of the Manhattan project and were still producing great work from Lawrence Berkeley Labs and Lawrence Livermore Labs.
|
||||||
|
|
||||||
|
One of my great opportunities was working as a research assistant for Charles Townes, who won the Nobel Prize for inventing the laser. A lot of my work as a young physics student was doing software development because these older generation professors had computer-driven experimental equipment but not a lot of programming skills. I did a lot of writing code in Fortran and C to control telescopes and various material sciences machines.
|
||||||
|
|
||||||
|
When I got out of university, I started working in software development while I decided which graduate student program I would go to. It turned out that I really liked writing software and I really liked making money, and those were two things that I wasn't going to get to do as a PhD student. So I stayed in the software business.
|
||||||
|
|
||||||
|
I worked at Microsoft for about three years and then moved on to a company called Securant, which did security software. They were bought by RSA. At that point, with a little money under my mattress, I decided I would start my own business and start working on my own projects instead of working on someone else's projects.
|
||||||
|
|
||||||
|
I started a service called WikiTravel in 2003 with my wife. We were partners on that project---my wife is an information scientist who does data organization and taxonomy, so her input was really valuable on WikiTravel. It was like Wikipedia meets Lonely Planet, a worldwide travel guide built by travelers themselves sharing information with each other. By 2007 we had sold it to Internet Brands.
|
||||||
|
|
||||||
|
I was looking for my next thing to do and wondering where my life was going to go when I was invited to an event in Boston at the Free Software Foundation, the older open source organization run by Richard Stallman. They invited me and a number of other people who had been involved in Creative Commons---WikiTravel was all Free Software, all Creative Commons content---and other people who had built big network services using open standards and open-source software. They asked us to come do a big workshop and think about what we were going to do about network standards.
|
||||||
|
|
||||||
|
That was me, Aaron Swartz was there, Mike Links, Lewis Villa, and Benjamin Mako Hill. It was a really great group of people who were very enthusiastic about taking this movement around open source software, which had been about programming editors and compilers, and bringing it to network services that people use over the Internet. This was in 2007, so definitely ten years late, but still a very interesting set of people.
|
||||||
|
|
||||||
|
We put together the Franklin Street Statement---Franklin Street is where the FSF headquarters were---about how people should use network services. Use open source software, use open data, use systems that you can set up yourself and can control on your own servers. Don't use stuff that you have to be dependent on. It was a really exciting time. I came out of the meeting thinking, "Boy, I can't wait to start a new service."
|
||||||
|
|
||||||
|
This was 2008. Twitter had just launched at South by Southwest in 2007. They had been running in stealth mode among Web 2.0 digerati, and in March of 2007 they opened up to the public. I was there, and I tried it, and I was like, "Oh, I get this." About six months later, I started writing the software that would become StatusNet and started writing the code that would become Identi.ca.
|
||||||
|
|
||||||
|
This was mid-2000s, and there was this open-source inevitabilism---this sense that if you've got a word processor, we're going to make an open-source word processor that's going to be as good or better, and we're going to wipe out your business. If you've got a server operating system, we're going to make an open-source server operating system. No matter what commercial corporate organizations could make, we would undercut the value by making an open-source alternative.
|
||||||
|
|
||||||
|
*Some worked better than others.*
|
||||||
|
|
||||||
|
Yes, exactly. So I was like, "Oh boy, I'm going to be the one that makes the open-source Twitter." I started building it and shared it with this group of people who had been at this Franklin Street meeting. They were excited about it. They were working on Identi.ca, they were sharing and having conversations there.
|
||||||
|
|
||||||
|
Then we had a moment where people were starting to use the source code on their own servers, and they were like, "Well, now we're cut off from the conversation. We took the software, we're exercising this control that you say we should have, but if we move to our own servers, we're locked out."
|
||||||
|
|
||||||
|
Within about a week, I wrote the first distributed social networking protocol called OpenMicroBlogging, and it was dead simple. You could follow someone and anything they posted would get posted into your timeline. I don't think it had replies, it didn't have likes, it didn't have any rich interaction, but it was enough to make someone remote into part of your network, and that felt like it would work well enough.
|
||||||
|
|
||||||
|
There was a lot of excitement at the time in these social systems and in the software that I wrote because Twitter was having a lot of technical problems as it grew. There was real interest from the wider social networking community saying, "Hey, this open source software---anybody can install it, it can be distributed. Why are we trying to do all our work on this one server rather than using this distributed system?"
|
||||||
|
|
||||||
|
I raised venture capital in this company. The original name of the software was Laconica---like *laconic*, meaning "short text"---but we changed it to StatusNet, and that's what it was known as for most of the time period. I raised venture capital, which was first time I had done that. That was very interesting.
|
||||||
|
|
||||||
|
At the same time we were doing this, there was a lot of activity going on in other parts of what was loosely called the "open web stack." OAuth had started, based on work from teams at Flickr and Twitter. Then Google jumped in, and some of the bigger companies jumped in. That little circle of people became the Open Web Foundation, and they developed a few really interesting protocols.
|
||||||
|
|
||||||
|
Brad Fitzpatrick, who had founded LiveJournal and then was at Google at the time, created this protocol called PubSubHubbub---worst name ever. But it built on the push process that I had done with OpenMicroBlogging. He made it scalable, at Google scale, and it really got picked up. There was a point at which all the Google blogs and WordPress blogs and Tumblr had this push mechanism built in.
|
||||||
|
|
||||||
|
There was also the development of a data structure system based on RSS and Atom called ActivityStreams. It basically took the flat blog post structure of RSS, where it's a title and some text and maybe an image embedded, and they were like, "What if we added rich semantic meaning to this content?" So this item in this feed doesn't represent a blog post---it represents a like, or it represents a comment or reply. They built in this structure on top of Atom.
|
||||||
|
|
||||||
|
It also became quite popular. Facebook had an ActivityStreams feed, WordPress had it, and I think Google had it in some of their systems. The Open Web Foundation that was putting out interesting systems. WebFinger came out at this time too---having an email address identifier that you could use for different services.
|
||||||
|
|
||||||
|
StatusNet was doing well. We launched a SaaS service so you could sign up and get your own StatusNet system for like $5 a month---your own social network that would connect to all the other StatusNet social networks and Identi.ca. But we were running into some problems with OpenMicroBlogging barely working.
|
||||||
|
|
||||||
|
StatusNet included me, Brooke Vibber (who had been CTO at Wikipedia and had joined StatusNet to help us build this system), James Walker (who had been one of the core Drupal developers), and Zack Copley (who had been at StatusNet since the beginning). We were lucky to have a lot of really great open-source software developers. We put together a standard called OStatus. It was basically taking PubSubHubbub, ActivityStreams, this other comment system called Salmon, and WebFinger, and putting the glue together to make them work together as a standard.
|
||||||
|
|
||||||
|
When I say *standard* here---this is an interesting time period because there was a lot of "Hey, we made a protocol, we're sharing it with everyone, if you want to implement this, you can" without a lot of the overhead that was happening in bigger standards organizations. It was really refreshing but also turned out to be a problem for adoption because bigger corporations were like, "Hey, we have no idea who has any intellectual property in these projects, who's got patents, have you done a patent search?" It was just a bunch of engineers throwing things together.
|
||||||
|
|
||||||
|
We had two ways that our software was used. One was in enterprises---Target, Motorola, Deutsche Bank, and a number of big companies had installed our software on their internal networks for their employees. We were doing pretty well in this area, but this other company Yammer had done way better. They had a really aggressive customer acquisition strategy and they basically cleaned our clocks. They were acquired by Microsoft, and that was it for my investors. They were like, "All right, you're done. We're not going to invest more in you for this enterprise social networking stuff because clearly you've been beat."
|
||||||
|
|
||||||
|
Then, on the public side, around 2011 and 2012 is really when we saw the consolidation of social networks. I call it the big squeeze. There had been a lot of interesting social networks in the late 2000s---Hi5, Bebo, MySpace, and different regional ones in different countries. Gradually, with a huge amount of venture capital and a lot of work, the few big networks had pushed out these other ones. Twitter, Facebook, LinkedIn---they had done really good work, but they had pretty much taken over these markets.
|
||||||
|
|
||||||
|
One thing that was interesting at this time was that the success of Facebook or Twitter in these early five or six years was partly due to the fact that they were open platforms. Facebook had launched Facebook Platform in 2007, which was their API system. You could actually build software that would run in the browser on the Facebook web page---put a little widget on someone's profile that was active and would do things like show a movie or something. It was a very open platform for developers.
|
||||||
|
|
||||||
|
Similarly, Twitter's API was kind of a mistake---they used Ruby on Rails, which comes with an API built in, and they didn't turn that off. It became a huge success. People loved developing for it. They built alternative UIs, data scrapers, and all kinds of things using the APIs. That's one of the ways you can be successful in business---make a lot of other people successful. If you can make someone who built a Twitter API client dependent on that service, they're going to be advocates for your service. They're not really going to be open to other services---they're on the Twitter train.
|
||||||
|
|
||||||
|
Because of that, we had a hard time talking to people about how there could be other platforms, how you could set up your own platform and still stay connected to others. As we were getting into the early 2010s, it was like, "Why would you have another social network? There is one social network: Facebook. Or there is one microblogging network: Twitter. What's the point of having multiple ones? Why would you connect multiple ones?"
|
||||||
|
|
||||||
|
I think we kind of hit a high point in those early 2010s with Google Buzz. Google had hired a lot of the people I was talking about who were involved in the process building lightweight standards---Brad Fitzpatrick, Chris Messina, John Panzer, Joseph Smart. They had brought together a lot of people who had done interesting work in this area, and they wanted to put out the most open, open-standards, distributed system.
|
||||||
|
|
||||||
|
The way Google Buzz worked was that you could pull all your different social network presences together and then rebroadcast them through open standards. They used the same stack that we did---they were using ActivityStreams and PubSubHubbub and Salmon. We thought it was awesome. Around 2011 or 2012, engineers at the Google I/O conference did demo a three-way interaction between Google Buzz, Cliqset, and StatusNet using OStatus. They had this whole conversation happen live on stage. It was this great moment, like "Wow, this is really taking off!"
|
||||||
|
|
||||||
|
*I don't remember that---it's the dream we're still chasing, right?*
|
||||||
|
|
||||||
|
But Google Buzz had a fatal flaw. The way that they kickstarted your social graph---the number of people that you're connected to---was using your Gmail contact list. Almost immediately there started being stories about people who were like, "Wait a minute, my abusive ex-boyfriend now has access to all my social networking stuff because I had his email address in my contact list." It was just a bad example of "Hey, we're going to use this data that we've collected for you as part of this one system to kickstart this other system."
|
||||||
|
|
||||||
|
They got sued and had a multi-million-dollar settlement. It was really bad---it had nothing to do with how the software worked, it was all about this contact list integration. But at this point at Google, they're associating open standards with catastrophic failure, terrible press, and bad privacy situations.
|
||||||
|
|
||||||
|
For me, it was a bad time because we had run out of money and had no additional investors. We had a small amount of revenue coming in from the SaaS service that we were running, but it couldn't support the big free networks we were running like Identi.ca. So I had to shut down the company. I had to let go all the engineers, and I also had this huge social network, Identi.ca, that was costing like $5,000 a month---it was a very expensive process for me to keep all the servers running.
|
||||||
|
|
||||||
|
So I wrote a new software package called pump.io that was written in Node.js. The previous version had been in PHP. It basically took everything that we had learned from five years of running a social network and applied it to the new structures. So instead of using Atom, which is an XML standard, we used JSON. This was almost entirely me solo, working by myself, because I'd lost all my employees.
|
||||||
|
|
||||||
|
*Because you were paying the server costs, you wanted to enable other people to migrate off it and run their own servers?*
|
||||||
|
|
||||||
|
Partly. But also because it meant I could run my servers much more cheaply.
|
||||||
|
|
||||||
|
*It reduced the load.*
|
||||||
|
|
||||||
|
Exactly. I converted from StatusNet to pump.io and transferred StatusNet---which became GNU social---to some enthusiasts at the Free Software Foundation who were like, "We want to keep running with this." I was like, "Great, take it, go with it." Then I built this pump.io project. It turned out great---Identi.ca is still running and still uses pump.io software. It is nowhere near its peak though. It was about 5 million users; now it's probably like 500 users, maybe. It's a very small number of people.
|
||||||
|
|
||||||
|
I did this pump.io software, released it, and moved Identi.ca to it, and then kind of walked away. I had done what I intended to do, and I was like, "Hey, that dream of a distributed social network is gone. These big social networks like Twitter and Facebook are no longer one among many---they are essential infrastructure, they're part of the way that the Internet works."
|
||||||
|
|
||||||
|
*Just as they were shutting down their open APIs.*
|
||||||
|
|
||||||
|
Absolutely. At this time, Twitter had a big event called the Chirp Developer Conference, which they had been organizing for like six months---"Come to the Chirp conference, exciting stuff!" Then, just before the conference, they had a big blog post---I think it was from Ev Williams---that was like, "Hey, we're shutting down the API for all but a few uses." We were at the conference. Our software actually had a Twitter-compatible API, so we were encouraging developers to take their tools and port them to use StatusNet instead. We had some interest there, but it was mostly these folks who had become dependent on these big networks and who had been part of making them successful---they were kind of out in the cold.
|
||||||
|
|
||||||
|
That was an interesting lesson. Same thing with Facebook Platform, although it was less dramatic. They did it gradually over time, just turning off a few API endpoints at a time. They converted to this format called Open Graph, which was not as featureful as their previous API, and then they turned off the old API.
|
||||||
|
|
||||||
|
At this time, Diaspora started. Diaspora was four young men at NYU, and they decided they were going to do a distributed version of Facebook. They dropped out of school, did a Kickstarter, and raised more than $200,000, which was the second biggest Kickstarter ever at that point. And they moved to California for some reason---that was probably how they spent most of their $200,000.
|
||||||
|
|
||||||
|
They built this great service, but it wasn't compatible with our distributed social networking. Me and my team were like, "Wow, this seems like a real opportunity that went to waste---they just did a brand new protocol and didn't even work with us to have some interoperability." So we started a project called the Federated Social Web Summit, where we tried to gather everyone who was working in social web software. We put out invitations to, I think, like a hundred projects. We got like 50 projects in. Almost none of them had compatible protocols---all of them were writing their own software and writing their own protocols.
|
||||||
|
|
||||||
|
We set up the summit process so it wasn't open to the public, it was only for the developers, and you had to have working code to come and be able to demo it. It was a super success. So first of all, the Diaspora guys were like, "Oh yeah, we should probably support your protocol too," so they supported OStatus, which was awesome---just wonderful folks.
|
||||||
|
|
||||||
|
We did three iterations of that---one in Portland, one in San Francisco, and one in Berlin over three different years. So this is like 2010, 2011, and 2012, and it was a great process. We had a super valuable process. I think we got a lot of cross-pollination.
|
||||||
|
|
||||||
|
One of the things that happened is that some of the projects had been involved in the World Wide Web Consortium, and the W3C got interested in supporting this kind of work. So I joined a group at W3C---they invited me to join to do what they call an interest group, where you're thinking far ahead and exploring a new space. At the time, I had started another company called Breather, so I wasn't working on social software at all. Breather was room rental.
|
||||||
|
|
||||||
|
Let me rewind a second and talk about OpenSocial. About the time that Facebook Platform started, there were all these other social networks---again, Hi5, Bebo, Orkut. It sounds like glossolalia when I say them out loud! If you look at the Wikipedia list of social networking platforms, there are so many, and they all have silly names.
|
||||||
|
|
||||||
|
But all these other ones were like, "Hey, we have to build our own platform." The solution that they came up with was, "We can't compete with Facebook by all having our own different ways for building applications." So they built a single way for building widgets on a homepage called OpenSocial, and it covered one part of the problem. They didn't have any federation involved. The idea was if I build a zombie bite app and put it in Orkut, it should also work in Hi5.
|
||||||
|
|
||||||
|
*So it enabled developers to simultaneously develop for all these smaller networks.*
|
||||||
|
|
||||||
|
Yes---you could just build something once and then register it on all these different services.
|
||||||
|
|
||||||
|
OpenSocial was announced with great fanfare. Google led it. They had a bunch of developers doing it. Then by early 2010s, all these companies had gone out of business. What had actually happened was that enterprise social networks---at big companies like IBM and Boeing---had invested in building applications on top of this framework for their employees. When the OpenSocial organization peaked and then dropped off---I was on the board at the time---we thought, "How about we hand off all our IP, like all our standards, all our domains, off to W3C?" The W3C took it. I think partly because they had a lot of the same corporate members---IBM and Boeing were OpenSocial members, and they were W3C members, and the W3C members wanted to keep control.
|
||||||
|
|
||||||
|
Then W3C had to decide what to do with it. They asked this very active W3C employee named Harry Halpin. He was like, "I've got an idea. Let's pull together these OpenSocial folks, all these Federated Social Web folks, and Tim Berners-Lee." Tim Berners-Lee, founder of W3C, the father of the Web, was starting to get interested in social networking too, and he wanted to use his favorite technology, the Resource Description Framework or RDF, to solve social networking.
|
||||||
|
|
||||||
|
So Harry was like, "Let's bring these three groups together and make a working group at W3C," which is how you make standards. They asked Tantek Çelik---who has been doing browser standards at Microsoft, then at Mozilla, for the last twenty years---to be a co-chair. Then there was Art Barstow, who was working at IBM and had done a lot of RDF stuff. And me. So they asked the three of us to co-chair this group.
|
||||||
|
|
||||||
|
It was really interesting. The way that a group gets created at W3C is that they have to put together a charter---what is this group going to do, what's its outputs---and then they put it up for approval by the membership. And it got shot down. First of all, there were a number of big commercial social networks that were members of this group of W3C because they cared about HTML and stuff, and they were like, "No, we don't want you commodifying our business." Google at the time had been really burnt by Google Buzz, and they were like, "No way, no how---open standards toxic, do not want."
|
||||||
|
|
||||||
|
So we had to adjust this charter until these folks would sign on. I think when it came down to it, none of them said yes---they all just abstained from the vote. I think their expectation was that we were just going to face-plant, which was probably a good bet at the time.
|
||||||
|
|
||||||
|
So we started with literally zero. I was an open-source guy who had been doing open standards at this point for like six-seven years---I was probably the most experienced social network developer in that group. There was no one from Twitter, no one from Facebook, no one from Google. We had James Snell, who had worked at IBM and had done a lot of the ActivityStreams work there, but almost nobody involved were professional social networking folks.
|
||||||
|
|
||||||
|
We had a couple of people who had done open standards stuff from the Federated Social Web Summit group, and we had Tantek, who is the kind of standards guy who wants to get lots more people involved in standards. He was like, "Anybody who comes and says they're interested in being in this group, we just let them in." W3C has this whole thing where you have to be a member of a member organization or get invited by the chairs. And Tantek was like, "Let's just invite everybody." So we invited all these folks, and we had this super mixed bag of people.
|
||||||
|
|
||||||
|
We had probably three main tracks of folks involved. The first was from the track that I had been part of using ActivityStreams, using PubSubHubbub, using this OStatus stack, and then also OpenSocial, which also used a lot of the same technologies. They used ActivityStreams, they had a RESTful interface---it was at least very compatible.
|
||||||
|
|
||||||
|
We had Tantek who had been doing IndieWeb work for like a decade, which was about grassroots, amateur software developers---no standards, just a very open process. That group was like, "What is the minimal amount that we can do to support social standards?"
|
||||||
|
|
||||||
|
And then we had a third group that was led by Tim Berners-Lee, who gets a lot of weight at the W3C, as you can imagine. By this time he was *Sir* Tim Berners-Lee, and he was also participating with this whole semantic web group around him. They were like, "The only thing you need is RDF, and it'll all work, and it works perfectly. And why are we even here? We already have RDF."
|
||||||
|
|
||||||
|
I doubt any of them had ever used a social networking platform in their entire life. We were explaining things like a feed of activity, or liking something, having any kind of feedback to someone like commenting or liking or sharing, and they just couldn't handle it. They just had a very RDF-centric view of the world.
|
||||||
|
|
||||||
|
None of these folks knew what they wanted to do, so we put together this huge set of user stories---I think like 200 user stories, all these different things that you could do with social networks. Then we narrowed it down to something like 20 or 25---these are the ones that we're going to work on. And that was a fight.
|
||||||
|
|
||||||
|
Then we were opening up for potential standards, and we had these three groups who put together three different sets of standards. The IndieWeb folks put together a very light set of standards---Micropub, WebMention, a couple of other things---and they were like, "This is all we need. This is the lightest way you could possibly do social networking." And it was fine, it just wasn't as full-featured as some of the other stuff.
|
||||||
|
|
||||||
|
The people around Tim Berners-Lee put together this thing where you could publish a profile and declare like five friends or something, and they were like, "There you go, social networking." And we were like, "It doesn't do anything---what are you talking about?" And they got really upset, and they left. All of a sudden there were stories in all the major newspapers like "Tim Berners-Lee is going to solve social networking!" He started the Solid project at that time, took it out of the standards process, and got venture capital and went and built---what it's called---Inrupt. So he was off on his own.
|
||||||
|
|
||||||
|
That left the group around OStatus, and one of the people who had been a developer for pump.io, and had built some of the clients and software that worked with pump.io, was like, "Hey, I think pump.io has a great API, great federation, super nice architecture." This is Erin Shepherd. She wrote up a submission. Basically, she took the pump.io API, added some things, took out the word "pump.io," and changed how it worked just a small bit. Then she submitted it.
|
||||||
|
|
||||||
|
So we had these submissions---the RDF people had gone, so we had these two sets of submissions. One was from the IndieWeb group and then the one Erin did, which became called ActivityPump. That was the name because it took pump.io plus activities. The idea is you were pumping it out. It wasn't a great name.
|
||||||
|
|
||||||
|
*But it was also a kind of tribute to what had come before.*
|
||||||
|
|
||||||
|
We couldn't agree on any one of the models. Finally, Tantek and I sat down, and Tantek was like, "Hey, look, we can just publish all of these. Let's just go ahead and do it. That way we don't have to argue about which one's right and which one's wrong. Let's just get them out, and they'll be official W3C standards, and they're out there."
|
||||||
|
|
||||||
|
James Snell had taken the earlier versions of ActivityStreams and made a new one that was JSON-based---ActivityStreams 2.0. He had built most of it already, so we were in an editorial stage by then. It's the data structures defining what is a note, what is an article, what is an image. What does it mean to like something, to follow someone? He set up that architecture of the data structures. ActivityPump was the protocol for getting those data structures moved around.
|
||||||
|
|
||||||
|
But Erin, who submitted this proposal, was not interested in taking it any further. We had two people who had joined the group from an open-source project called MediaGoblin. It was kind of a distributed social network with a focus on images and video and things like that. They wanted to support OStatus, and I had been like, "Hey, you should come be part of this W3C thing. We're doing the next protocol after OStatus, so come help build that."
|
||||||
|
|
||||||
|
That was Christine Lemmer-Webber and Jessica Tallon, and they stepped up to edit the ActivityPump document, which was amazing. But it was their first time ever in standards world. At this point our star Tim Berners-Lee had left. We had a year and a half to two years to finish this project, and we had these two groups---the IndieWeb group and this ActivityPump group---that were not really working on the same stuff at all, with some hostility.
|
||||||
|
|
||||||
|
I know that for Christine and Jessica it was really tough. When you're doing standards, you get all these comments from folks who had nothing to do with social networking, and they had to manage it and edit this project. James Snell left about this time, so I took over ActivityStreams to get it over the finish line.
|
||||||
|
|
||||||
|
In 2016, this new project called Mastodon started. I don't know who it was---I definitely tried to point it out to them, but it may have been Christine who was like, "Look, don't use that old standard. It's got a lot of problems with it. You should use the new standard that we're almost done with."
|
||||||
|
|
||||||
|
And they did. So Eugen Rochko and a couple of other friends and collaborators built Mastodon on top of ActivityPub. We hit the end of our time period, and we had published a lot of documents, but we hadn't finished what was still called ActivityPump at the time. The W3C gave us an extension on our time to finish because Mastodon was doing so well.
|
||||||
|
|
||||||
|
I think we finished the actual spec in January 2019. We were done, and we had this popular open-source project using it. A bunch of other open-source projects started using the protocol---PeerTube for video, then Funkwhale for audio. It had a nice, lively little community happening with hundreds of thousands of people on the network. One of the last things we did with the standard was change the name from Activity Pump to ActivityPub. ActivityPump was a terrible name.
|
||||||
|
|
||||||
|
*I think both names have their virtues.*
|
||||||
|
|
||||||
|
Well, the social media space had almost a tradition of ridiculous names for a while.
|
||||||
|
|
||||||
|
Once ActivityPub was done, I set it as my goal to make Identi.ca compatible with this new standard. I had handed pump.io off to a maintainer named AJ, and they were working on it. I kind of drifted off. I worked at Wikipedia for two years and then worked for a couple of startups, and I really was not working on distributed social networking, which was such a relief, to be honest.
|
||||||
|
|
||||||
|
*Everything you've just described sounds so exhausting.*
|
||||||
|
|
||||||
|
Social networks are really hard when they're not popular, and they're hard for other reasons when they become popular. The scaling problems with social networks go up exponentially. Your resource demands grow as your number of users grow because they have more conversations, more connections. Your needs as the systems grow are way bigger, which is why so many social networks collapse.
|
||||||
|
|
||||||
|
It's a lot of time, a lot of effort. After 2013, this was no longer my full-time job. I was working at different places, I had two different startups, and I was doing this work as my second work. That's still the case to this day---I don't work professionally on ActivityPub.
|
||||||
|
|
||||||
|
Christine and, to some extent, Jessica continued at the W3C. We had this group called the Social Web Community Group, or Social CG, and it kind of picked up where the working group left off and worked on extensions and documentation and things like that, helping developers work together. But one of the things that happens when you publish a standard that takes years to get create is it becomes very fossilized, very ossified. You can add on to it, but you can't really go back and say, "Oh, it would have been better if we had done this." We had a working network of thousands of servers. If you change how it works fundamentally, half of those servers or three-quarters of those servers are going to be cut off. So you have to just do backwards-compatible changes, iterative changes rather than really big changes.
|
||||||
|
|
||||||
|
*Do you have any regrets about what is in that ossified standard?*
|
||||||
|
|
||||||
|
I don't have huge regrets. If I have any, it's that I did not help get us to a working reference implementation before I stepped back. There are some parts of the stack that were never built out. Mastodon had to define how servers authenticate each other. There was a lot of work that went into filling in the gaps in this structure that could have been done with a reference implementation instead.
|
||||||
|
|
||||||
|
Christine was co-leading the Community Group, but she had a lot of other things on her plate. And there was some really toxic behaviour in the Group. She stepped away from the W3C entirely, so by 2022, there's not really anybody with their hand on the tiller, and that's exactly the time when Elon Musk buys Twitter and people start thinking about going to other social networks. There was this flood of people onto Mastodon, and I was like, "Oh, this is great! Hey, wait a minute---what's going on? Nobody's running the store over here."
|
||||||
|
|
||||||
|
So in late 2022, early 2023, I was like, "Okay, my name is on these documents. I've access to all these GitHub repos. There are GitHub issue repositories that have like 200 un-triaged issues." And I was like, "Somebody's got to get in here. I think I'm the last person standing." So I started maintaining the spec again.
|
||||||
|
|
||||||
|
That happened about the same time that we started having meetings again. So it has really reinvigorated this organization. Now some of that stuff that was undocumented---like how you use WebFinger with ActivityPub, or how you use HTTP signatures, which is the authentication between servers---that's documented now in official documents. We're working on new kinds of social activities like geosocial---doing check-ins, saying where you are, putting things on maps---and doing groups, like having a distributed group that you can post to privately. We've done work on end-to-end encryption.
|
||||||
|
|
||||||
|
Over the last year, I wrote a book for O'Reilly, *ActivityPub: Programming for the Social Web.* I also started a nonprofit called the Social Web Foundation for encouraging use of ActivityPub. We lucked out that there has been commercial uptake with ActivityPub---Threads from Meta, as well as Flipboard, WordPress, and Ghost. The intent is to keep that rolling.
|
||||||
|
|
||||||
|
I started a cooperative Mastodon service at cosocial.ca. It's become a bigger part of my life over the last couple years than it had been for the years before.
|
||||||
|
|
||||||
|
I'm kind of a universalist---I think everyone should have access to this kind of technology and be able to make choices, stay connected to people even if they're on other social platforms. I think that one way that happens is by connecting more platforms to the network. I would love to see Snap and LinkedIn and TikTok all be connected over this space.
|
||||||
|
|
||||||
|
However, there's also this cultural underground that has built up. It's people with a mix of privacy concerns, maybe some anarcho-libertarian structures, folks who are very on that side of the political spectrum. And I don't know if it's entirely because of Christine and Jessica, who's also trans, or Erin, who's also trans---so like three of the five authors of this spec are trans women. That kernel of techie trans people became a really big, important part of the network as it exists now. They're like, "Why are you trying to bring people from outside to our Fediverse, which should be just for us?"
|
||||||
|
|
||||||
|
Being able to keep the flavor of that culture alive while still making the technology available to more people worldwide is tough, and I don't think---I have some people who get really angry at me about it. It's hard to figure out how to make sure that you can have this place that is safe and exciting and enjoyable, but at the same time make this technology available to everyone.
|
||||||
|
|
||||||
|
I don't know if I have an answer to that, or if I'm even the person who needs to have that answer. I'd like to at least make it technically possible---I'm not sure if I can be the person who preserves that culture. That might be something that others have to do.
|
@ -5,20 +5,17 @@ facilitator: Nathan Schneider
|
|||||||
date: 2024-11-04
|
date: 2024-11-04
|
||||||
approved: 2024-12-02
|
approved: 2024-12-02
|
||||||
summary: "As a sport often played with no referees, ultimate frisbee has developed a strong set of norms for addressing conflict and self-governing."
|
summary: "As a sport often played with no referees, ultimate frisbee has developed a strong set of norms for addressing conflict and self-governing."
|
||||||
|
location: "East Greenbush, NY USA"
|
||||||
tags: [frisbee, sports, organizations, dispute resolution]
|
tags: [frisbee, sports, organizations, dispute resolution]
|
||||||
---
|
---
|
||||||
|
|
||||||
{{< i >}}
|
*How do you like to introduce yourself to people as you encounter them in the world?*
|
||||||
How do you like to introduce yourself to people as you encounter them in the world?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I tend to introduce myself differently depending on who I'm meeting. I've lived many lives, and if we're talking about ultimate frisbee today---while it's not my primary activity now since I'm retired---I would probably talk about the teams I played for and the school I played at.
|
I tend to introduce myself differently depending on who I'm meeting. I've lived many lives, and if we're talking about ultimate frisbee today---while it's not my primary activity now since I'm retired---I would probably talk about the teams I played for and the school I played at.
|
||||||
|
|
||||||
For the purpose of our conversation today, I'm Michael Zargham, a researcher and engineer, and a retired competitive ultimate frisbee player. I'm going to focus on my experiences in the ultimate frisbee communities, ranging from work on a nonprofit that operated leagues and youth outreach programs to helping found and run teams and organize tournaments. These experiences span the various practices and processes that made up the ultimate frisbee community broadly, ranging from experiences in the US to playing pickup in various countries.
|
For the purpose of our conversation today, I'm Michael Zargham, a researcher and engineer, and a retired competitive ultimate frisbee player. I'm going to focus on my experiences in the ultimate frisbee communities, ranging from work on a nonprofit that operated leagues and youth outreach programs to helping found and run teams and organize tournaments. These experiences span the various practices and processes that made up the ultimate frisbee community broadly, ranging from experiences in the US to playing pickup in various countries.
|
||||||
|
|
||||||
{{< i >}}
|
*How would you outline the trajectory of your life and career in ultimate frisbee?*
|
||||||
How would you outline the trajectory of your life and career in ultimate frisbee?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
When I was in high school, I played lacrosse. Lacrosse players were jerks, or at least they were jerks to me, and while I still wanted to play sports, I didn't have an overwhelmingly good experience with the social dimension of lacrosse as a sport. When I got to Dartmouth, they were out on the green throwing during orientation week, and there was a bunch of frisbee players who had led freshman trips. They were recruiting like crazy, saying "Oh, we have this great sport!" All these new people were showing up, and they were actively being friendly---like, "Oh, you want to learn how to throw a flick? Here, let me show you." All of this time and attention was spent on new folks, just showing them the ropes. They were playing pickup out on the green and hanging out with people, making it feel really welcoming. I thought, "Wow, these people are nice and they play sports. Maybe I should try this sport."
|
When I was in high school, I played lacrosse. Lacrosse players were jerks, or at least they were jerks to me, and while I still wanted to play sports, I didn't have an overwhelmingly good experience with the social dimension of lacrosse as a sport. When I got to Dartmouth, they were out on the green throwing during orientation week, and there was a bunch of frisbee players who had led freshman trips. They were recruiting like crazy, saying "Oh, we have this great sport!" All these new people were showing up, and they were actively being friendly---like, "Oh, you want to learn how to throw a flick? Here, let me show you." All of this time and attention was spent on new folks, just showing them the ropes. They were playing pickup out on the green and hanging out with people, making it feel really welcoming. I thought, "Wow, these people are nice and they play sports. Maybe I should try this sport."
|
||||||
|
|
||||||
@ -34,9 +31,7 @@ What I did pick up from the competitive players who were teaching me to throw wa
|
|||||||
|
|
||||||
The precondition for all of this was a lot of welcomingness, including people investing time, effort and attention into developing my skills, when they might have just as easily dismissed me because of my size. That was the entry point. The very idea that I could be a competitive ultimate frisbee player and play for clubs with cuts and travel schedules, both at the college level and at the adult non-college level, was probably not something anybody was thinking when I showed up on the green as this former lacrosse player who just wanted some friends.
|
The precondition for all of this was a lot of welcomingness, including people investing time, effort and attention into developing my skills, when they might have just as easily dismissed me because of my size. That was the entry point. The very idea that I could be a competitive ultimate frisbee player and play for clubs with cuts and travel schedules, both at the college level and at the adult non-college level, was probably not something anybody was thinking when I showed up on the green as this former lacrosse player who just wanted some friends.
|
||||||
|
|
||||||
{{< i >}}
|
*Before we get into the organizational side and your role in that side of the sport, I wonder if you could say a bit about the niceness you encountered and its relationship to the way that this sport operates. I played for a year or two in high school, and the thing that really stuck out to me was that there were no referees. It was a sport that, as I understand it even at the highest levels, is built on cultivating a set of practices and cultures around not requiring third-party intervention to resolve disputes. Did that have something to do with the culture you encountered?*
|
||||||
Before we get into the organizational side and your role in that side of the sport, I wonder if you could say a bit about the niceness you encountered and its relationship to the way that this sport operates. I played for a year or two in high school, and the thing that really stuck out to me was that there were no referees. It was a sport that, as I understand it even at the highest levels, is built on cultivating a set of practices and cultures around not requiring third-party intervention to resolve disputes. Did that have something to do with the culture you encountered?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I think so. As a quick caveat, there are a couple dimensions we might want to come back to when we talk about some of my other experiences. But at base level, it's totally self-officiated with some specific competition regimes having augmentations. At the social level of pickup, or college competitive and club competitive (with some exceptions we'll discuss later, regarding observers), you can basically call a foul or infraction whenever you want. This means that when you're first learning, especially really competitive people tend to overdo it. They can get antsy and start making lots of calls.
|
I think so. As a quick caveat, there are a couple dimensions we might want to come back to when we talk about some of my other experiences. But at base level, it's totally self-officiated with some specific competition regimes having augmentations. At the social level of pickup, or college competitive and club competitive (with some exceptions we'll discuss later, regarding observers), you can basically call a foul or infraction whenever you want. This means that when you're first learning, especially really competitive people tend to overdo it. They can get antsy and start making lots of calls.
|
||||||
|
|
||||||
@ -50,15 +45,11 @@ There's a strong cultural component, but I want to be careful to note that it va
|
|||||||
|
|
||||||
At the college level, you're talking about hard-charging overachieving competitive people---people who got into an Ivy League University and then wanted to compete in this club sport too. When I arrived, the team had been at Nationals the year before. So it wasn't just about being nice---understanding and applying these principles of self-officiation were tantamount to success. If you couldn't do it, you couldn't play the sport.
|
At the college level, you're talking about hard-charging overachieving competitive people---people who got into an Ivy League University and then wanted to compete in this club sport too. When I arrived, the team had been at Nationals the year before. So it wasn't just about being nice---understanding and applying these principles of self-officiation were tantamount to success. If you couldn't do it, you couldn't play the sport.
|
||||||
|
|
||||||
{{< i >}}
|
*How did that kind of practice and culture and norms translate into the organizational structure? Were there respects in which the practices on the field were reflected in how the organizations you worked with were set up?*
|
||||||
How did that kind of practice and culture and norms translate into the organizational structure? Were there respects in which the practices on the field were reflected in how the organizations you worked with were set up?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
The college team was a club---it did not have a coach, though we'd had volunteer coaches in the past.
|
The college team was a club---it did not have a coach, though we'd had volunteer coaches in the past.
|
||||||
|
|
||||||
{{< i >}}
|
*And was that by choice? Was that a sense like "we don't have referees, and we don't have coaches"?*
|
||||||
And was that by choice? Was that a sense like "we don't have referees, and we don't have coaches"?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
It was a little different. I'll talk more about coaches later since I coached for a couple of years. But at the time, it was more that there wasn't an authority figure. Even in years where the college team had a graduated player staying on to help coach, they were effectively in a support role, not an authority. You delegated certain kinds of strategic decision-making and education functions to them, and they were welcome insofar as they fulfilled those functions. It wasn't a paid role---club sports have relatively low budgets so they wouldn't really have been able to spring for a paid coach anyway.
|
It was a little different. I'll talk more about coaches later since I coached for a couple of years. But at the time, it was more that there wasn't an authority figure. Even in years where the college team had a graduated player staying on to help coach, they were effectively in a support role, not an authority. You delegated certain kinds of strategic decision-making and education functions to them, and they were welcome insofar as they fulfilled those functions. It wasn't a paid role---club sports have relatively low budgets so they wouldn't really have been able to spring for a paid coach anyway.
|
||||||
|
|
||||||
@ -68,9 +59,7 @@ A lot of it was entrenched---we had everything from cheers to organizational pat
|
|||||||
|
|
||||||
Captains generally called lines and picked teams. There were important annual rituals like tryouts and off-season training regimes, and certain tournaments were the main deciding points for who was going to try out and make the roster. There were boundaries---it wasn't just showing up to play. There was a fixed number of roster slots, someone had to decide who would get those slots, there were interviews, there were debriefs. There was quite a lot of institutional infrastructure, but it was administered by the students for the students, everything from selecting teams to coordinating travel logistics to organizing tournaments.
|
Captains generally called lines and picked teams. There were important annual rituals like tryouts and off-season training regimes, and certain tournaments were the main deciding points for who was going to try out and make the roster. There were boundaries---it wasn't just showing up to play. There was a fixed number of roster slots, someone had to decide who would get those slots, there were interviews, there were debriefs. There was quite a lot of institutional infrastructure, but it was administered by the students for the students, everything from selecting teams to coordinating travel logistics to organizing tournaments.
|
||||||
|
|
||||||
{{< i >}}
|
*How did you get into league-level organization?*
|
||||||
How did you get into league-level organization?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I moved to Philadelphia. The story goes: I finished at Dartmouth in 2008. I got two degrees, so I was there for five years, which allowed me to play out my full competitive college allotment. The college infrastructure is run by the USAU, and you're allowed five years of competitive play. I used all of my college-level eligibility at Dartmouth.
|
I moved to Philadelphia. The story goes: I finished at Dartmouth in 2008. I got two degrees, so I was there for five years, which allowed me to play out my full competitive college allotment. The college infrastructure is run by the USAU, and you're allowed five years of competitive play. I used all of my college-level eligibility at Dartmouth.
|
||||||
|
|
||||||
@ -96,9 +85,7 @@ I don't remember exactly how I got sucked in deeper. I know how I got on the boa
|
|||||||
|
|
||||||
That led me all the way to being on the board and actually being president of the board---just following up the "keep asking me to do stuff" path. The board is elected, not appointed. I didn't actually want to run for the board---a bunch of people put me up to it, and I said, "Oh fine, there's no way they're going to elect me." And they did. So long story short, I fell up through levels of engagement in that community just by showing up and being willing, then delivering on the stuff I agreed to do.
|
That led me all the way to being on the board and actually being president of the board---just following up the "keep asking me to do stuff" path. The board is elected, not appointed. I didn't actually want to run for the board---a bunch of people put me up to it, and I said, "Oh fine, there's no way they're going to elect me." And they did. So long story short, I fell up through levels of engagement in that community just by showing up and being willing, then delivering on the stuff I agreed to do.
|
||||||
|
|
||||||
{{< i >}}
|
*How does leading this organization work? How does it compare to other organizations you've been in? You've also founded a company and served on other boards. What were some of the peculiarities of governance in the context of ultimate frisbee?*
|
||||||
How does leading this organization work? How does it compare to other organizations you've been in? You've also founded a company and served on other boards. What were some of the peculiarities of governance in the context of ultimate frisbee?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
At the time I thought it was an utter mess. It was my first experience in formal accountability. I was president of the PADA board in my first term, also not something I wanted. I think I was put there partly to help deal with a situation which I won't go too far into, but it involved people overstating their expertise and authority. This is an environment where you've got artists and teachers and engineers and lawyers and doctors all mixed together, and board composition can be pretty different at any given time. There was a lawyer in a relatively senior position that many people felt no one could argue with effectively. I'm pretty sure I ended up on the board to argue with this guy---that was apparently why the community elected me, for my ability to argue.
|
At the time I thought it was an utter mess. It was my first experience in formal accountability. I was president of the PADA board in my first term, also not something I wanted. I think I was put there partly to help deal with a situation which I won't go too far into, but it involved people overstating their expertise and authority. This is an environment where you've got artists and teachers and engineers and lawyers and doctors all mixed together, and board composition can be pretty different at any given time. There was a lawyer in a relatively senior position that many people felt no one could argue with effectively. I'm pretty sure I ended up on the board to argue with this guy---that was apparently why the community elected me, for my ability to argue.
|
||||||
|
|
||||||
@ -112,9 +99,7 @@ That was a strange, bespoke artifact---suddenly being told, "Oh, you're on this
|
|||||||
|
|
||||||
But in terms of the social stuff, it was almost entirely mediating dispute resolution and presiding over board meetings. The org had a lot of inertia, and challenges arose more when things wanted to change than from maintaining existing operations.
|
But in terms of the social stuff, it was almost entirely mediating dispute resolution and presiding over board meetings. The org had a lot of inertia, and challenges arose more when things wanted to change than from maintaining existing operations.
|
||||||
|
|
||||||
{{< i >}}
|
*At the time you were studying engineering and developing a career as an engineer. How did these two modes of thinking intersect? How did engineering overlap in your mind, and maybe in others' minds, with the nature of the sport and the organizations around it?*
|
||||||
At the time you were studying engineering and developing a career as an engineer. How did these two modes of thinking intersect? How did engineering overlap in your mind, and maybe in others' minds, with the nature of the sport and the organizations around it?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
Starting around 2005 or 2006, I was working on flocking coordination, multi-agent consensus problems---basically multi-agent coordination problems in robotics. So literally, the subset of robotics which was entirely about algorithms and rules and protocols for coordinating distributed activities with distinct agents.
|
Starting around 2005 or 2006, I was working on flocking coordination, multi-agent consensus problems---basically multi-agent coordination problems in robotics. So literally, the subset of robotics which was entirely about algorithms and rules and protocols for coordinating distributed activities with distinct agents.
|
||||||
|
|
||||||
@ -122,9 +107,7 @@ It wasn't a big leap for me. In fact, I almost didn't think about it much becaus
|
|||||||
|
|
||||||
As that was the subject of my engineering work, being involved in founding teams, playing on teams, line calling, team roster selection, as well as figuring out how to get resources set up for leagues---all these roles fit together into a structure that got things done. From my perspective, these were extremely complementary in hindsight, though at the time I didn't think about it at all. I just did both things, and I could do both things. The fact that one was the social dimension and one was the technical dimension---I definitely benefited from that by seeing through both lenses.
|
As that was the subject of my engineering work, being involved in founding teams, playing on teams, line calling, team roster selection, as well as figuring out how to get resources set up for leagues---all these roles fit together into a structure that got things done. From my perspective, these were extremely complementary in hindsight, though at the time I didn't think about it at all. I just did both things, and I could do both things. The fact that one was the social dimension and one was the technical dimension---I definitely benefited from that by seeing through both lenses.
|
||||||
|
|
||||||
{{< i >}}
|
*How long were you actively involved in the sport?*
|
||||||
How long were you actively involved in the sport?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
About 15 years, all told. I started playing ultimate in 2003. I started in Philly in 2009, so 15 years ago, and I think I was on the board from 2012 to 2014. I graduated from my PhD in 2014, so I must have been on the board 2012 through 2014. That sounds right.
|
About 15 years, all told. I started playing ultimate in 2003. I started in Philly in 2009, so 15 years ago, and I think I was on the board from 2012 to 2014. I graduated from my PhD in 2014, so I must have been on the board 2012 through 2014. That sounds right.
|
||||||
|
|
||||||
@ -140,9 +123,7 @@ That was my last competitive season---2014---and I only made it through to June
|
|||||||
|
|
||||||
That's an important cultural aspect---while the game is obviously being played on the field, coaches are uncommon. They're more common now---in fact, most competitive teams do have coaches, but they're not paid staff for the most part. They're members of the team that come into their roles by invitation. I have a friend up here in Albany who's currently coaching a women's team in New York City, and he had to go through a very rigorous tryout process. He's an extremely talented player who played in the championship game five times---great guy---but he has also been teaching and training. I can't help but emphasize that even though coaches are really common in competitive ultimate now, it's like a roster spot---the team has to pick you. If anything, the captains have more authority than the coaches.
|
That's an important cultural aspect---while the game is obviously being played on the field, coaches are uncommon. They're more common now---in fact, most competitive teams do have coaches, but they're not paid staff for the most part. They're members of the team that come into their roles by invitation. I have a friend up here in Albany who's currently coaching a women's team in New York City, and he had to go through a very rigorous tryout process. He's an extremely talented player who played in the championship game five times---great guy---but he has also been teaching and training. I can't help but emphasize that even though coaches are really common in competitive ultimate now, it's like a roster spot---the team has to pick you. If anything, the captains have more authority than the coaches.
|
||||||
|
|
||||||
{{< i >}}
|
*Are there contexts when you saw the sport confronting what we might think of as capture? That is, attempts to take over the sport, to co-opt some of its norms?*
|
||||||
Are there contexts when you saw the sport confronting what we might think of as capture? That is, attempts to take over the sport, to co-opt some of its norms?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
There was a largely failed corporate takeover, this is good. Philly was actually one of the main sites of the founding of the MLU---Major League Ultimate---which the Philadelphia Spinners won. But let me backtrack first. There was the AUDL---American Ultimate Disc League---which still exists. The AUDL was run very unprofessionally, at least in the first year it was a mess. A bunch of the Philly players played for the Spinners in the inaugural season of the AUDL.
|
There was a largely failed corporate takeover, this is good. Philly was actually one of the main sites of the founding of the MLU---Major League Ultimate---which the Philadelphia Spinners won. But let me backtrack first. There was the AUDL---American Ultimate Disc League---which still exists. The AUDL was run very unprofessionally, at least in the first year it was a mess. A bunch of the Philly players played for the Spinners in the inaugural season of the AUDL.
|
||||||
|
|
||||||
@ -156,9 +137,7 @@ The semi-pro leagues rolled in competing with the clubs for talent, but the club
|
|||||||
|
|
||||||
It's a little bit painful to reminisce about it with the whole knee injury thing. But there was this attempt, this belief that capitalization of the sport could work because it has huge reach, so many players, so much enthusiasm and love. These leagues spawned up, but my impression was that they just couldn't win the hearts and minds of the people who are the backbone of the ultimate frisbee community.
|
It's a little bit painful to reminisce about it with the whole knee injury thing. But there was this attempt, this belief that capitalization of the sport could work because it has huge reach, so many players, so much enthusiasm and love. These leagues spawned up, but my impression was that they just couldn't win the hearts and minds of the people who are the backbone of the ultimate frisbee community.
|
||||||
|
|
||||||
{{< i >}}
|
*It's fascinating that the semi-pro is regarded as under the club. What do you think contributed to that resiliency against an attempted takeover?*
|
||||||
It's fascinating that the semi-pro is regarded as under the club. What do you think contributed to that resiliency against an attempted takeover?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
I think it could have gone either way. On one hand, I think the capitalist mentality just couldn't see what everyone loved about it. They inadvertently squashed things and didn't focus on things that were part of the real value. If they had been even a little more aware---not that you would expect them to have been---but if they had been a little more aware of the intangible forms of value that were created and stewarded within these communities, they could have made more space for them and possibly had more success.
|
I think it could have gone either way. On one hand, I think the capitalist mentality just couldn't see what everyone loved about it. They inadvertently squashed things and didn't focus on things that were part of the real value. If they had been even a little more aware---not that you would expect them to have been---but if they had been a little more aware of the intangible forms of value that were created and stewarded within these communities, they could have made more space for them and possibly had more success.
|
||||||
|
|
||||||
@ -176,9 +155,7 @@ Actually, my COO at BlockScience---he joined later, he's not technically a co-fo
|
|||||||
|
|
||||||
Just as a point of reference, much of BlockScience's coordination infrastructure---our ops---is people who were part of that same scene. That means a lot of the norms we've been talking about got transferred across contexts. When ops are breaking down or inefficient, the running inside joke is basically like, "Man, we're worse than frisbee teams at logistics or operations." And that's because AMP's logistics and operations were so tight, entirely on a volunteer basis, that there's so much commonality in the community that you can just say, "We're worse than a frisbee team!"
|
Just as a point of reference, much of BlockScience's coordination infrastructure---our ops---is people who were part of that same scene. That means a lot of the norms we've been talking about got transferred across contexts. When ops are breaking down or inefficient, the running inside joke is basically like, "Man, we're worse than frisbee teams at logistics or operations." And that's because AMP's logistics and operations were so tight, entirely on a volunteer basis, that there's so much commonality in the community that you can just say, "We're worse than a frisbee team!"
|
||||||
|
|
||||||
{{< i >}}
|
*When you were involved at the organizational level, did you run into challenges around your relationship with those norms and that culture? Did you have experiences where you ran the risk of doing harm to the sport's culture in trying to bureaucratize or systematize?*
|
||||||
When you were involved at the organizational level, did you run into challenges around your relationship with those norms and that culture? Did you have experiences where you ran the risk of doing harm to the sport's culture in trying to bureaucratize or systematize?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
That's a good question. I'm going to say I did not have that problem. I think some people did. This goes back to my answer before---the fact that as an engineer I'm focused on multi-agent systems meant that I had a much higher expectation of distributed locus of decision-making and heterogeneity than most people who would come in and systematize things. So I actually didn't systematize much frisbee stuff. When I did, it was out of necessity and in a minimalist frame.
|
That's a good question. I'm going to say I did not have that problem. I think some people did. This goes back to my answer before---the fact that as an engineer I'm focused on multi-agent systems meant that I had a much higher expectation of distributed locus of decision-making and heterogeneity than most people who would come in and systematize things. So I actually didn't systematize much frisbee stuff. When I did, it was out of necessity and in a minimalist frame.
|
||||||
|
|
||||||
@ -198,9 +175,7 @@ Otherwise, the way self-officiation could escalate is you could do the normal wo
|
|||||||
|
|
||||||
There are observer training programs which are also self-organized. You built in this extra backstop, and I view it as more in common with what I was saying before---you've got the rules, you've got the norms, and then inevitably you have the natural evolution of problems that need to be de-escalated or mediated. The observer is in some ways like a mediator on standby, which is helpful as you get to these increasingly competitive levels where people have been training for nine months and they're at the semifinals of nationals. Just knowing the observers are there helps, but I think they did a good job not usurping the authority of self-officiation. This ties back to the pros where they were like, "No, we're going to do refs," and it changed everything. The observers were essentially the equivalent of seeing the problem and solving it with an ultimate native solution, instead of seeing the problem and trying to paste on something from another culture.
|
There are observer training programs which are also self-organized. You built in this extra backstop, and I view it as more in common with what I was saying before---you've got the rules, you've got the norms, and then inevitably you have the natural evolution of problems that need to be de-escalated or mediated. The observer is in some ways like a mediator on standby, which is helpful as you get to these increasingly competitive levels where people have been training for nine months and they're at the semifinals of nationals. Just knowing the observers are there helps, but I think they did a good job not usurping the authority of self-officiation. This ties back to the pros where they were like, "No, we're going to do refs," and it changed everything. The observers were essentially the equivalent of seeing the problem and solving it with an ultimate native solution, instead of seeing the problem and trying to paste on something from another culture.
|
||||||
|
|
||||||
{{< i >}}
|
*Finally, what lessons do you think ultimate frisbee has to offer the world? What do these protocols teach us that could be applicable in other domains?*
|
||||||
Finally, what lessons do you think ultimate frisbee has to offer the world? What do these protocols teach us that could be applicable in other domains?
|
|
||||||
{{< /i >}}
|
|
||||||
|
|
||||||
At a basic level, sports in general can teach us a lot about how to work together and achieve collective outcomes. Given what I said about not enjoying lacrosse and then going to ultimate, obviously ultimate does that in a way that I found more culturally palatable.
|
At a basic level, sports in general can teach us a lot about how to work together and achieve collective outcomes. Given what I said about not enjoying lacrosse and then going to ultimate, obviously ultimate does that in a way that I found more culturally palatable.
|
||||||
|
|
||||||
|
@ -1,11 +1,85 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="{{ .Site.LanguageCode | default "en" }}">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="utf-8" />
|
<meta charset="utf-8" />
|
||||||
<title>
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
{{ .Title }}
|
|
||||||
</title>
|
{{/* Generate consistent title */}}
|
||||||
<meta name="description" content="{{ .Description }}" />
|
{{ $title := "" }}
|
||||||
|
{{ if .Params.narrator }}
|
||||||
|
{{ $title = printf "%s: %s" .Params.narrator .Params.subject }}
|
||||||
|
{{ else if .IsHome }}
|
||||||
|
{{ $title = .Title }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $title = printf "%s - %s" .Title .Site.Title }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Basic SEO -->
|
||||||
|
<title>{{ $title }}</title>
|
||||||
|
|
||||||
|
{{/* Generate description from summary, description, or default site description */}}
|
||||||
|
{{ $description := "" }}
|
||||||
|
{{ with .Description }}
|
||||||
|
{{ $description = . }}
|
||||||
|
{{ else }}
|
||||||
|
{{ with .Summary }}
|
||||||
|
{{ $description = . | plainify | truncate 160 }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $description = .Site.Params.description }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
<meta name="description" content="{{ $description }}" />
|
||||||
|
|
||||||
|
{{/* Generate keywords from tags */}}
|
||||||
|
{{ with .Params.tags }}
|
||||||
|
<meta name="keywords" content="{{ delimit . ", " }}" />
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Open Graph / Facebook -->
|
||||||
|
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
|
||||||
|
<meta property="og:url" content="{{ .Permalink }}" />
|
||||||
|
<meta property="og:title" content="{{ $title }}" />
|
||||||
|
<meta property="og:description" content="{{ $description }}" />
|
||||||
|
{{ with .Params.images | default .Site.Params.images }}
|
||||||
|
<meta property="og:image" content="{{ index . 0 | absURL }}" />
|
||||||
|
{{ end }}
|
||||||
|
{{ with .Site.Params.facebookAppID }}
|
||||||
|
<meta property="fb:app_id" content="{{ . }}" />
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Twitter -->
|
||||||
|
<meta name="twitter:card" content="summary_large_image" />
|
||||||
|
<meta name="twitter:title" content="{{ $title }}" />
|
||||||
|
<meta name="twitter:description" content="{{ $description }}" />
|
||||||
|
{{ with .Params.images }}
|
||||||
|
<meta name="twitter:image" content="{{ index . 0 | absURL }}" />
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Article Specific -->
|
||||||
|
{{ if and .IsPage (eq .Type "articles") }}
|
||||||
|
<meta property="article:published_time" content="{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}" />
|
||||||
|
<meta property="article:modified_time" content="{{ .Lastmod.Format "2006-01-02T15:04:05Z07:00" }}" />
|
||||||
|
<meta property="article:section" content="Oral History" />
|
||||||
|
{{ with .Params.tags }}
|
||||||
|
{{ range . }}
|
||||||
|
<meta property="article:tag" content="{{ . }}" />
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{/* Author information using standard meta tags instead of article:author */}}
|
||||||
|
{{ with .Params.narrator }}
|
||||||
|
<meta name="author" content="{{ . }}" />
|
||||||
|
{{ end }}
|
||||||
|
{{ with .Params.facilitator }}
|
||||||
|
<meta name="interviewer" content="{{ . }}" />
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<!-- Canonical URL -->
|
||||||
|
<link rel="canonical" href="{{ .Permalink }}" />
|
||||||
|
|
||||||
|
<!-- CSS Variables and Styles -->
|
||||||
{{ partial "css-variables.html" . }}
|
{{ partial "css-variables.html" . }}
|
||||||
|
|
||||||
{{/* Main Styles */}}
|
{{/* Main Styles */}}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{{ define "main" }}
|
{{ define "main" }}
|
||||||
<header class="my-8">
|
<header class="my-8">
|
||||||
<p class="text-center font-iosevka">Topic</p>
|
<p class="text-center font-iosevka capitalize">{{ .Data.Singular }}</p>
|
||||||
<h1 class="text-4xl font-bold text-center capitalize">{{ .Title }}</h1>
|
<h1 class="text-4xl font-bold text-center capitalize">{{ .Title }}</h1>
|
||||||
</header>
|
</header>
|
||||||
<main class="container mx-auto">
|
<main class="container mx-auto">
|
||||||
@ -9,14 +9,18 @@
|
|||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2 class="text-4xl my-8 font-iosevka text-center">Other Topics</h2>
|
<h2 class="text-4xl my-8 font-bold text-center">Other {{ .Data.Plural | title }}</h2>
|
||||||
<div class="tag-cloud font-iosevka text-gray-600">
|
<div class="tag-cloud font-iosevka text-gray-600 text-center">
|
||||||
{{ $tags := .Site.Taxonomies.tags }}
|
{{ $terms := index .Site.Taxonomies .Data.Plural }}
|
||||||
{{ range $tag, $pages := $tags }}
|
{{ range $term, $pages := $terms }}
|
||||||
<a href="{{ "/tags/" | relLangURL }}{{ $tag | urlize }}" style="font-size: {{ add 1 (div (len $pages) 2) }}em;"
|
{{ if ne $term $.Title }}
|
||||||
class="tag text-sm inline-block p-2 my-1 border border-gray-100 rounded-lg hover:bg-yellow-100 whitespace-nowrap">
|
{{ with $.Site.GetPage (printf "/%s/%s" $.Data.Plural ($term | urlize)) }}
|
||||||
{{ $tag }}
|
<a href="{{ .RelPermalink }}"
|
||||||
</a>
|
class="tag inline-block p-2 my-1 border border-gray-100 rounded-lg hover:bg-yellow-100 whitespace-nowrap">
|
||||||
|
{{ .Title }}
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
{{ end }}
|
{{ end }}
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
|
@ -6,13 +6,23 @@
|
|||||||
|
|
||||||
<div class="flex gap-4">
|
<div class="flex gap-4">
|
||||||
<aside class="lg:sticky lg:top-0 lg:h-screen lg:overflow-y-auto lg:w-1/3 p-4 font-iosevka">
|
<aside class="lg:sticky lg:top-0 lg:h-screen lg:overflow-y-auto lg:w-1/3 p-4 font-iosevka">
|
||||||
<p class="text-3xl font-light mb-4">
|
<p><strong>Date:</strong> <time datetime="{{ .Date.Format " 2006-01-02" }}">{{ .Date.Format "January 2, 2006" }}</time></p>
|
||||||
<time datetime="{{ .Date.Format "2006-01-02" }}">{{ .Date.Format "January 2, 2006" }}</time>
|
<p><strong>Narrator:</strong> <a href="{{ "/narrator/" | relLangURL }}{{ .Params.narrator | urlize }}">{{ .Params.narrator }}</a></p>
|
||||||
</p>
|
<p><strong>Facilitator:</strong> <a href="{{ "/facilitator/" | relLangURL }}{{ .Params.facilitator | urlize }}">{{ .Params.facilitator }}</a></p>
|
||||||
<p><strong>Narrator:</strong> {{ .Params.narrator }}</p>
|
|
||||||
<p><strong>Facilitator:</strong> {{ .Params.facilitator }}</p>
|
|
||||||
<p><strong>Subject:</strong> {{ .Params.subject }}</p>
|
<p><strong>Subject:</strong> {{ .Params.subject }}</p>
|
||||||
<p><strong>Tags:</strong> {{ partial "tags.html" . }}</p>
|
<p><strong>Topics:</strong> {{ partial "tags.html" . }}</p>
|
||||||
|
{{ if .Params.links }}
|
||||||
|
<div class="mt-4">
|
||||||
|
<p><strong>Narrator Links:</strong></p>
|
||||||
|
<ul class="list-disc pl-4 ml-4 mt-2">
|
||||||
|
{{ range .Params.links }}
|
||||||
|
<li class="mb-2">
|
||||||
|
<a href="{{ .url }}" target="_blank" rel="noopener noreferrer">{{ .text }} <sup>↗</sup></a>
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
</aside>
|
</aside>
|
||||||
<div class="prose lg:prose-xl lg:w-2/3 p-4">
|
<div class="prose lg:prose-xl lg:w-2/3 p-4">
|
||||||
<p class="font-bold text-4xl">{{ partial "article-title" . }}</p>
|
<p class="font-bold text-4xl">{{ partial "article-title" . }}</p>
|
||||||
|
@ -7,32 +7,12 @@
|
|||||||
<aside class="max-w-prose w-1/4 flex flex-col gap-8 mb-8">
|
<aside class="max-w-prose w-1/4 flex flex-col gap-8 mb-8">
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2 class="text-4xl mb-4 font-iosevka">About</h2>
|
<h2 class="text-2xl mb-4 font-bold">About</h2>
|
||||||
{{ .Content }}
|
{{ .Content }}
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section>
|
<section>
|
||||||
<h2 class="text-4xl mb-4 font-iosevka">Narrators</h2>
|
<h2 class="text-2xl mb-4 font-bold">Topics</h2>
|
||||||
<div class="tag-cloud font-iosevka text-gray-600">
|
|
||||||
{{ $narrators := slice }}
|
|
||||||
{{ range .Site.RegularPages }}
|
|
||||||
{{ with .Params.narrator }}
|
|
||||||
{{ $narrators = $narrators | append . }}
|
|
||||||
{{ end }}
|
|
||||||
{{ end }}
|
|
||||||
{{ $narrators = $narrators | uniq | sort }}
|
|
||||||
{{ range $narrator := $narrators }}
|
|
||||||
<a href="{{ "/narrators/" | relLangURL }}{{ $narrator | urlize }}"
|
|
||||||
class="tag inline-block p-2 my-1 border border-gray-100 rounded-lg hover:bg-yellow-100 whitespace-nowrap"
|
|
||||||
style="font-size: 1rem;">
|
|
||||||
{{ $narrator }}
|
|
||||||
</a>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
|
|
||||||
<section>
|
|
||||||
<h2 class="text-4xl mb-4 font-iosevka">Topics</h2>
|
|
||||||
<div class="tag-cloud font-iosevka text-gray-600 text-sm">
|
<div class="tag-cloud font-iosevka text-gray-600 text-sm">
|
||||||
{{ $tags := .Site.Taxonomies.tags }}
|
{{ $tags := .Site.Taxonomies.tags }}
|
||||||
{{ range $tag, $pages := $tags }}
|
{{ range $tag, $pages := $tags }}
|
||||||
|
@ -5,13 +5,13 @@
|
|||||||
{{- $page = .page -}}
|
{{- $page = .page -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<li class="flex gap-4 items-center">
|
<li class="flex gap-4 items-center">
|
||||||
<a class="flex-grow" href="{{ $page.RelPermalink }}">{{ partial "article-wompum.html" $page }}</a>
|
<a class="flex-1 min-w-0" href="{{ $page.RelPermalink }}">{{ partial "article-wompum.html" $page }}</a>
|
||||||
<time class="text-gray-800 font-iosevka" datetime="{{ $page.Date.Format "2006-01-02" }}">
|
<time class="text-gray-800 font-iosevka w-12 flex-shrink-0" datetime="{{ $page.Date.Format "2006-01-02" }}">
|
||||||
<p>{{ $page.Date.Format "Jan" }}</p>
|
<p>{{ $page.Date.Format "Jan" }}</p>
|
||||||
<p>{{ $page.Date.Format "02" }}</p>
|
<p>{{ $page.Date.Format "02" }}</p>
|
||||||
<p>{{ $page.Date.Format "2006" }}</p>
|
<p>{{ $page.Date.Format "2006" }}</p>
|
||||||
</time>
|
</time>
|
||||||
<div class="flex-shrink-0 max-w-max">
|
<div class="w-3/5 flex-shrink-0">
|
||||||
<a class="text-2xl font-bold hover:text-green-900 underline" href="{{ $page.RelPermalink }}">{{ partial "article-title" $page }}</a>
|
<a class="text-2xl font-bold hover:text-green-900 underline" href="{{ $page.RelPermalink }}">{{ partial "article-title" $page }}</a>
|
||||||
<p class="max-w-prose">{{ $page.Params.summary }}</p>
|
<p class="max-w-prose">{{ $page.Params.summary }}</p>
|
||||||
{{ partial "tags.html" $page }}
|
{{ partial "tags.html" $page }}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{{- if and .Params.narrator .Params.subject -}}
|
{{- if and .Params.narrator .Params.subject -}}
|
||||||
{{- .Params.narrator }}: {{ .Params.subject -}}
|
<span class="artile__title-narrator font-iosevka">{{- .Params.narrator }}</span>: <span class="artile__title-subject">{{ .Params.subject -}}</span>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
<div class="wompum-container">
|
<div class="wompum-container">
|
||||||
<div class="wompum-grid"
|
<div class="wompum-article-grid"
|
||||||
data-metadata="{{ jsonify .Params }}"
|
data-metadata="{{ dict "narrator" .Params.narrator "subject" .Params.subject "facilitator" .Params.facilitator | jsonify }}"
|
||||||
>
|
data-columns="7"
|
||||||
<!-- Grid will be populated by JavaScript -->
|
data-rows="5">
|
||||||
<!-- 7x5 = 35 cells total -->
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<section>
|
<section>
|
||||||
<h2 class="text-4xl mb-4 font-iosevka">Facilitators</h2>
|
<h2 class="text-4xl mb-4">Facilitators</h2>
|
||||||
<div class="tag-cloud font-iosevka text-gray-600">
|
<div class="tag-cloud font-iosevka text-gray-600">
|
||||||
{{ $facilitators := slice }}
|
{{ $facilitators := slice }}
|
||||||
{{ range .Site.RegularPages }}
|
{{ range .Site.RegularPages }}
|
||||||
@ -9,7 +9,7 @@
|
|||||||
{{ end }}
|
{{ end }}
|
||||||
{{ $facilitators = $facilitators | uniq | sort }}
|
{{ $facilitators = $facilitators | uniq | sort }}
|
||||||
{{ range $facilitator := $facilitators }}
|
{{ range $facilitator := $facilitators }}
|
||||||
<a href="{{ " facilitators/" | relLangURL }}{{ $facilitator | urlize }}"
|
<a href="{{ "/facilitator/" | relLangURL }}{{ $facilitator | urlize }}"
|
||||||
class="tag inline-block p-2 my-1 border border-gray-100 rounded-lg hover:bg-yellow-100 whitespace-nowrap"
|
class="tag inline-block p-2 my-1 border border-gray-100 rounded-lg hover:bg-yellow-100 whitespace-nowrap"
|
||||||
style="font-size: 1rem;">
|
style="font-size: 1rem;">
|
||||||
{{ $facilitator }}
|
{{ $facilitator }}
|
||||||
|
@ -1,16 +1,25 @@
|
|||||||
<!-- basic header partial in hugo with just home and about -->
|
<!-- basic header partial in hugo with just home and about -->
|
||||||
<header class="p-4 flex justify-between items-center border-b border-gray-300 mb-4">
|
<header class="flex flex-col mb-4">
|
||||||
<h1 class="text-2xl font-bold">
|
<div class="flex justify-between items-center p-4">
|
||||||
<a href="/">{{ .Site.Title }}</a>
|
<h1 class="text-2xl font-bold">
|
||||||
</h1>
|
<a href="/">{{ .Site.Title }}</a>
|
||||||
<nav class="font-iosevka">
|
</h1>
|
||||||
<ul class="flex gap-4">
|
<nav class="font-iosevka">
|
||||||
<li>
|
<ul class="flex gap-4">
|
||||||
<a href="/" class="hover:text-blue-700">Home</a>
|
<li>
|
||||||
</li>
|
<a href="/" class="hover:text-blue-700">Home</a>
|
||||||
<li>
|
</li>
|
||||||
<a href="/about" class="hover:text-blue-700">About</a>
|
<li>
|
||||||
</li>
|
<a href="/about" class="hover:text-blue-700">About</a>
|
||||||
</ul>
|
</li>
|
||||||
</nav>
|
</ul>
|
||||||
|
</nav>
|
||||||
|
</div>
|
||||||
|
<div class="wompum-container">
|
||||||
|
<div class="wompum-grid h-2"
|
||||||
|
data-text="{{ .Site.Title }}"
|
||||||
|
data-columns="7"
|
||||||
|
data-rows="1">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
@ -29,7 +29,7 @@
|
|||||||
|
|
||||||
{{- if gt (len $finalArticles) 0 -}}
|
{{- if gt (len $finalArticles) 0 -}}
|
||||||
<div class="related-articles flex flex-col gap-4">
|
<div class="related-articles flex flex-col gap-4">
|
||||||
<h2 class="title text-3xl">Related Articles</h2>
|
<h2 class="title text-3xl font-bold">Related Articles</h2>
|
||||||
<ul class="flex flex-col gap-4 w-full">
|
<ul class="flex flex-col gap-4 w-full">
|
||||||
{{ partial "article-list" (dict "Pages" $finalArticles) }}
|
{{ partial "article-list" (dict "Pages" $finalArticles) }}
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
{{- if .Params.tags }}
|
{{- if .Params.tags }}
|
||||||
<div class="flex flex-wrap gap-2 my-2 text-xs">
|
<div class="flex flex-wrap gap-2 my-2 text-xs font-iosevka">
|
||||||
{{- range .Params.tags }}
|
{{- range .Params.tags }}
|
||||||
<a href="{{ "tags/" | relURL }}{{ . | urlize }}"
|
<a href="{{ "tags/" | relURL }}{{ . | urlize }}"
|
||||||
class="px-3 py-1 border border-green-100 hover:bg-green-300 text-green-900 rounded no-underline">
|
class="px-3 py-1 border border-green-100 hover:bg-green-300 text-green-900 rounded no-underline">
|
||||||
|
85
layouts/partials/wompum-demo.html
Normal file
85
layouts/partials/wompum-demo.html
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<div class="wompum-demo max-w-2xl mx-auto">
|
||||||
|
<h2 class="text-2xl font-bold mb-4">Wompum Grid Protocol</h2>
|
||||||
|
|
||||||
|
<p>We use a protocol to generate the colorful wompum style grid for articles and other places around the site, learn how it works here.</p>
|
||||||
|
|
||||||
|
<div class="mb-8 font-iosevka">
|
||||||
|
<label class="block mb-2">Enter text to generate a grid:</label>
|
||||||
|
<input type="text"
|
||||||
|
class="w-full p-2 border rounded"
|
||||||
|
placeholder="Type something..."
|
||||||
|
oninput="updateWompumDemo(this.value)">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>First we generate a sigil by removing spaces, turning to lowercase, removing anything that isn't a consonant, removing repeat letters, find the unicode character number, and finally get the digital root of those numbers. From there the sigil digits are used to choose a color from our pallet.</p>
|
||||||
|
|
||||||
|
<div class="transformation-steps space-y-4 mb-8 font-iosevka">
|
||||||
|
<div>
|
||||||
|
<span class="font-bold">Original Text:</span>
|
||||||
|
<span class="text-input-display"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="font-bold">Lowercase:</span>
|
||||||
|
<span class="text-cleaned-display"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="font-bold">Consonants only:</span>
|
||||||
|
<span class="text-consonants-display"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="font-bold">Unique consonants:</span>
|
||||||
|
<span class="text-unique-display"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="font-bold">Letters to numbers:</span>
|
||||||
|
<span class="text-sigil-numbers"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="font-bold">Digital root:</span>
|
||||||
|
<span class="text-sigil-root"></span>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<span class="font-bold">The final grid:</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="wompum-container h-48 mb-8">
|
||||||
|
<div class="wompum-grid h-full"
|
||||||
|
data-text=""
|
||||||
|
data-columns="5"
|
||||||
|
data-rows="3">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
function updateWompumDemo(text) {
|
||||||
|
// Update displays
|
||||||
|
document.querySelector('.text-input-display').textContent = text;
|
||||||
|
document.querySelector('.text-cleaned-display').textContent = text.toLowerCase().replace(/[^a-z]/g, '');
|
||||||
|
document.querySelector('.text-consonants-display').textContent = text.toLowerCase().replace(/[^a-z]/g, '').replace(/[aeiou]/g, '');
|
||||||
|
|
||||||
|
const uniqueConsonants = [...new Set(text.toLowerCase().replace(/[^a-z]/g, '').replace(/[aeiou]/g, ''))].join('');
|
||||||
|
document.querySelector('.text-unique-display').textContent = uniqueConsonants;
|
||||||
|
|
||||||
|
// Show character to number conversion
|
||||||
|
const charNumbers = [...uniqueConsonants].map(char => char.charCodeAt(0)).join(', ');
|
||||||
|
document.querySelector('.text-sigil-numbers').textContent = charNumbers;
|
||||||
|
|
||||||
|
// Show digital root calculation
|
||||||
|
const sigilArray = Sigil.generate(text);
|
||||||
|
document.querySelector('.text-sigil-root').textContent = sigilArray.join(', ');
|
||||||
|
|
||||||
|
// Update grid
|
||||||
|
const grid = document.querySelector('.wompum-demo .wompum-grid');
|
||||||
|
grid.dataset.text = text;
|
||||||
|
|
||||||
|
// Remove existing grid
|
||||||
|
while (grid.firstChild) {
|
||||||
|
grid.firstChild.remove();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Reinitialize grid
|
||||||
|
new WompumGrid(grid).init();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
</div>
|
1
package-lock.json
generated
1
package-lock.json
generated
@ -1258,6 +1258,7 @@
|
|||||||
"resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-8.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/postcss-cli/-/postcss-cli-8.3.1.tgz",
|
||||||
"integrity": "sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==",
|
"integrity": "sha512-leHXsQRq89S3JC9zw/tKyiVV2jAhnfQe0J8VI4eQQbUjwIe0XxVqLrR+7UsahF1s9wi4GlqP6SJ8ydf44cgF2Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"chalk": "^4.0.0",
|
"chalk": "^4.0.0",
|
||||||
"chokidar": "^3.3.0",
|
"chokidar": "^3.3.0",
|
||||||
|
BIN
static/images/default-og.jpg
Normal file
BIN
static/images/default-og.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 66 KiB |
@ -1,7 +1,6 @@
|
|||||||
class WompumGrid {
|
class WompumGrid {
|
||||||
constructor(element, metadata) {
|
constructor(element) {
|
||||||
this.gridElement = element;
|
this.gridElement = element;
|
||||||
this.metadata = metadata;
|
|
||||||
this.gridSize = {
|
this.gridSize = {
|
||||||
columns: parseInt(element.dataset.columns) || 7,
|
columns: parseInt(element.dataset.columns) || 7,
|
||||||
rows: parseInt(element.dataset.rows) || 5
|
rows: parseInt(element.dataset.rows) || 5
|
||||||
@ -10,27 +9,19 @@ class WompumGrid {
|
|||||||
// Set grid template columns based on data attribute or default
|
// Set grid template columns based on data attribute or default
|
||||||
this.gridElement.style.gridTemplateColumns = `repeat(${this.gridSize.columns}, 1fr)`;
|
this.gridElement.style.gridTemplateColumns = `repeat(${this.gridSize.columns}, 1fr)`;
|
||||||
|
|
||||||
// Generate sigils for each metadata component
|
|
||||||
this.sigils = {
|
|
||||||
narrator: Sigil.generate(metadata.narrator),
|
|
||||||
subject: Sigil.generate(metadata.subject),
|
|
||||||
facilitator: Sigil.generate(metadata.facilitator)
|
|
||||||
};
|
|
||||||
|
|
||||||
// Initialize color calculator
|
// Initialize color calculator
|
||||||
this.colorCalculator = new ColorCalculator();
|
this.colorCalculator = new ColorCalculator();
|
||||||
|
|
||||||
// Store sigils as data attributes for future use
|
// Generate sigil from text content if provided
|
||||||
this.gridElement.dataset.narratorSigil = JSON.stringify(this.sigils.narrator);
|
const text = element.dataset.text || '';
|
||||||
this.gridElement.dataset.subjectSigil = JSON.stringify(this.sigils.subject);
|
this.sigil = Sigil.generate(text);
|
||||||
this.gridElement.dataset.facilitatorSigil = JSON.stringify(this.sigils.facilitator);
|
this.gridElement.dataset.sigil = JSON.stringify(this.sigil);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get sigil digit for a cell based on its section and position
|
// Get sigil digit for a cell based on its position
|
||||||
getSigilDigit(section, position) {
|
getSigilDigit(position) {
|
||||||
const sigil = this.sigils[section];
|
if (!this.sigil || !this.sigil.length) return 0;
|
||||||
if (!sigil || !sigil.length) return 0;
|
return this.sigil[position % this.sigil.length];
|
||||||
return sigil[position % sigil.length];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Get influences from adjacent cells
|
// Get influences from adjacent cells
|
||||||
@ -60,18 +51,35 @@ class WompumGrid {
|
|||||||
return influences;
|
return influences;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Apply metadata-based design to the grid
|
// Create basic grid cells
|
||||||
|
createGrid() {
|
||||||
|
const totalCells = this.gridSize.columns * this.gridSize.rows;
|
||||||
|
|
||||||
|
for (let i = 0; i < totalCells; i++) {
|
||||||
|
const cell = document.createElement('div');
|
||||||
|
const column = i % this.gridSize.columns;
|
||||||
|
const row = Math.floor(i / this.gridSize.columns);
|
||||||
|
|
||||||
|
cell.className = 'wompum-cell';
|
||||||
|
cell.setAttribute('data-cell-index', i);
|
||||||
|
cell.setAttribute('data-column', column);
|
||||||
|
cell.setAttribute('data-row', row);
|
||||||
|
|
||||||
|
// Set sigil digit based on cell position
|
||||||
|
const sigilDigit = this.getSigilDigit(i);
|
||||||
|
cell.setAttribute('data-sigil-digit', sigilDigit);
|
||||||
|
|
||||||
|
this.gridElement.appendChild(cell);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
applyMetadataDesign() {
|
applyMetadataDesign() {
|
||||||
const cells = this.gridElement.querySelectorAll('.wompum-cell');
|
const cells = this.gridElement.querySelectorAll('.wompum-cell');
|
||||||
|
|
||||||
cells.forEach(cell => {
|
cells.forEach(cell => {
|
||||||
const section = cell.dataset.section;
|
|
||||||
const column = parseInt(cell.dataset.column);
|
const column = parseInt(cell.dataset.column);
|
||||||
const row = parseInt(cell.dataset.row);
|
const row = parseInt(cell.dataset.row);
|
||||||
|
const sigilDigit = parseInt(cell.dataset.sigilDigit);
|
||||||
// Get sigil digit for this cell
|
|
||||||
const sigilDigit = this.getSigilDigit(section, row);
|
|
||||||
cell.dataset.sigilDigit = sigilDigit;
|
|
||||||
|
|
||||||
// Get influences from adjacent cells
|
// Get influences from adjacent cells
|
||||||
const influences = this.getInfluences(column, row);
|
const influences = this.getInfluences(column, row);
|
||||||
@ -82,40 +90,51 @@ class WompumGrid {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Initialize the grid
|
|
||||||
init() {
|
init() {
|
||||||
if (!this.gridElement) return;
|
if (!this.gridElement) return;
|
||||||
this.createGrid();
|
this.createGrid();
|
||||||
this.applyMetadataDesign();
|
this.applyMetadataDesign();
|
||||||
this.setGridAreas();
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class ArticleGrid extends WompumGrid {
|
||||||
|
constructor(element, metadata) {
|
||||||
|
super(element);
|
||||||
|
this.metadata = metadata;
|
||||||
|
|
||||||
|
// Generate sigils for each metadata component
|
||||||
|
this.sigils = {
|
||||||
|
narrator: Sigil.generate(metadata.narrator),
|
||||||
|
subject: Sigil.generate(metadata.subject),
|
||||||
|
facilitator: Sigil.generate(metadata.facilitator)
|
||||||
|
};
|
||||||
|
|
||||||
|
// Store sigils as data attributes
|
||||||
|
Object.entries(this.sigils).forEach(([key, value]) => {
|
||||||
|
this.gridElement.dataset[`${key}Sigil`] = JSON.stringify(value);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Define grid areas for each section
|
getSigilDigit(position, section) {
|
||||||
setGridAreas() {
|
const sigil = this.sigils[section];
|
||||||
const totalColumns = this.gridSize.columns;
|
if (!sigil || !sigil.length) return 0;
|
||||||
const narratorColumns = 2;
|
return sigil[position % sigil.length];
|
||||||
const facilitatorColumns = 2;
|
|
||||||
const subjectColumns = totalColumns - narratorColumns - facilitatorColumns;
|
|
||||||
|
|
||||||
this.gridElement.style.gridTemplateAreas = `
|
|
||||||
"narrator subject facilitator"
|
|
||||||
`;
|
|
||||||
// this.gridElement.style.gridTemplateColumns = `${narratorColumns}fr ${subjectColumns}fr ${facilitatorColumns}fr`;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Create the grid cells with position awareness
|
|
||||||
createGrid() {
|
createGrid() {
|
||||||
const totalCells = this.gridSize.columns * this.gridSize.rows;
|
const totalCells = this.gridSize.columns * this.gridSize.rows;
|
||||||
|
const narratorColumns = 2;
|
||||||
|
const facilitatorColumns = 2;
|
||||||
|
|
||||||
for (let i = 0; i < totalCells; i++) {
|
for (let i = 0; i < totalCells; i++) {
|
||||||
const cell = document.createElement('div');
|
const cell = document.createElement('div');
|
||||||
const column = i % this.gridSize.columns;
|
const column = i % this.gridSize.columns;
|
||||||
const row = Math.floor(i / this.gridSize.columns);
|
const row = Math.floor(i / this.gridSize.columns);
|
||||||
|
|
||||||
// Determine which section this cell belongs to
|
// Determine section based on column position
|
||||||
let section;
|
let section;
|
||||||
if (column < 2) section = 'narrator';
|
if (column < narratorColumns) section = 'narrator';
|
||||||
else if (column >= this.gridSize.columns - 2) section = 'facilitator';
|
else if (column >= this.gridSize.columns - facilitatorColumns) section = 'facilitator';
|
||||||
else section = 'subject';
|
else section = 'subject';
|
||||||
|
|
||||||
cell.className = 'wompum-cell';
|
cell.className = 'wompum-cell';
|
||||||
@ -124,26 +143,33 @@ class WompumGrid {
|
|||||||
cell.setAttribute('data-column', column);
|
cell.setAttribute('data-column', column);
|
||||||
cell.setAttribute('data-row', row);
|
cell.setAttribute('data-row', row);
|
||||||
|
|
||||||
|
// Set sigil digit based on section and position
|
||||||
|
const sigilDigit = this.getSigilDigit(row, section);
|
||||||
|
cell.setAttribute('data-sigil-digit', sigilDigit);
|
||||||
|
|
||||||
this.gridElement.appendChild(cell);
|
this.gridElement.appendChild(cell);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Wait for DOM to be ready
|
// Initialize grids
|
||||||
document.addEventListener('DOMContentLoaded', () => {
|
document.addEventListener('DOMContentLoaded', () => {
|
||||||
// Find all grid elements
|
// Initialize basic grids
|
||||||
const gridElements = document.querySelectorAll('.wompum-grid');
|
document.querySelectorAll('.wompum-grid').forEach(element => {
|
||||||
|
const grid = new WompumGrid(element);
|
||||||
// Initialize a grid for each element found
|
grid.init();
|
||||||
gridElements.forEach(element => {
|
});
|
||||||
|
|
||||||
|
// Initialize article grids
|
||||||
|
document.querySelectorAll('.wompum-article-grid').forEach(element => {
|
||||||
let metadata = {};
|
let metadata = {};
|
||||||
try {
|
try {
|
||||||
metadata = JSON.parse(element.dataset.metadata || '{}');
|
metadata = JSON.parse(element.dataset.metadata || '{}');
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('Error parsing metadata for grid:', e);
|
console.error('Error parsing metadata for article grid:', e);
|
||||||
}
|
}
|
||||||
|
|
||||||
const wompum = new WompumGrid(element, metadata);
|
const grid = new ArticleGrid(element, metadata);
|
||||||
wompum.init();
|
grid.init();
|
||||||
});
|
});
|
||||||
});
|
});
|
Reference in New Issue
Block a user