Open Indie

Writing about open & equitable product development

The Great Untangling: Postamble – An incomplete map of the Commune and Weird-aligned web of makers.

There are already many awesome projects out there that feel like kindred spirits of what Commune or Weird intends to be. Some of them I'm actively using. Others don't quite fit the bill, usually because they're not open or accessible enough for my particular needs.

Here's a WIP list of values-aligned projects that deserve your attention 👀 and love ❤️

Bonus for thorough readers: Making space, a poem.


The Great Untangling:

The Great Untangling: Part 3 – Materializing the web from first principles.

Right now I use GitHub as my go-to profile page: github.com/erlend-sh

It works quite well, since practically all of my ongoing projects, professional and otherwise, are taking place on GitHub. However it still leaves a lot to be desired.

I have this funky erlend.sh domain that I’m not using. I wanna transcribe most of my GitHub personal page onto there, so I finally have my ultimate calling-card and place to call home on the interwebs. Essentially an open source alternative to https://linktr.ee.

Table of Contents

Websites as the atomic matter of the internet

I consider the personal website to be the smallest possible building block of web identity. Once you wanna go past the observer (READ) level to the contributor (WRITE) level as a netizen, you’re gonna need a material web-persona to make yourself known. Unfortunately we never made personal websites easy enough to build, so the likes of Facebook became mainstream persona providers.

Any competitive persona platform eventually needs to support the OIDC (OAuth) stack, as evidenced by both Matrix and Mastodon’s adoption of the standard. I want to eventually sign into stuff with Weird, but the platform doesn’t need to start there. Our proof-of-concept can be super simple, because Linktree and its ilk have already proven there’s a demand for that type of onepager app for anyone who want to get their ‘own’ web identity started in the simplest way possible.

The type of website builder we don’t have yet is the type that the average Facebook user could use, while quietly also respecting your sovereign rights as a netizen, by providing the option of self-hosting.

How I see self-service hosting actually working is that >90% of “self-hosters” aren’t relying on their own local server as the primary host. They’re actually deferring to a hosted service (Weird Inc.) as the default provider of their website. Their own self-hosting setup is merely a redundancy backup.

This is how I personally wanna ‘self-host’ anyway. I very much want a paid service involved, but I want the service to teach me how to be self-sufficient in case of unexpected interruptions.

I’ve been on the internet for two whole decades now, and I still haven’t put up my virtual entrance door & name sign. I’ve done that on Twitter, Discord, GitHub & Google, but not yet on erlend.sh, the space that’s most genuinely mine (for as long as the fine people of Saint Helena (.sh) deem me worthy) on the World Wide Web. All the options are still too clunky.

The linksapp lets you drop anchor, so you can begin to assemble your own space, even if not on your own custom domain quite yet. There’s something very grounding about a website that simply lists all your other primary identities on the web; a central meta-identity immediately takes shape as soon as those first couple of account links are inserted.

The meta-identity of my Twitter, Discord, GitHub & Google identities combined is a pretty accurate reflection of my complete digital identity. As such, the linktree format/spec is introducing web2-natives to the merits of personal websites, hearkening back to the heydays of web1!

Making Weird

With the help of several developers I've been producing various prototypes to do exactly this.

First we made linksapp-fresh:

Then weird-rs (Axum + Sycamore):

..which then transitioned into a local-first Tauri app.

Update – April 2024: Following the renewed focus of Weird netizens, our definitive MVP for Weird is now being developed with Svelte (eventually Leptos), on top of Rauthy.

Through various milestones of increasing feature complexity, weird-app will evolve as: 1. a personalized calling card 2. an identity aggregator 3. an identity connector: Network of Shared Purpose

Beginning as something tiny and static, it will grow incrementally into something expansive and dynamic. Greatly inspired by The OG Social Network: Other People’s Websites.

Calling Card

The goal of our initial MVP is to have a tiny website generator that can be run cheaply as a managed service for the easiest possible onboarding, with self-hosting as an option for our fellow geeks.

We'll expand on this minimal core by weaving existing services into that core identity, much like omg.lol. Our preliminary thoughts on commercialization paints a clearer picture of where this is headed.

Web identity aggregator

As it matures, Weird-app is meant to give netizens back ownership of the data they’ve created and stored on other platforms. As such, Weird will be an increasingly capable aggregator of disparate web identities and their respective content silos — siloed no more!

We’re gonna start off dev-centric and gradually work our way through all user types from there. Any identity-serving platform with an open API is ultimately up for grabs; POSSE provides some prior art here.

Initial prototyping has commenced in uda-api and node-uda.

1: Single-source

Enter GitHub/GitLab profile, get personal web page.

2: Curated content

Handpick what source-content to use from source platform.

3: Feeds

Add blog feeds (multiple) & twitter/mastodon. A new tab will be added. See linksapp-fresh.

4: Multi-source

Add itch.io, stackoverflow, deviantart. Refine source-curation to facilitate easy combination of multiple sources.

5: Advanced feeds

Add getpocket/raindrop and pocketcasts/listennotes for ‘what I’m reading / listening to’ feeds.

6: ALL THE SOURCES

By this point we will have some sense of the best practice for adding additional sources, probably arriving at some sort of standardized plug-in system & docs to facilitate self-serve. First and foremost for devs, but also with an eye towards regular users.

Update – April 15. 2023 This skeleton-vision has been further sketched out in much more colorful detail by Jon Bell in 'Hey Creators, Please Make Firehoses!'

Network of Shared Purpose

I’ve done so many projects over the years, and for each and every one of them there’s always someone out there with the interest and capability to help me solve some problem, usually because they've already been solving that problem for their own project. But it’s unnecessarily difficult to find these people, and for people to find me.

I wanna make it much simpler for people on the internet to go ‘I’m interested in working on x/y/z’ and be connected with other people who share that interest, especially among open source practitioners.

There would be a simple directory & search based on people’s public profiles. In the context of my Fish Folk project for instance, I wanna know about people who are into ‘open source’, ‘gamedev’ and ‘rust’. I’ve searched manually in this way on GitHub many times, and connected with dozens of collaborators that way.

I’ll for example see that someone already worked on a 2D pixel platformer game in Rust already, so I just get in touch and say

hey, seems like we might have a shared interest! Wanna talk?’.

There’s a rather incredible amount of people out there working on the same kind of stuff without ever getting in touch with the others. The Network of Shared Purpose is effectively a global jobs board, but for mutual collaborations rather than work-for-hire.

Prototyping

The easiest way to prototype this might be with GitHub issues/discussion. I could list my collab projects there.

On my Weird linkspage, I want a ‘Collab’ tab. Clicking it will reveal a list of the 1, 3, 10 (max) topics/projects I’m open to collaborate on.

Mine would look something like: – Spicy LobsterFish FolkShotcallerCommunityOSWeirdCommuneTeachers-app

It might be split in two: (1) need help and (2) offering help.

My ‘offering help’ section is the topics-based one. It goes something like:

  • Open game production (talk to me if you’re trying to make and sell an open source game)
  • Open comms software production (ttmi you’re making open source communications software)
  • Open source strategy (ttmi you’re trying to create a sustainable open source product)

Special interests:

  • Open source
  • Coops
  • Openness philosophy
  • Indie gamedev
  • Rust
  • Godot
  • Community

GitHub profiles support topics already, so I’ve added the above to my profile repo.

753FD139-DC02-47BE-8664-F9B5DB9356C4

Next up we just gotta build more glue layers so that anyone already on GitHub can easily participate in this proto-network for people of common interests.

If this all seems a little half-baked, that's because it is. I'm doing a release early; release often with my thoughts. This series of documents is the v0.1 release of the Network of Shared Purpose. I'm putting my signal out there in hopes of connecting with the others sooner rather than later, so we may pool our efforts together.

This is all a continuation of the same stuff I'm doing as a game developer and studio founder. The way in which I approach open game development directly informs how I approach open community development, and vice versa.

Web pages materialize the internet

The size of the internet can be measured in the atomic mass of the websites it's made up of. We collectively materialize the internet with every additional web page we create.

The internet is a lot of things however, and for many people it’s not thought of as a material place they go to, it’s just the connective layer (wires and signals) between them and some internet-enabled app. The app is the place.

Discord, TikTok, Facebook is the place. https://www.generalist.com/briefing/discord

Instead of saying ‘let’s go to the arcade’, a few games have become so dominant that instead we’re saying ‘let’s go to the Tetris-place’. Tetris was the bomb, but it was never that powerful.

The Great Commons that is the internet remains the bedrock upon which all these other places built their foundations. They’ve just layered so many facades of concrete, steel and plastic on top that we’ve forgotten what the once-fertile earth underneath looks like.

Connecting on the internet shouldn’t involve having to make constant compromises about which app-platforms to meet the others on.

Where you meet up should be entirely separated from who you meet up as.

If you're interested in whatever this is and where it's headed, for now you can find my contact info and story at github.com/erlend-sh.

