Thoughts & Highlights from Reading Working in Public.
Working in Public is ostensibly about Open Source Software and how the ecosystem of creation and maintenance works. Like all good books written about about a niche topic it’s actually about a wider topic; how people create and interact with their audiences online. As a corporate programmer I was interested in the former and as member of the Marginal Revolution reading class the latter.
This isn’t a review per se, it’s my thoughts and highlights from reading the book. You should read this if you are interested in how Open Source works from an individual contributor’s perspective or if you are interested in how people create online.
This will be required reading for PMs at Patreon, Twitch, OnlyFans and Github.
Chapters 1, 2 and 3 describes the models used to explore Open Source contributions. These chapters reward slow reading, I ended up reading a section (10 to 15 pages) a day so that I could internalize the models. The editing is very tight so there’s no section that you can breeze through.
I expect the taxonomies in Part 1 to be cited frequently going forward. The types of Open Source projects (stadium, club, toy, federation) is the one I’ve seen referenced the most. For me the generational difference between early hackers and modern developers was especially striking. One of the few images in the book is Linus flipping closed source software the bird in contrast with Sindre Sorhus cuddling with puppies.
These chapters give a convincing explanation of what motivates individual contributors to Open Source. Ignoring her credentials of working at Github, the book is rife with citations and anecdotes with 369 citations for 225 pages. Large block quotes from contributors are on every page. I work with open source every day and she cites a mix of large well known projects, medium sized projects and small ones I’ve never heard of. As a programmer who’s open sourced code (toys in her vocabulary) on occasion I can attest how accurately she describes the urge to create fits reality. As someone who’s read Open source PRs and archived mailing lists and uses Open Source extensively at work her facts and theses match.
The models of active vs passive users, health metrics for projects and types of contributors generalize outside of OpenSource.
Unlike the first 3 chapters the Chapters 4 & 5 are best enjoyed in a single sitting each. Chapter 4 “The Work Required by Software” uses the previously developed models to explain everything required to make software and keep it going. Just reading these 30 pages would be a more valuable than 90% of what I did in my Software Engineering classes.
A non-technical VP would gain a lot of insight into how the development parts of their org works by reading Cahpter 4
Chapter 5 is where she generalizes the models implied by Open Source to other online creator’s problems of managing over-participation and making money. Her generalized model fits the facts as I know them. I’ve been listening to podcasts since 2008, support a half dozen artists on Patreon and recently subscribed to Substack. I checked with friends who use Instagram and Twitch and her description of how they are used also matches. I would love to hear the views of a producer on the models though.
I can easily see this book being cited over the next 10 year for ‘how creators work online’.
The following 4 pages are lines I highlighted with my notes from my hard copy of the book. I transcribed all of these, so any errors are mine. It’s the first time I’ve regretted buying a hard copy of a Stripe book :)
p7 And so, in the late twentieth century, when murmurs of the internet began to hum to an audible roar, they carried with them all the qualities of our harmonious never-gonna-give-you-up infatuation with the unconstrained spread of knowledge
p23 Code, like livestock, needs liberation from humanity, even at the expense of personal convenience
p23 hackers believe in sharing, openness and decentralization
p24 Hackers are characterized by bravado, showmanship, mischievousness and a deep mistrust of authority. Hacker culture still lives on today, in the way that beatniks, hippies, and Marxists still exist, but hackers don’t capture the software cultural zeitgeist in the same way that they used to.
p28 If Github is like Facebook, SourceForge was the Myspace of code-hosting platforms
p33 The fact that today’s developers don’t just use, but actively prefer, GitHub suggests a different set of values from previous generations… They just want to make things, and sharing a natural byproduct of these efforts
p39 Stallman resigned from his positions at MIT…people on both sides of the issue, noted that Stallman’s comment’s… weren’t unusually out of character from his past behavior. It’s the times that are changing
p41 Like every other social platform today, GitHub was designed for a use case that’s breaking down at scale
p43 In conservation biology, the term charismatic megafauna refers to the idea that polar bears sell environmental causes better than mollusks
p44 The tribalistic nature of open source is frequently overlooked…knowing the streets of SF says nothging about how well you’ll fare in Hong Kong. “Urban is an adjective not an end point”
p53 While some OS developers write code in public from the very beginning, many prefer to do their initial creative work in private, so they can properly articulate their ideas before opening the project up
p53 Ryan Dahl “I quit my work and I worked on Node for six months, basically straight”
p61 knowing Haskell means you’ll always have a job, because companies that hire for Haskell developers are thrilled to find anyone who can write Haskell at all.
p73 “Benkler observed that people were collaborating online for seemingly no obvious reason beyond personal satisfaction”
p73 if individuals are personally motivated to do something, coordination costs will be lower
p81 But what defines an outsider in open source, when any developer is supposed to be able to participate?
p86 It’s possible they just want to contribute a one-time fix and be on their way, equivalent of picking up a stray piece of trash on the street
p89 The Mythical Man-Month…proposes it[the concept of a chief programmer] can be difficult-politically and practically-to identify and appoint the right chief programmer
p91 Maintainers must also weigh the value of the contribution against the cost of maintaining
p93 The distinction between “author” and “maintainer” also underscores the inherent tension between creating and maintaining software. Some developers love to make things but they don’t like maintaining them. Functionally the work required by these two roles is quite different
p93 And while maintainers’ behavioral incentives are poorly understood, they are extremely important to get right
p96 We’re used to thinking of publication as signifying the end of responsibility, as when a writer publishes a book.
p99 Active contributors who stick around do so not because they successfully made their first contribution, but because they already came in with the intent to stick around.
p104 Daniel Stenberg, author of the command-line tool cURL, didn’t realize he had created one of the most widely used software projects in the world.
p107 “Active users can be a maintainer’s best ally or worst enemy” I wonder if she’s heard the military saying about active stupid?
p111 But measuring contributor quality matters less on projects where just a few maintainers do most of the work and it’s clear to everyone who those people are.
p117 “most computer programmers begin their careers doing software maintenance, and many never do anything but” this is very true and you should leave those jobs as fast as possible
p120 Methods are like verbs, or actions, for code
p121 Software doesn’t die, because someone out there –someone its developers may not even be aware of will Continue to use it. The author Neal Stephenson once described Unix…”is known, loved and understood by so many hackers that it can be re-created from scratch whenever someone needs it.”
p121 first released in 1972… C still powers much of our underlying software and hardware today
p122 Jacob Thorton…suggested that open source is instead “free as in puppy.. Oh my god, so much time is required for me to take care of this thing”
p123 Buying a puppy is not like buying furniture; bringing a living creature into one’s home signifies the beginning of a new set of responsibilities.
p124 Software incurs ongoing maintenance costs, both marginal ( costs that are a function of its users) and temporal (entropy or costs associated with decay over time)
p128 When user adoption is low the cost of support feels trivially small
p133 Since open source developers tend towards work that they find intrinsically motivating, no only are open source projects more susceptible to technical debt but there are also fewer incentives to clean up messy code
p138 Knowing whether a project is worth maintaining requires a familiarity with the ecosystem acquired through experience.
p140 In the 90s if you wanted to code you had to code basic data structures first…But today developers can get much more done while writing less code”
p145 This innate duality–software visible as both a fixed point and a line – is at the heart of today’s conflict around how we value not just software but online content more broadly
p148 “Substitutability applies to other online content too” it’s important to do as little substitutable work in life as possible
p150 The maintainer’s reputation translates into value for the company, whether it’s brand association or having a direct line to someone with influence on the project.
p151 “a thoughtful research piece from an independent writer might compel you to subscribe to their newsletter or sponsor their work” SubStack was launched in 2018, I wonder when this line was written?
p151 A reader’s relationship to an author is not fungible. The same article carries different value depending on who wrote it, as well as the reader’s interest in, and expectation of, reading other work by that person in the future.
p152 About an illegal streamer who was tipped via Bitcoin “This is a fascinating revelation about illegal streamers. Even though people can acquire content for free from them, they still give them money”
p157 In the absence of government, we don’t yet have a tidy answer to how online public goods are built.
p158 “Our desire to make things is visible throughout our lives, not just while working at a company or collaborating with others, but as a part of who we are as humans. We like asking questions. We like to think out loud. We like to tinker whether with words, code, or imagery” Reminded me of HitRecord an online site for remixing each other’s art to create new collaborative art
p161 Open source code, in static state, is a public good…The production of open source code, however functions more like a commons…where attention is the rivalrous resource.
p164 The ability of non-members to consume code should be treated as a positive externality, rather than a sign that they are part of the community. Tourists are allowed to visit Paris, but they’re not Parisians.
p170 At a high level, it’s also possible that throwing away projects and starting fresh is the most cost-effective approach
p185 There is no one-size-fits-all solution here, because open source has matured to the point that…we can no longer tell a unified story about how it is produced
p187 In terms of business models, the desire for code quality tends to manifest as paying for support services or service level agreements
p188 Much like a lake that requires paid licenses from fisheries to reduce overfishing, an open source project can require companies to pay to “appropriate” attention from the project’s developers
p193 “Patronage isn’t motivated by altruism but by an interest in following a creator’s future work based on their current reputation” I give to 5 artists on patreon but only consume 1 of their patron’s only works
p196 There is a sense among developers in research-related fields that, while writing open source software can have other benefits, it doesn’t fit into the academic reputation system
p198 In today’s world, increased social status is the expected reward for making things
p200 But if there’s a particular project that they happen to love, that’s the one they should pursue. Likewise, it’s the job of an open source developer to make themselves top-of-mind to a targeted set of funders instead of boiling the ocean.
p201 Even if an open source project is used by 100% of websites on the internet, the hard part, ironically, is making enough meaning for 1000 people
p203 security bounties tend to work well because they tap into a wider pool of developers with specialized skills…For security related issues, it’s actually better when the participating developers aren’t already familiar with the codebase, because they bring a fresh set of eyes.
p206 When everybody is in charge of raising their own funds to support their own work, it reduces the amount of coordination required among the project’s developers
p207 And from an execution standpoint, funding projects is not unlike paying for software;they becoman a line item in a team’s budget, like expensing a SaaS product.
p211 “content” is better understood… as “an externality from [our] existing social systems”
p215 Yancey Strickler, who cofounded Kickstarter, calls this the “ dark forest theory” of the internet: “an increasing number of population has scurried into their dark forests” to avoid the mainstream web
p221 the rise of subscription models shouldn’t be read as a death knell for advertising. These two models aren’t mutually exclusive; advertising is still alive and well, and it will continue to work for a very long time.