I sincerely hope you'll get in touch!


The Great Untangling:

The Great Untangling: Part 2 – Paving a path to the new frontier.

I've been feeling a growing sense of anxiety related to account lockout lately. Horror stories about people getting locked out of their Google/Discord/GitHub accounts without due process and any form of appeal weighs heavy on my mind. While this type of event is extremely unlikely, the chance of it happening the way it does (sudden data unavailability) ought to be exactly 0. And as someone who is explicitly working on alternatives to the dominant platforms, that does add a multiple to my chances of suffering a lockout, however small that chance may be.

Here's the rough migration plan for 2023 and beyond. This is not a fixed path, but rather a demonstration of available options that are becoming increasingly viable.

Conversation around the Bonfire 🏕️

Status quo Transition End-state
Discord Revolt Revolt (+Matrix)
Discourse Gitter Revolt (+Matrix)
Telegram - Element (personal edition)
Element - Element
Gmail CubeMail Dust+Stalwart Labs
(+Postmoogle/Matrix?)

My indie game studio Spicy Lobster is already using Revolt in production as a 1:1 mirror of our Discord server. It serves two purposes:

  1. Backing up our Discord data for posterity.
  2. Providing a two-way bridge for collaborators who cannot access Discord (due to firewalls et.al.)

For a button-click service focused on #1 plus SEO, I recommend Linen.

Thinking in the Garden 🌳

Status quo Transition End-state
GDdocs Notion (Markdown) Subconscious
GetPocket Raindrop.io Omnivore
PocketCasts PocketCasts open source Teacher-app?
(+ActivityPub/Noosphere)
Substack Write.as Weird (Noosphere+ActivityPub feed)

The introduction of the Noosphere protocol and its accompanying Subconscious app unleashes the true potential of the digital garden. My apps for notes, articles, blog feeds and podcasts will all be hooked into a common connectivity layer.

ActivityPub might play a similar role as a publication layer, but it needs to become less chronologically inclined to better accommodate timeless knowledge artifacts.

Flowing through the Stream 💧

Status quo Transition End-state
Twitter/Tumblr Tumblr/Mastodon ChatterNet (ActivityPub)
Reddit/HN Lemmy/ChatterNet ChatterNet (+Matrix?)

Chatter Net is a companion protocol to ActivityPub. It's still in the prototyping phase, but a functional demo is available at conversely.social.

My micro-thesis: The AP network has already onboarded the ~10 million early-adopter techies who cared enough about their personal tech to jump ship when Twitter began leaking. The first big move is over. The mainstream >100 million users won’t do anything until there’s a proper paradigm shift. Mastodon is just an incremental change, from centralized to federated. It’s still the exact same UX paradigm. It’s gonna take a while for the 10m community to iterate and innovate further until we’ve arrived at the true paradigm shift of a brand new interface for the AP protocol.

Chatter Net is able to play the Mastodon game on par with everyone else, while layering on top a lot of extra capabilities that can spring into action once we’ve run up against enough limitations in the Mastodon (Twitter-legacy) paradigm to necessitate a more radical shift.

Solving for nothing else other than the account-loss issue (which causes the exact same anxiety as the global-scale authoritarian platforms) is already a very strong sales pitch for CN, which it has a built-in solution for with its DID-based identities.

Conversing, Thinking, Flowing self 👤

Adding to the three outer layers, we include the inner core: Identity, I.e. the digital-self.

Status quo Transition End-state
Linktree - Weird
Google/GitHub GitHub/Matrix Matrix/Chatter Net

Linktree might seem like an odd addition here, but I believe it's on track to becoming a personal website protocol. More on that in part 3.

With the introduction of OIDC support in Matrix, it has a chance of establishing itself as a primary authentication platform.

Key technology

The next generation of identity-enabling technology is becoming possible this year thanks to the maturation of some foundational building blocks. I will not get into why I think this tech is so important; I'm merely putting this out to signal alignment with other builders working with the same stack.

Emerging web standards

Tauri

I predict ALL of the app-archetypes listed above will exist in the form of a Tauri-based app by 2024. And by then, Tauri Mobile will be stable (enough).

Rust

Rust is leading the charge for The Great Rewriting. Maximized performance without foot-guns is a huge force multiplier on its own, but Rust is so much more than that. All of the end-state apps listed above are using Rust to some extent.


The Great Untangling:

The Great Untangling: Part 1 – Shaping the foundations.

To sufficiently express my identity as a netizen I require:

  • global group messaging: Discord
  • local group messaging: Telegram
  • secure & sovereign messaging: Element (Matrix)
  • first-contact messaging: Gmail

and..

  • collective thinking: GDdocs/Notion
  • collective writing: Writing.as
  • collective learning: Omnivore, PocketCasts, Inoreader

and..

  • interactive social-sharing feed: Twitter/Reddit

and..

  • public, static identity: Linktree/GitHub
  • personal, dynamic identity: Google/GitHub

They’re all somewhat-interchangeable components of an overarching community platform in the making, with identity at the center. Not one single app, but rather the entire stack I want as a community-professional as well as a regular participant on the interwebs. Identity realized in community: Community OS.

Some of these tools are partially open source already, but by the end of 2023 I'd really like most of them to be so. That'll require some complete migrations on my part, like I recently did with GetPocket (fully proprietary) to Raindrop.io (open source client).

It'll also require a lot of building, because the open version of the tools I need won't come from the closed tools dominating the status quo. Thankfully, a lot of people are already working on the open version of the tools needed for the Community OS stack, so cOS will happily default to these applications.

Gardens, Streams and Campfires

Building on the terminology of Digital Streams, Campfires and Gardens and its forebearer and knowledge-management classic The Garden and the Stream: A Technopastoral, we will add in the concept of the Digital Experiencing-Self, aka your identity.

The Garden is the web as topology. The web as space. It’s the integrative web, the iterative web, the web as an arrangement and rearrangement of things to one another.

Things in the Garden don’t collapse to a single set of relations or canonical sequence, and that’s part of what we mean when we say “the web as topology” or the “web as space”. Every walk through the garden creates new paths, new meanings, and when we add things to the garden we add them in a way that allows many future, unpredicted relationships

In the stream metaphor you don’t experience the Stream by walking around it and looking at it, or following it to its end. You jump in and let it flow past. You feel the force of it hit you as things float by.

It’s not that you are passive in the Stream. You can be active. But your actions in there — your blog posts, @ mentions, forum comments — exist in a context that is collapsed down to a simple timeline of events that together form a narrative.

In other words, the Stream replaces topology with serialization. Rather than imagine a timeless world of connection and multiple paths, the Stream presents us with a single, time ordered path with our experience (and only our experience) at the center.

There are no hard boundaries between these categorizations of tooling. They greatly overlap with one another depending on how they are used and extended by their respective tool-users. That is why I appreciated Tom’s addition of the campfire, which blurs the line between Garden and Stream.

Campfires – mostly blogging for me, though I know some folks gather around private Slack groups too. My blog functions as a digital campfire (or a series of campfires) that are slower burn but fade relatively quickly over the timeframe of years. Thinking out loud, self referencing and connection forming. This builds muscle, helps me articulate my thinking and is the connective tissue between ideas, people and more. While I’m not a daily blogger I’ve been blogging on and off for 10+ years.

  • Garden = Contemplative, bottom-up flow.
  • Streams = Declarative, linear flow.
  • Bonfires = Discursive, omnidirectional flow.

Your identity (ID) inhabits the places and behaviors which the Garden, Stream and Campfire represent, simultaneously experiencing and expressing itself through those outlets.

digital-metaphors By Lise

To my great delight, three new internet protocols are emerging as a communications triumvirate of great promise. In order of maturity:

The missing piece is an identity protocol, but we’re on the verge of figuring that out as well. Both Matrix and ActivityPub (currently represented chiefly by Mastodon) are adopting OIDC (OAuth), the Web2 standard for login.

Matrix’ progress can be tracked at https://areweoidcyet.com/ . Once complete, they will support logging in with Mastodon, among many other options.

Mastodon already supports OAuth 2, with ongoing discussion about improved SSO support and allowing Mastodon to be used as an OpenID provider.

On the horizon awaits OpenID Connect Federation and Self-Issued OpenID Provider.

Meanwhile, Noosphere is trying a brand new approach to fit its local-first, peer-to-peer paradigm: UCAN a Web3 login protocol that’s also been adopted by ATproto.

The requirements for centralized always-online identity and distributed local-first identity are very different, and thus not in opposition but rather complementary. I don’t want to keep my money in a flimsy USB drive — I’m messy! I like banks in their essence: Hold on to most of my money for me in your super secure (always-online) vault, and let me access it with my (local-first) formal ID.

Both the old and the new have their part to play on The Path to Self-Sovereign Identity


The Great Untangling:

This post is the preamble of a 5-part series called The Great Untangling. The following four posts have already been published and are linked below.

Meaning making

This year marks the 10 year anniversary of my mother's passing. I spent five of those years in relative isolation, and the other five in union with a soul mate, finding great wisdom and comfort in solitude as well as companionship. To honor my mother's simple yet timeless teachings of loving kindness, I am determined to make this year count. I am hungry for meaning-making, and I sense many others are too.

The past decade has left a profound mark on my identity. At 34yo, I am truly starting to make peace with who and what I am, happily shedding any personal attachments that do not resonate with my most fundamental self.

My personhood is expressed through my relationship to myself and the persons around me. I exist in the world to the extent that my being is experienced by others outside of myself. It’s relationships all the way down; links.

When it's my turn to journey to the other side, like my mother before me, I plan to travel light. Who I was will be defined not by the accumulated material possessions or accolades I leave behind, but by the genuine connections I made along the way, which will endure long past my lifetime.

Connective tissue

I've grown up in an unprecedented time of connective magic. Unlike my ancestors, I have known not tens, not hundreds, but thousands of people with whom I co-created something of value. Such is the power of the digital age. My deepest connections exist locally, offline. Yet many of those connections were initially mediated through the incredible connective tissue of the internet.

My life as a somewhat odd person would have been a profoundly lonely one had it not been for the online spaces where I found The Others; fellow weirdos interested in play-crafts like storytelling and game development, coupled with an obsession for openness as a means to digital emancipation. To most of the thousands of people I've come across in my two decades as a netizen, the digital expression of my persona is my entire persona. I hope to live long enough to engage in a physical handshake or even an embrace with many of my online friends, but I recognize that a large number of these connections will forever remain purely digital.

Therefore it is acutely important to me that my digital identity properly reflects my truest self. I want the people in my life to have seen and known the real me, regardless of whether they came into contact with my physical or digital being.

Identity prison

And therein lies my predicament: Ever since I first logged on to the internet, I've never had legitimate ownership of my own digital identity. My digital expression has always been mediated through some higher power. Sadly not of the paternal kind that intends to lift my spirit up until I can stand on my own.

No, for as long as I've lived my digital identity has been in the hands of an opaque and authoritarian power that intends to capitalize on my innate desire for expression by means of identity lock-in. The powers-that-be have been fairly benevolent, sure, but my independence is and never was their end-game.

This year, that is all going to change. It has to, for time is running out. With the help of numerous brilliant individuals I've connected with over the years, I'll be breaking free of the proprietary identity stack with which I’ve become so deeply entangled.

If you'd like to come talk the people working on this, you can join us on Discord. That might seem hypocritical, but we're starting our community on the app with the strongest networking effects. A Matrix bridge is soon to follow!


The Great Untangling:

A longform message written on Spicy Lobster's team chat in the winter of 2022.

The topic of loneliness has been on my mind a lot lately. At this moment I am on a train headed north towards my childhood home in Norway. The mother of a dear friend is dying, so I want to be there for her. Having lost my mother nearly a decade ago in my early 20s, I’ve had a lot of time to contemplate and process this inevitable part of life. It can be a profoundly lonely time, and can hardly be endured without helping hands.

Thanks to many teachers – like my parents, friends, partners, spiritual guides and psychedelic experiences – I am quite comfortable with the concept of death. It’s just another doorway we have to walk through as part of this wild ride of life we’re on.

Looking around, it could not be more obvious that there’s nothing final about death; it’s merely another stage in the cyclical process of all living things. From a seed in the ground a flower springs to life, only to return into the ground once more, transmuted into the soil from which new flowers will sprout. And encoded in the DNA of those flowers is a memory of all the flowers before them. There would be no new flower without the old, and as such they are one and the same. Death is not the end, but rather the beginning of the great unknown from which new life springs forth.

Similarly, my mother never really left. Her body is gone, but her embodiment of kindness is forever in the hearts and minds of anyone lucky enough to have been a recipient of her love. As one of her children I received it in abundance.


This community I am co-creating with all of you fine people is deeply informed by the practice of kindness passed down to me by my mother, which she imparted through actions more so than words. Simple acts of kindness speak volumes. The unending current of kindness connects us together, making us less alone.

Even so, however kind I am to myself and others, loneliness still creeps in sometimes. Lately I’ve been feeling it rather intensely, for a couple reasons.

For one, I’ve been reducing my intake of cannabis, which for the past decade has been a pretty remarkable wonder-drug for me. It has acted as a powerful tool for introspection, anxiety relief and mood stabilization, as well as inducing states of increased creativity and hyperfocus. I also thrive in solitude when I’m “high”. But for the past year, following increased consumption during the Covid pandemic, my body has begun rejecting the ‘medicine’ with bodily sensations resembling an allergic reaction whenever I consume it too frequently.

I’m actually quite excited about reducing my dependency on weed, as I’ve noticed myself for several years now becoming increasingly reliant on it in situations which I’d be better off facing with a clear mind. My catch-all coping strategy for any hardship in life turned into learned helplessness. So in an odd way it feels like my body is helping me do what my mind wanted, but was unable to enact by sheer will alone.

The other catalyst of loneliness of late has been a change in the dynamic between me and my life partner. Fully explaining the nature of our relationship would require a few too many paragraphs for this already long stream of thought, but in short: We’re still together and in love, but we are going through a separation of sorts in order to make room for, well, everything else. We’re several years into this slow and steady experiment and it feels as right as ever, but that doesn’t prevent it from sometimes being difficult, as it is for me now.

I’ve been single for most of my life and over time I’ve grown very comfortable with solitude, to the point where I frequently fantasize about heading off into the mountains to just be away from it all for several months. This recent surge of loneliness and longing for more human connections has challenged my idea of who I imagined myself to be. Turns out my ego felt safer yearning for disconnection rather than the opposite.

So what am I doing about it? I reach out. I ask for help. I talk to friends, daring to be vulnerable and open with them just as they’ve previously opened up to me before. I’ve started seeing a therapist for additional support. I pay extra close attention to what my body needs to feel good, which essentially comes down to eating mostly healthy food, plenty of rest and either low or high intensity exercise every day. I’ve never once gone for a walk and regretted it afterwards. Never.

And whatever feeling emerges in my mind, I don’t try to push it away. But I don’t identify with it either. Instead I try to heed the advice of a beloved teacher: Whichever thought arrives, invite it over for tea, and just sit with it in non-judgement.

I’m sharing all of this here because the mere act of doing so is helping me untangle my emotions, bringing me ever so slightly closer to equanimity. I’m sharing with all of you because relating to my experience might help untangle your own. And I’m sharing to make space for this type of personal venting, so others may share their hardships as well.

This community is made up of people from all walks of life, with some, like myself, far more privileged than others. As such our individual conditions of hardship differ greatly. But the experience of suffering is universal to all human beings, and no one deserves to suffer quietly and alone. A golden cage is a cage nonetheless; suffering is relative.

Just as we’ve connected through openly sharing our work with one another in pursuit of common interests, we can continue to deepen our connection by sharing our lived experience in pursuit of greater togetherness and belonging.

I love you all! ❤️

Modern apps have a lot of dark incentives. That is, unknown incentives, intentionally kept unseen from the public eye.

These secret incentives are not intrinsically bad, but they have a higher tendency to be misaligned with the needs of the general public, aka the users.

Neil Panchal described the problem succinctly in Dear Spotify. Can we just get a table of songs?

Back in iTunes Good Ol' Days™ edition, we'd get our search results in a list like this:

Stick something in the search bar. Get results in a list. Life is good. Clear, concise, dense, and most importantly: FUNCTIONAL. It works.

But, when I try to do nothing more than search in your shiny app, I get this:

The ensuing discussion on HN thoroughly reaffirms Neil’s take.

Bad UX by great designers happens when their design is not wholly in service of the user-experiencer. Spotify’s UI isn’t designed for user autonomy; rather, it’s designed to control user behavior.

Most modern applications, and practically all closed-source ones, are not intrinsically incentivized to give their users full autonomy. The app will decide for you what you want. If the app can control UX outcomes rather than merely facilitating them, the app controls the user and not the other way around. The app will optimize for the outcome of highest revenue.

More control over the user means more money. A predictable and suggestible user is a lot easier to monetize than an unpredictable and self-directed one.

Thankfully, Spotify’s subscription model doesn’t strongly disincentivize an open API, since they make money as long as their app API is used. Therefore, alternative clients do exist. However, their lenient approach to alt-clients might suddenly change if they deem it a bad business decision.

Absolute control over the user’s client interface means greater opportunity for profit, so other big subscription companies, like Discord for instance, strictly disallow alt-clients; probably because their particular subscription model (Nitro users) struggles with weak margins to hold up their massive free offering.

It seems the more ‘free’ an app is, the more antagonistic it will be towards the user, because in the world of free tech, the user is the product.

Look no further than Reddit. Its video player alone is a thing of brokenness legend, which has caused my computer-tablet material damage by overheating it and thus harming the battery. Ognjen Regoje provides a more detailed breakdown in Reddit's disrespectful design, further elucidated by its own HN discussion as well as a previous topic from a year before:

Ask HN: Why is Reddit on mobile so obsessed with making me use their app?

Reddit constantly hassles me to use their app on mobile.

Why do they care so much?

I really don’t want to use their app. I just wish they’d give up and let me use the browser in peace.

First response:

It is pretty offensive that they say “reddit works better on the app” when the only reason for that is that they broke everything on mobile (on purpose?) in a series of badly-implemented redesigns.

Former Reddit employees have confirmed that it’s on purpose, because of course it is.

Reddit’s proprietary app can extract way more data, it won’t let you block ads, and it can more effectively manipulate your attention with push notifications and other retention mechanisms. In short, it can exert more control over its users.

These apps don’t love you, but there’s no good reason why it cannot be so.

Are apps capable of love? Yes. Apps are made by human beings, and human beings are capable of love. Furthermore, we’re capable of expressing and transmitting love through all manner of technologies & techniques, like language, pictures, sounds, physical touch… software applications are certainly no different.

So why don’t our most widely used applications love us? Because they’re made by gargantuan, lifeless corporations, not people. Apps produced by companies so large that they’ve outgrown their humanity will do that.

Musings on the concept of ‘open source’, in the broadest possible definition of the term.

Also an invitation to become a participant in and contributor to The Commons: our common wealth of knowledge as conscious beings.

An expansive list of resources for further reading is provided in the Open Source Curriculum. This document is a synthesis of all the free teachings therein.

v1 of ‘Open Source Explained’ has been written by Erlend Sogge Heggen. I am often writing in the first-person. My aspiration is to write v2 as a collective rather than as an individual; please get in touch!


Table of Contents

What is open source?

The term ‘open source’ started in software development, but it is applicable to anything. If a thing is open source, first and foremost it means you have access to its source code — what makes that thing tick.

If a thing is open source, it means that the source code of that thing is available for insight and editing, and may even be copied, repurposed and shared with others under certain conditions.

Here is an open source recipe for making popcorn:

  • Put some cooking oil in a thin and shallow pot
  • Bring it to medium heat
  • Put a handful of dried corn into the pot
  • Gradually increase heat until the corn starts popping
  • Add any flavoring of your choice

That is a food recipe code. Everything in our knowable world is made up of some type of code, it’s not just computer programs:

Our music is composed of note codes.

Our judicial system is made up of legal codes.

Our government is a big ol’ pile of bureaucratic codes.

Our educational system abides by pedagogical codes.

Our DNA is one long genetic code.

Most dictionaries will give the impression that open source as a concept exists primarily for software, but that would be a massive waste of its potential. I did find one that I liked:

open-source ’ on Dictionary.com:

adjective

  1. (…)

  2. pertaining to or denoting a product or system whose origins, formula, design, etc., are freely accessible to the public.

Closed source is the conceptual opposite of open source:

closed source ’ on Dictionary.com:

noun

  1. intellectual property, esp computer source code, that is not made available to the general public by its creators.

In other words, closed-source products belong strictly to the people who made them, whereas open-source products exemplify various forms of collective ownership.

The Commons

The commons is a new way to express a very old idea—that some forms of wealth belong to all of us, and that these community resources must be actively protected and managed for the good of all.

The commons are the things that we inherit and create jointly, and that will (hopefully) last for generations to come. The commons consists of gifts of nature such as air, oceans and wildlife as well as shared social creations such as libraries, public spaces, scientific research and creative works.

Source: https://www.onthecommons.org/about-commons

Essentially, The Commons is the big, bottomless bag of things in the world that we all have equal ownership of.

I like to write it capitalized because it deserves the same legitimacy we give to our physical cities and countries.

Back in the Stone Age, the vast majority of things belonged to The Commons. Today it is no longer the default. Everything has been divided up as people’s property, some with obscenely much more than others.

Because of this grossly uneven distribution, it’s far too easy to perceive the world in terms of scarcity rather than abundance. The haves and the have-nots.

If you live in a world of scarcity, it makes sense to carefully guard any thing you have that can be considered valuable.

This is where software and the internet revolution performs one of the greatest magic tricks in history, by making certain forms of value creation incredibly cost-effective and scalable.

Openness according to software developers

In the world of computer code and software development, we contribute most commonly to The Commons by making our computer code open source. That means we are sharing the source – the inner workings – of our computer program, out in the open, for anyone to look at and remix.

This enables us to understand and change how our many digital and physical gadgets work. And when our gadgets are increasingly in control of our lives, this is a big deal.

The communities that have formed around computer code and its resulting software applications have become quite advanced in their discourse on ‘openness’, in large part because clear definitions of openness in code has major business applications $$$.

Thus, we’ve got specifications and protocols that describe varying degrees of openness in software, so that we may all collaborate with ease and move fast. It has made our industry eat up the whole world, nations and all.

The vast majority of software companies are built on the foundations provided by open source code. But most of these companies are profit-first rather than value-first. For the opportunists and profiteers, their involvement in open source practices is merely coincidental, not out of a sense of obligation to The Commons.

They’re not about progress for all, they’re just about progress for themselves.

If you want to go fast go alone. If you want to go far, go together.

~ African proverb

People in tech still have a lot to learn about openness as an innately human, emotional trait. Most of us got unusually comfortable with machines exactly because we had an easier time making sense of 1s and 0s than our selves and fellow human beings with our soft, squishy innards.

There’s a lot you shouldn’t learn from software developers. Most things in fact. But the practice of open source as it applies to your life and the world around you is a conceptual understanding you don’t want to be without.

Source code access

Having access to the source code of a thing means seeing exactly how that thing operates. Oftentimes those things are the products that we purchase when we play the role of consumer. We purchase these products – like a car, a house or a smartphone – believing we’ve made a payment in exchange for total ownership of a given product. But if you do not have access to the source code of the product you bought, you only have partial ownership of it.

For a house, that source code is its blueprint, construction specifications and list of materials used to build it.

Examples: wikihouse.cc, openbuildinginstitute.org

For a car it’s the many mechanical parts it’s made up of, what they all do and how they fit together. It’s also increasingly about the computer code that powers the car’s many microcomputers.

Examples: Open-source_car (Wikipedia), openmotors.co, Open Source Farm Machines (TED talk).

For a smartphone it’s the tightly intertwined combination of hardware and software. The source code of the hardware (everything from its exterior metal casing, all the way down to microchips the size of a fingernail) would be schematics of how these components are built. The source code of the software (the operating system, like Android or iOS, and the apps that run on top) is plain computer code, i.e. open source software.

Examples: Librem 5, Arduino, FairPhone.

Of course, all the things mentioned above are composites of other, smaller things, which in turn also need to be open source if you want true, 100% ownership. But it’s fine to make some concessions here, as long as our production chain doesn’t rely on closed black-boxes with a disproportionate amount of power.

(“How I built a toaster — from scratch” (TED talk) perfectly demonstrates the complexity of our modern production chains.)

The source code of everything

As members of society we have a legal right to insight into many of the things in our daily lives, albeit only a partial one in most cases:

  • Food contents
  • Garment fabrics
  • Building blueprints

Some things, commonly artifacts of knowledge, are nearly as open as they can possibly be already:

  • Wikipedia
  • Most scientific discoveries
  • Most religious scriptures
  • Books, music and films that have been released into the Public domain.

Your insight into these knowledge resources is unrestricted, but how you may re-make or re-purpose these resources is subject to formal or informal rules.

A book in the public domain is as open as it gets, because the text of the book is the source code.

By contrast, a musical composition is not yet as open as it can be if all you’ve got is a sound recording. You may be allowed to remix and share this particular recording in whichever way you’d like, but in order to play this musical composition with your own instruments and orchestra, you need the musical notes. In other words, the code of the music.

A gifted musician might be able to recreate all the notes of a sound recording simply by listening carefully to it, but they’ve effectively obtained access to those notes in spite of that composition’s lack of openness.

We do this in software as well. A program that is closed source can be ‘reverse engineered’ by closely studying its function and wholly remaking it anew, without any insight into the closed bits. A functional replica.

Understanding ownership is power

It’s important to understand the codes in your life, because your life is made up of them. Once you understand which codes you already have access to and even the right to inspect, you can see more clearly which other codes you ought to have insight into.

Most importantly, from my limited point of view as a digital native, we must be able to inspect our digital tools. Our apps and devices of daily convenience have become so advanced that they are extensions of our brains. Incredibly powerful, deeply embedded mind-extensions.

If we do not have clear insight into these devices, we are not in total control of our own minds.


From closed to open and beyond

Software developers have a clear distinction between ‘open source’ and ‘closed source’ software.

Open = source code is available and altering it is allowed.

Closed = source code is unavailable and altering is disallowed.

Distinguishing closed from open

Imagine yourself buying a beautiful compass, so you may traverse the world with greater ease.

If you are sold just a compass, you have received a closed source product. It works, but it is sealed shut and you do not know what goes on inside.

All you’ve got is this compass-gadget that will eventually break. And when it breaks, you’ve got two options:

1. Find the compass-maker and hope they’ll agree to fix it or give you a new one.

2. Make peace with no longer having a functional compass.

When the compass-maker is nowhere to be found, or a mutually fair trade could not be established, you’re left with the 2nd choice.

If the compass was merely used as a toy, you’ll get by fine. But if the compass was enabling you to do great things, and even more greatness would happen if more of your peers also had a compasses of their own? Well, then a big opportunity is missed by not having access to the product’s source code.

If the compass-maker gives you an unsealed compass and the instructions on how to make one yourself, you have received an open source product.

As it turns out, the compass-maker’s main innovation was making the compass look, feel and function more beautifully.

How to make a compass is already common knowledge. Anyone can make their own compass, for example with the following items:

  • Sewing needle about 1-2 inches long
  • Small bar magnet or refrigerator magnet
  • A small piece of cork (a flat piece from a wine bottle works but make sure it is cork and not plastic)
  • A shallow bowl
  • Pliers

With those items plus the linked instructions you can make your own compass. The extent to which you can re-make a compass that looks and functions exactly like the one you’ve bought comes down to how open that compass-product is.

Degrees of Openness

Continuing the compass story:

Example 1: Minimally open

Let’s say the compass-maker – henceforth known as the ‘artisan’ – tells you the following:

“Along with this fully functional compass, I have included the instructions on how to make your own compass. Your self-made compass will function according to the same exact fundamental principles as the compass I’ve sold you.

However! you do not get the instructions on how to make a compass that looks, feels and functions quite as well as the compass being sold.”

The artisan does this – as a perfectly rational actor – so that they won’t be without a job. The artisan spent a great deal of time learning and figuring out how to make the compass look, feel and function more beautifully. If they give away all the secrets of their craft without delay, these beautiful compasses will be so easy to re-make by anyone that there would quickly be no demand for the artisan’s wares.

Besides, the compass can still be opened up and taken apart to learn how exactly it works, i.e. by reverse engineering it.

Example 2: Very open

A somewhat more open version of this would be that the artisan says:

“Along with this compass I’ll give you the instructions on how to re-make the entire thing, down to the last notch.

However! Do me this courtesy: Only share these instructions peer-to-peer, one individual to another.”

Example 3: Maximally open

A fully open version of this would have the artisan saying:

“Along with this compass I’ll give you the instructions on how to re-make the entire thing, down to the last notch.

No strings attached. Please share this knowledge as widely as possible. You need not worry about me, because (...).”

Some product-makers can fill in the end of that sentence, others can’t. The constraint is usually not ingenuity, but quite simply the reality of current conditions. Not every product can be fully open upon initial sale whilst also sustaining its original invention and continued development.

At what point does a house that you supposedly “own” go from being ‘closed source’ to ‘open source’?

What does open source baking look like?

What does open source schooling look like?

…let that ball roll as far as it’ll go.


Origins of open software

A 5-minute history lesson on open software licenses and their tribes.

Before we can talk about the future of open source, we must attend to its past. The historical dramas of open source helps us understand what needs healing in order for us to move forward as a unified community again.

Software freedoms

The beginnings of what is now most commonly referred to as ‘open source software’ was an earlier movement that coined the term Free Software. While it’s mainly about free-ness akin to ‘free speech’ and not necessarily about being ‘free of charge’, the latter is almost always the case as well.

By the 1980s, almost all software was proprietary, which means that it had owners who forbid and prevent cooperation by users.

Source: https://www.gnu.org/gnu/gnu-history.html

In response to the prevailing trend of closed software, a group of liberal-minded technologists devised The Free Software Definition. Think of it as a “Declaration of Code Freedoms”. It goes like this:

A program is free software if the program's users have the four essential freedoms:

  • The freedom to run the program as you wish, for any purpose.
  • The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help others.
  • The freedom to distribute copies of your modified versions to others. By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Openness licenses

Along with these principles came the first standardized and open software licenses. That’s a piece of text that explains the conditions under which you may use and remix that software program.

A license can be created for anything, not just software. For a simple example we can look at the Creative Commons license, which is widely used for artworks like music and illustrations.

Here is the ‘Creative Commons Attribution 4.0 International Public License’ – or CC-BY for short – in its entire human-readable (not legalese) form:

You are free to:

  • Share — copy and redistribute the material in any medium or format
  • Adapt — remix, transform, and build upon the material for any purpose, even commercially.

The licensor cannot revoke these freedoms as long as you follow the license terms.

Under the following terms:

  • Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits.

Traditional companies selling closed-source software have their own company-specific licenses. The terms basically say: “You’re allowed to run this program, and that’s it. Don’t try to look inside or attempt to make any changes”.

The new breed of open licenses that sprung forth in the 80s on the other hand could be used by anyone, private or corporate. Just copy the text, include it with your code collection whenever you’re sharing it with someone and presto, you’ve applied a formal license-of-use to your software.

“Free software” means software that respects users' freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software.

Source: https://www.gnu.org/philosophy/free-sw.html

These principles and accompanying software licenses have been adopted by some of the most widespread software applications in the world. Chief among these are the Linux operating system (powers 95% of the internet’s servers, as well as all Android phones) and the WordPress website builder (powers 40% of all websites on the internet — second place is at about 5%).

The Free Software Foundation believes that all software should be free in accordance with the four essential freedoms. It’s an honorable aspiration, but it’s been proven unfeasible in our current model of society.

Selling a free thing

While products like Linux and WordPress are free for users to study, run, change, copy and distribute, they are still run as major commercial projects. In the case of these projects it’s relatively easy to balance complete openness with commercialization, because these are server applications. As such, it’s easy to turn them into services that run on privately controlled servers that charge users for access.

WordPress.com will happily let you set up your website without a single mention of it actually being powered by free software that you could operate on your own computer should you choose to do so — but honestly you should just use their service instead, it’s much easier. The openness of their product means you can take your whole website and leave whenever you’d like, should their serviced alternative ever turn bad. You can see how this is an incredibly powerful consumer protection.

It’s quite telling that while Linux has over 95% market share on servers (the place where all the cat pictures are stored and streamed out from), while its market share on desktops (PCs & laptops) is a dismal 2%.

Free and open source software is increasingly dominant on the world wide web, but closed software still rules supreme on all the devices in our homes. That’s because it’s incredibly hard to commercialize free software that just lives on your device, rather than in some server you need to connect to.

That’s not to say these projects aren’t amazing; they are. Probably the greatest indicator of how these projects are different from your average corporate behemoth is how there is no “Linux Company.” or “WordPress Company”. Instead there’s the Linux Foundation and the WordPress Foundation, both of which are comprised of large consortiums of companies with common interests.

An unprecedented feat of global collaboration in service of a shared commons.

Freedom vs Openness

In 1998 the Open Source Initiative was founded, effectively as a spinoff of FSF.

The conferees believed the pragmatic, business-case grounds that had motivated Netscape [the precursor to Mozilla Firefox] to release their code illustrated a valuable way to engage with potential software users and developers, and convince them to create and improve source code by participating in an engaged community. The conferees also believed that it would be useful to have a single label [open source] that identified this approach and distinguished it from the philosophically- and politically-focused label “free software.”

Source: https://opensource.org/history

The OSI branded itself as more pragmatic and business-friendly. They did not share the FSF’s fundamentalist view that absolutely all software should be freely available under the same stringent terms. The founding members of the OSI wanted to enable the release of software with a mix of open and closed source code.

Along with a list of OSI-approved licenses, they drafted The Open Source Definition.

It is important to note that this is not the definition for ‘open source’. There is no central authority for the term, so there is no official definition. No one can claim to own the term ‘open source’, just like no one can lay a claim to words like ‘swimming pool’ and ‘computer’.

Fast forward to 2020: The grand total of OSI-style licensed software now far outweighs FSF-style licensed software, proving that there was indeed a greater appetite for more permissive software licensing that doesn’t prevent you from coupling your open source application with some sort of commercial layer.

Open source is on the rise, but if we stop innovating on open source licenses now we’ll be doing ourselves a great disservice. OSI and FSF are both winners. Both can point to multi-billion dollar industries built around the principles and foundations they have set forth. We also wouldn’t have the trillion-dollar companies of today if they weren’t supercharged by free and open source software, but that’s not really a point in their favor; quite on the contrary.


Open Source is a privilege

Privilege has a strong correlation with openness.

With greater privilege comes greater capacity for openness.

Sadly, not all people with great privilege make use of that extra capacity.

On the other hand, for some greatly unprivileged people, openness is their only choice. In the face of violence and death, openness becomes the only reasonable thing left to do.

When openness is vulnerability

If open source is just an obviously better way to build products, companies and governments, why aren’t we doing more of it already?

Simple: It’s really scary to be open. It can even be legitimately dangerous. Sharing a part of yourself in the open makes you vulnerable. A part of your soft underbelly is exposed.

Openness is the willingness to tell people your story.

Vulnerability is your willingness to let others be part of it.

Melissa Joy

The fear of loss, in one form or another, is the motivator behind all conscious and unconscious dishonesties: all of us are born to be afraid of loss, in all its forms, all of us, at times, are haunted or overwhelmed even by the possibility of a disappearance, and all of us therefore, are but one short step away from dishonesty.

~ David Whyte, Honesty

If you’re a company, you’re not supposed to have any vulnerabilities.

If you’re a person, you might have experienced feelings of hurt that you’ll avoid at almost any cost.

Being 99% open is an immense privilege. I’m personally in this position because I’m exceedingly safe. Economically, emotionally, politically, spiritually… My Maslow pyramid is all filled up.

In a kinder, more compassionate world, I think one’s degrees of personal openness could look like this:

  • 99% open with life partner(s)
  • 90%: closest friends and family
  • 80%: the general public

But for most people, it’s much lower than that. My most conservative guesstimate might still be a far too hopeful one:

  • 90%: life partners
  • 80%: closest friends and family
  • 10%: general public

And I’m not talking about whether your partner knows what you had for breakfast every single day of your life. I’m talking about the extent to which they know the fullness of your character.

I have the immense privilege of not having to obfuscate or lie about my age, work, salary, gender, sexuality, skin color, ethnicity, nationality, politics or religion – to the general public! For the vast majority of people, at least one (often many) of these identifications is something they are not at liberty to talk openly about.

I can reveal just about anything about myself (but no, you may not have my credit card information) because I have no enemies. Sadly, a lot of people can’t say that.

Most people, corporations or products can’t be entirely open, because it would make them too vulnerable. Their enemies would find a way to hurt them through that opening.

Thankfully, modern companies are finding ways to incorporate their openness into their holistic business model. They’ve devised ways to turn openness into a competitive advantage.

Human beings have been working on this openness thing since we first started consciously communicating a million years ago, and we are getting vastly better at emotional openness with every generation. People 10 years younger than me tend to be more open-hearted than people 10 years older than me.

Distributing privilege

Making the rich even richer was definitely not part of the original ethos of the open source movement. Most open source software has been built on the backs of people enjoying privileged lives with an abundance of free time to satiate their intellectual curiosities. Volunteer value contribution also helps lessen the guilt induced by being in the group of people who just lucked out with the life-ride we were put on.

That’s not to say sacrifices haven’t been made. Open source is also built on contributor churn; burnout.

We can’t have a movement that grew out of privilege and suffering become an amplifier of more privilege for those who already have the most, and more suffering for the underprivileged! That’s a very bad look for us aspiring movers. And it would make obvious that what we thought of as “intellectual curiosities” might’ve just been ’pretending to be intellectuals by making up puzzles for ourselves to solve’.

How much of our “progress” is really just little distraction machines that we built to keep our brains from going too quiet and introspective.

We will know our movement is succeeding if we are contributing to privileged wealth being widely and equitably distributed. We will know we have failed if the status quo remains unchanged, and the powers-that-be remain comfortably seated.


Updating the rule books

If we treat the definitions of old as holy texts that shall never be revised, we will be stuck with old, dogmatic ideas that cannot stand the test of time.

This is already painfully evident in the OSI’s Open Source Definition. In pursuit of simplicity, their definition chooses not to deal with some common philosophical paradoxes, such as discrimination.

Can I stop “evil people” from using my program?

No. The Open Source Definition specifies that Open Source licenses may not discriminate against persons or groups. Giving everyone freedom means giving evil people freedom, too.

Source: https://opensource.org/faq#evil

Open Source as a Force For Good

..and the open source nazi problem.

So we’ve made this beautiful new cog that makes various types of machines faster. At first it’s great. People’s machines of LOVE❤️ are running faster than ever, generating and disseminating more love for all.

Then, a HATE🤬 machine starts using our cog to spread its hate faster. We want to tell the makers of that terrible machine:

“NO! This invention is not for you. We do not support what you are doing with our cog. We hereby revoke your right to use it.”

But we can’t say that. We relinquished that right when we started distributing our cog under an open source license (in accordance with the OSI definition).

The act of inaction

The cog story doesn’t need to be told in the abstract. Discourse was faced with this exact conundrum, as have most other open source projects that reach widespread use. The free, self-hosted version of Discourse was put in use (they’ve since switched platforms) by one of the most prominent white supremacist, neo-nazi communities in the world. And because of our GPLv2 license, there was only one course of action available to us: Do nothing.

Is it enough for the open software movement to stand for nothing else than openness as an absolute? Is openness on its own enough of a force for good that we can justify keeping the definition of open source as simple as it is? I’ve long since stopped believing that.

When a tool I helped make is turned against my friend with malicious, even murderous intent, and my friend asks me “why are you letting them use your tool this way?”, I will no longer respond “because that’s how open source works” as if that sufficiently explains it.

Abolishing machines of hate

Remember that cog we made? Let’s say our cog is deployed in 1,000,000 LOVE❤️ machines, and 100 HATE🤬 machines. If we can come up with a way to exclude only those 100 machines of hate, without impinging on the freedoms of the 1 million machines of love, shouldn’t we do that?

Even if we have to leave a few of the less egregious hate machines running just to avoid an overreach, abolishing most of them would still be a huge win for both ethical openness and social justice.

Aspirations of free speech

Do you want to live in a society where no one is discriminated against? I sure do! Here’s the problem: In order to deter harmful discrimination, it is necessary to discriminate against those who mean harm. This is called the paradox of tolerance.

https://www.tumblr.com/thoughtportal/706351382414917632

Holding a paradoxical idea in our brain can be a little bit painful, but it’s worth it, and it’s nothing new. Nations across the world have decided it’s not that simple when it comes to Free Speech.

Even this beautifully succinct principle — which arguably leans heavily towards good — still comes with some very necessary exceptions. We disallow hate speech, or at least we try to. And if you want to disseminate information about something that can be damaging if done in excess, such as tobacco or alcohol, we have strict rules for how you’re allowed to advertise such information (though of course the rules vary depending on your place of residence).

Free speech isn’t an absolute, it’s an aspiration. We aspire to uphold the principle of free speech to its logical extreme, while acknowledging that abusive applications of this principle must necessarily be limited. We can’t have free speech in the absolute before we’re living in an absolutely hate-free society.

The same applies to open source. We need to get our hands dirty and re-imagine our open licenses for a world where technology does not exist in a vacuum.

Technology is not neutral [1][2]. Nor is open source. The very act of releasing a collection of source code into The Commons under a particular license is undoubtedly political.

Simplicity is always worth striving for, but not at the cost of dogmatic ideology.

Embracing complexity

There is only one quote short and memorable enough for me to remember it verbatim:

“I didn’t have time to write you a short letter, so I wrote you a long one.”

~ Mark Twain, and a bunch of other people

First we have to address the complexity of our diverse realities. Then we can gradually work our way down to simpler, more universal truths. Start with a long letter, then shorten it down to its essentials.


The Future of Open Source

It’s actually open source that’s eating the world’.

Open source has won’.

Commercial Open Source Software is very much a thing.

Yet the movement is divided across tribal lines. The clearest line in the sand is drawn by license factions — people of different belief systems rooted in software licenses. Open software developers sort themselves into tribes defined by whichever software license and parent organisation they identify most with.

The perceived separation between us happens because we fall into the trap of thinking “the freedoms (license conditions) that worked well for me must work for every other person”.

The traditionalists say “we don’t need more open software licenses!”.

The radicals say “we need as many well-written open licenses as we can possibly get our hands on!”.

Author’s note: I suppose I belong with the radicals, though I do not consider my stance to actually be radical in the slightest, since license diversity is very much in line with the spirit of open source development. And I’m definitely not looking to pick a fight, or take a piece of anyone else’s pie. I wanna help make the pie bigger for everyone. We must shed our scarcity-mindset and champion openness as a single tribe.

Freedom-of-ownership Fighters

In the last few years we’ve been seeing a new strain of open source licenses emerge. Traditionalists do not agree with me calling these licenses ‘open source’, but that seems like the most apt description to me. I’ve offered up two of my own tiny definitions of open source in the introduction of this book. Here they are again, remixed into a single definition:

Open source is the sharing of the source – the inner workings – of our things; out in the open, for anyone to look at.

If a thing is open source, it means that the source code of that thing is available for insight and editing, and may even be copied, repurposed and shared with others under certain conditions.

There is a great deal of experimentation going on among those who interpret the meaning of open source along these lines. Here are some examples:

Anti-overwork, Pro-wellbeing license

The 996 license was drafted by Chinese developers, aimed at disrupting “996 culture”, a 12-hour, six-day work schedule common among startups around the world.

Anti-capitalism, Pro-equity license

The Anti-Capitalist Software License lets you do whatever you want with the software, as long as it is not for capitalistic purposes.

Anti-competition, Pro-business license

The suite of PolyForm licenses are different variations of “non-commercial users can do whatever; commercial users must make a deal with us”.

Anti-evil, Pro-good license

The Hippocratic License lets you do whatever you want with the software, as long as you are in “Compliance with Human Rights Principles and Human Rights Laws” as set forth by the United Nations.

Most excitingly, these licenses are human-centric, as opposed to the extremely code-centric licenses of the previous decades. Many of these new licenses have not been tested legally and may not hold up under closer scrutiny and real world use, but the ideals they aim to uphold are very necessary additions to the open source licenses of the future.

Rediscovering simplicity

There is a singular condition that necessarily precedes all other definitions and principles for free and open software: Source code availability.

Did you notice how the four freedoms keep saying “Access to the source code is a precondition for this [freedom].”? We just don’t get very far without source code access.

This particular freedom is special:

The freedom to study how the program works, and change it so it does your computing as you wish. Access to the source code is a precondition for this.

Unlike the other ‘freedoms’, insight is not just a legal story, it’s the difference between knowing and not knowing. When we have insight, we have unlocked the possibility to do whatever we want with this code, legal or not.

If running some code would assuredly save a life, I have a moral obligation to run that code, even if I am not legally allowed to run it.

When the source code of an application is available for view, the most important job is done. The black box has been cracked open and added to the permanent archives of The Commons. The conditions may say “for viewing purposes only; no editing, copying, remixing or redistributing allowed”, and we will play along, provided the rules of the game seem fair at the time.

Open source codes exist on a spectrum of openness. We can’t quite seem to agree what openness taken to its logical extreme should ideally look like, but the modest beginning on the other end is simple and clear-cut:

Open access to the source code of your thing.

On the spectrum of openness

Open source codes exist on a spectrum of openness.

Source: https://podcast.sustainoss.org/76

We can’t quite agree on what openness taken to its logical extreme (maximally open) should ideally look like. Is the MIT license (or its modern alternative, Blue Oak) the most open, since it allows practically everything? Or is the GPL more open, because it enforces continued openness downstream?

I don’t know the answer. But the modest beginning on the other end of the spectrum (minimally open) is simple and clear-cut: Open access to the source code.

As such, source code availability is the singular condition that necessarily precedes all other definitions and principles for free and open software. It is where the switch from closed to open happens, and the difference is literally night and day.

Source-available is the beginning, not the end

I’ve no idea how much more closed source software is running in the world compared to open source, but I’m guessing closed software is still in the overwhelming majority, to the tune of 70-90%. We can’t really know, because closed software is by definition kept secret from us.

Let’s say closed source software currently makes up 80% of all software, and open source software (including ‘free software’) makes up the remaining 20%.

Can we all agree that a great first step would be to turn the biggest possible chunk of that closed 80% into source-available code? Once we have insight into most of that 80%, we can commence our bickering over how much more open all these source codes ought to be. The steady march towards sustainable, maximal openness continues.

Source-available licenses are not encroaching on the market share of open source. For applications like Defold, Aseprite or EPPlus (listen to their story), traditional open source licensing simply wasn’t an option for them. Thankfully, source-available licensing enabled them to still exist on the spectrum of openness, rather than having to be yet another closed black-box for the sake of sustaining their project.

Right to insight

The ability to inspect the thing you’ve paid for (whether with money or your data) should be your right as a member of society, just like you already have a right to know the contents of the food you eat and the garments you wear.

It’s especially important that you have insight into the most mind-altering applications in your life: Social Networks, AI, games…

Imagine if Facebook, by law, had to publicly share all their social engineering codes (algorithms and data collection methods) 3 years after they’re first put into active use. If they did something unethical in their codes we wouldn’t know right away, but three years later we would. Setting this up in such a way that they can’t wiggle out of their commitment 3 years later is technically very easy to do.

Do you think Facebook would treat you to the same, inhumane algorithm codes and data collection codes they do now, if they knew we’d have complete insight into those codes 3 years from now?

Facebook and most apps like it can’t be fixed without moving away from their ads-based business model by eradicating ads entirely and charging by subscription, but many of the dangers it poses to our society in its current form can be made harmless by cracking its black boxes open.

Taking back ownership

I expect we’ll eventually have the equivalent of a ‘Fair Trade’ certification for ‘Open Source things’, starting with software and smart-devices, but ultimately every single thing we are able to assemble. When that comes, I strongly recommend that you only use the Open Source stuff whenever it’s available and of reasonable quality. And if your favorite app or gadget isn’t open source, campaign for that to be the case.

Just ask:

  1. Is this application open source?

  2. How open is it?

Take ownership of the technology that is becoming increasingly embedded into your life and the very fabric of your being.

My biggest hope is that you’ll take the extra step, and get directly involved.

Joining the contribution chain

I can’t think of anything more fun and gratifying than building something beautiful together with other like(but-not-same)-minded people. The open source projects I’ve worked with have always felt a whole lot more meaningful to work on than anything veering too far from the open source ideals. Open source practices mesh very well with intrinsic motivation.

It’s not hard to see how our

  • Facebooks and Amazons,
  • Googles and Microsofts,
  • Apples and Samsungs,
  • YouTubes and Tiktoks,
  • [insert yours]

…would be a lot better for us and for the world if most of a company’s codes were auditable by the public.

And it’s not just about computer codes. Companies also have culture codes, legal codes, ethical codes, financial codes and many more.

We need to demand insight into all of it. Whatever your nerdy interest might be, there will be codes for you to scrutinize.

Any mega-platforms that are beyond repair we’ll just have to re-make ourselves.

As our society’s collective understanding of user-owned data and tools for self-assembly improves, we appear to be reaching an ever-higher consensus on openness and transparency as a great way to fight greed and corruption.

We understand intuitively that we want openness in our technology just as much as we want openness in our personal relationships, as well as our politics, economics, education and other grand-system inventions that deeply influence our lives.

I’d very much like the 2020s to be the decade when we decided to hold products, companies and governments to a higher standard, and restored majority-ownership to The Commons.

Open Product Recipe

How to turn an open source product into a commercial challenger is no longer a mystery.

All other things being equal, an open source product is objectively better than a closed source alternative, due to its accessibility and reduced lock-in. And it will be continuously better going forward, because an open product inherently invites greater product innovation.

A closed product simply doesn’t get as many minds involved in the act of product development, thus stagnation is an inevitability.

The challenge for an open product is to build a business that can sustain continued product development whilst incentivizing continued openness. By now the most basic recipe for making a successful Commercial Open Source Software company is quite straightforward:

  • Have some domain knowledge and a real itch for improving the status-quo of that domain.
  • Identify the most successful closed-source product in that domain.
  • Replicate the core offering of that closed-source product as an open product.
  • Make a better product by means of open source methodology and complaint-driven development.

If your product is at least as-good as the closed-source incumbent where it really matters (80/20 principle), you’ve secured yourself a minimum of customers who will prefer your product solely on the merit of its openness and lower lock-in. That on its own is never enough to become truly competitive with the incumbent, but it’s enough to get a solid footing.

I’m not advocating for cheap knock-offs here. I’m talking about legitimate iterations in pursuit of product improvement. The vast majority of closed source products would not exist without their open source foundation, and some even came into existence as a reaction to an open incumbent that had failed to capitalize on its early success, like Slack succeeding IRC.

No going back

This strategy of core-product replication is now being used successfully by many COSS Companies to carve out a space for themselves in a contested market.

  • WordPress vs Movable Type
  • Discourse vs VBulletin
  • Mattermost vs Slack
  • Strapi vs Contentful
  • GitLab vs GitHub
  • MeiliSearch vs Algolia
  • Baserow vs Airtable
  • Sentry vs New Relic
  • PostHog vs Amplitude

It’s quite telling that this doesn’t happen the other way around. Once a product-archetype has been “broken open” by means of an open product achieving dominance, it’s incredibly hard for closed challengers to gain back any meaningful ground in that market segment.

Ever since WordPress displaced Movable Type as the go-to website builder, open source has remained the default in this industry, with WordPress firmly on top. The only way to challenge WordPress in the website builder game (blogging is different because it relies on networks, so closed platforms have made inroads here) is by making an equally open alternative with a novel take on the same problem. Strapi is an example of this.

Of the companies listed above, some have already become market-leaders, while others are well on their way. There are also those who won’t make it, but, in time, another open alternative surely will; in no small part thanks to its open predecessors. The more the merrier!

Business models for open products

There’s no one-size-fits-all for sustainable, open product development. Models differ depending on product segment (e.g. infrastructure vs application products) and values (company-run vs community-run). But it all boils down to the same thing:

Dare to build in the open.

I don’t care which model you pick. As long as your mission is to open up something that is currently closed, I wholeheartedly support your endeavor and will gladly respond if you reach out to me.

Unconditional giving

Unconditional love is not fully possible. Unconditional love is the necessary, dream-like, and invisible shoreline that continually draws us to its edge but where we can never fully arrive. (…)

The only path possible is to give our self unconditionally to the conditionality of each overwhelming, disturbing and rewarding guise of love.

~ David Whyte

At its most basic, open source is a great delivery mechanism. Making something free – in the widest sense possible – is the best way to get your product in front of people, whether it’s a thing or a thought or something else entirely.

At its very best, open source is our honest attempt at unconditional love, as part of a gift economy. There can be a great number of other motivations involved, like skill improvement, resume building, professional networking, making friends.., but one of the motivations mixed in there is the act of giving, and doing so unconditionally.

You get to say:

Here you go world, have some unconditional love.

To whoever’s heart is warmed by this humble gift:

I’m glad my free bits of love found someone.

This act of unconditional gifting induces a feeling everyone should experience. It can warm and sustain a heart through cold winters.

Unconditional love really exists in each of us. It is part of our deep inner being. It is not so much an active emotion as a state of being. It's not 'I love you' for this or that reason, not 'I love you if you love me.' It's love for no reason, love without an object.

~ Ram Dass

Please enjoy the free bits.

The term ‘open source’ started in software development, but it is applicable to anything. If a thing is open source, first and foremost it means you have access to its source code — what makes that thing tick.

If a thing is open source, it means that the source code of that thing is available for insight and editing, and may even be copied, repurposed and shared with others under certain conditions.

Here is an open source recipe for making popcorn:

  • Put some cooking oil in a thin and shallow pot
  • Bring it to medium heat
  • Put a handful of dried cord into the pot
  • Gradually increase heat until the corn starts popping
  • Add any flavoring of your choice

That is a food recipe code. Everything in our knowable world is made up of some type of code, it’s not just computer programs:

Our music is composed of note codes.

Our judicial system is made up of legal codes.

Our government is a big ol’ pile of bureaucratic codes.

Our educational system abides by pedagogical codes.

Our DNA is one long genetic code.

Most dictionaries will give the impression that open source as a concept exists primarily for software, but that would be a massive waste of its potential. I did find one that I liked:

open-source ’ on Dictionary.com:

adjective

  1. (…)
  2. pertaining to or denoting a product or system whose origins, formula, design, etc., are freely accessible to the public.

Closed source is the conceptual opposite of open source:

closed source ’ on Dictionary.com:

noun

  1. intellectual property, esp computer source code, that is not made available to the general public by its creators.

In other words, closed-source products belong strictly to the people who made them, whereas open-source products exemplify various forms of collective ownership.

The Commons

The commons is a new way to express a very old idea—that some forms of wealth belong to all of us, and that these community resources must be actively protected and managed for the good of all.

The commons are the things that we inherit and create jointly, and that will (hopefully) last for generations to come. The commons consists of gifts of nature such as air, oceans and wildlife as well as shared social creations such as libraries, public spaces, scientific research and creative works.

Source: https://www.onthecommons.org/about-commons

Essentially, The Commons is the big, bottomless bag of things in the world that we all have equal ownership of.

I like to write it capitalized because it deserves the same legitimacy we give to our physical cities and countries.

Back in the Stone Age, the vast majority of things belonged to The Commons. Today it is no longer the default. Everything has been divided up as people’s property, some with obscenely much more than others.

Because of this grossly uneven distribution, it’s far too easy to perceive the world in terms of scarcity rather than abundance. The haves and the have-nots.

If you live in a world of scarcity, it makes sense to carefully guard any thing you have that can be considered valuable.

This is where software and the internet revolution performs one of the greatest magic tricks in history, by making certain forms of value creation incredibly cost-effective and scalable.

Openness according to software developers

In the world of computer code and software development, we contribute most commonly to The Commons by making our computer code open source. That means we are sharing the source – the inner workings – of our computer program, out in the open, for anyone to look at and remix.

This enables us to understand and change how our many digital and physical gadgets work. And when our gadgets are increasingly in control of our lives, this is a big deal.

The communities that have formed around computer code and its resulting software applications have become quite advanced in their discourse on ‘openness’, in large part because clear definitions of openness in code has major business applications $$$.

Thus, we’ve got specifications and protocols that describe varying degrees of openness in software, so that we may all collaborate with ease and move fast. It has made our industry eat up the whole world, nations and all.

The vast majority of software companies are built on the foundations provided by open source code. But most of these companies are profit-first rather than value-first. For the opportunists and profiteers, their involvement in open source practices is merely coincidental, not out of a sense of obligation to The Commons.

They’re not about progress for all, they’re just about progress for themselves.

If you want to go fast go alone. If you want to go far, go together.

~ African proverb

People in tech still have a lot to learn about openness as an innately human, emotional trait. Most of us got unusually comfortable with machines exactly because we had an easier time making sense of 1s and 0s than our selves and fellow human beings with our soft, squishy innards.

There’s a lot you shouldn’t learn from software developers. Most things in fact. But the practice of open source as it applies to your life and the world around you is a conceptual understanding you don’t want to be without.

Source code access

Having access to the source code of a thing means seeing exactly how that thing operates. Oftentimes those things are the products that we purchase when we play the role of consumer. We purchase these products – like a car, a house or a smartphone – believing we’ve made a payment in exchange for total ownership of a given product. But if you do not have access to the source code of the product you bought, you only have partial ownership of it.

For a house, that source code is its blueprint, construction specifications and list of materials used to build it.

Examples: wikihouse.cc, openbuildinginstitute.org

For a car it’s the many mechanical parts it’s made up of, what they all do and how they fit together. It’s also increasingly about the computer code that powers the car’s many microcomputers.

Examples: Open-source_car (Wikipedia), openmotors.co, Open Source Farm Machines (TED talk).

For a smartphone it’s the tightly intertwined combination of hardware and software. The source code of the hardware (everything from its exterior metal casing, all the way down to microchips the size of a fingernail) would be schematics of how these components are built. The source code of the software (the operating system, like Android or iOS, and the apps that run on top) is plain computer code, i.e. open source software.

Examples: Librem 5, Arduino, FairPhone.

Of course, all the things mentioned above are composites of other, smaller things, which in turn also need to be open source if you want true, 100% ownership. But it’s fine to make some concessions here, as long as our production chain doesn’t rely on closed black-boxes with a disproportionate amount of power.

(“How I built a toaster — from scratch” (TED talk) perfectly demonstrates the complexity of our modern production chains.)

The source code of everything

As members of society we have a legal right to insight into many of the things in our daily lives, albeit only a partial one in most cases:

  • Food contents
  • Garment fabrics
  • Building blueprints

Some things, commonly artifacts of knowledge, are nearly as open as they can possibly be already:

  • Wikipedia
  • Most scientific discoveries
  • Most religious scriptures
  • Books, music and films that have been released into the Public domain.

Your insight into these knowledge resources is unrestricted, but how you may re-make or re-purpose these resources is subject to formal or informal rules.

A book in the public domain is as open as it gets, because the text of the book is the source code.

By contrast, a musical composition is not yet as open as it can be if all you’ve got is a sound recording. You may be allowed to remix and share this particular recording in whichever way you’d like, but in order to play this musical composition with your own instruments and orchestra, you need the musical notes. In other words, the code of the music.

A gifted musician might be able to recreate all the notes of a sound recording simply by listening carefully to it, but they’ve effectively obtained access to those notes in spite of that composition’s lack of openness.

We do this in software as well. A program that is closed source can be ‘reverse engineered’ by closely studying its function and wholly remaking it anew, without any insight into the closed bits. A functional replica.

Understanding ownership is power

It’s important to understand the open source codes in your life, because your life is made up of them. Once you understand which codes you already have access to and even the right to inspect, you can see more clearly which other codes you ought to have insight into.

Most importantly, from my limited point of view as a digital native, we must be able to inspect our digital tools. Our apps and devices of daily convenience have become so advanced that they are extensions of our brains. Incredibly powerful, deeply embedded mind-extensions.

If we do not have clear insight into these devices, we are not in total control of our own minds.

Every space starts the same way:

Silence.

At this point there’s only one thing to do:

Remain quiet, and listen.

Eventually, someone’s gonna say something.

Be seen.

Be heard.

But there’s no rush.

When in doubt, wait.

Do nothing; merely observe.


I love this stage of any new space.

It may be a space you and I are inhabiting in a physical sense.

But much more commonly nowadays, it’s a virtual space of some sort.

Like a room in some chat platform. A personal message.

This moment when nothing has yet to be said is a thing of beauty.

From the vantage point of silence, there is infinite possibility.

In silence, there’s no judgement, no otherness, no separation.

It’s just us, inhabiting this space together, with all the time in the world.

In this nascent stage of a space,

past, present and future have no bearing on your character.

What parts of your current self will you choose to bring forth into existence?

What part of your character can you offer up as a gift, rather than a threat?


We’ve opened up this space for the two of us to discover our common ground.

That’s the hard part already over and done with.

We made the connection.

Now we may learn how to best relate to one another.

Beginning with silence.