Blog

Open Source Workshops

Re-thinking project orientation away from conversion-oriented approaches.
21 min read

Herein is a long form version of the talk I presented twice at All Things Open 2025 in Raleigh, North Carolina this October. It wasn’t recorded, but I wanted to share these concept long-form to continue the discussion.

The title slide of the talk, Finite Source Machines: Contribution for Busy Humans. It depicts a study drawn by Leonardo Da Vinci for his unfinished painting, The Adoration of the Magi.

Hello everyone. Thanks for coming.

My name is Brian Muenzenmeyer. My pronouns are he/him/his.

A picture of Brian Muenzenmeyer with title and social information next to him. You can connect with him on Bluesky at @brianmuenzenmeyer.com, on GitHub at @bmuenzenmeyer, or LinkedIn as the one and only Brian Muenzenmeyer.

I’m a principal engineer by day. I also lead my company’s open source program office.

You can find me around the Internet.

A picture of Approachable Open Source, next to a phone sitting on a desk.

I wrote this book last year. (You are reading this post on the site dedicated to it.)

It’s a full spectrum primer on the open source landscape.

A screenshot of nodejs.org

These days I help maintain Node.js ‘ web presence. The domain serves almost 3 billion requests a month. I’m a part of the Web infra, triage, and moderation teams.

Keeps me busy.

The title slide again.

Gosh. This is my first ATO. Anyone else? It’s been lovely. I’d have come sooner. But I’ve been busy.

Gosh. So buuuusy. Everyone’s busy.

Who here feels busy?

100% engagement. See that? Either you agreed with me or proved how busy you were by multi-tasking.

This industry. This urge to feel busy. To tell each other, or ourselves, how busy we are. It’s deflection of guilt. A ritual of things not done.

Too busy for…

  • those domains you bought
  • self-care
  • folding the laundry
  • calling your loved ones
  • open source

The number 9 billion in big bold lettering, with the logo of the Harvard Business School

It wouldn’t be a modern open source talk without the 8.8 trillion dollar HBS quote.

I’ve rounded to the nearest trillion. Cause that’s something normal.

Gee, I guess it does look like we’ve been busy! Creating value. Keynote after keynote emphasizing the criticality of this slice of the industry. Hell, Microsoft runs on Linux!

Some of us have been open sourcing harder than others!

Two drawn sketches of block towers. On the left is the sorta famous xkcd about dependencies being this almost toppled tower held up by a single maintainer in Nebraska. On the right is a simulation depicting what happens when you remove that critical block: collapse.

And we should get this outta the way too. Right? Dependency from xkcd is everywhere.

Now I’ve checked both of the boxes.

There’s also this great still from a physics simulation made by Adam Leventhal for the Oxide and Friends podcast He was covering the xz utils backdoor discovery last year.

What happens when we delete the Nebraskan? Collapse, we suggest.

Two words in opposition in big block lettering. CRITICAL. And then upside down close to it, FRAGILE.

So, somehow, we have these competing narratives. Critical importance and fragility.

It’s enough to make you want to disengage against this confusing duality. Especially compared to the other folks. Those 9 trillion dollar developers and companies. There is only finite time. And we’re all busy spending it.

Those other people just seem to put out great work. What’s their secret? We all collectively consume - and languish at their masterpieces of output.

Some of us I guess seem to have better side projects.

Some of us make this…

A painting of the Mona Lisa by Leonardo Da Vinci. Or is it?

This is the Mona Lisa by Leonardo Da Vinci.

Maybe the most famous painting/side-project in the world.

The artist’s understanding of optics translated into a blurred or smokey painting technique lacking contours, making that mysterious smile.

The Louvre is renovating the space to accommodate the demand to view it. A separate entrance is being built. Custom-made lights protect and illuminate it.

Not a bad legacy for a 500 year old project the maker kept tinkering with and never delivered.

Three variants of the Mona Lisa. None made by Leonardo. Or did he?

I lied to you twice just now about this masterpiece - this blend of art and science.

That isn’t the canonical Mona Lisa. The upstream, sotospeak. (We are at an open source conference)

These are forks. Each with a fascinating backstory itself.

  • Prado - probably painted by a student, at the same time - slightly different angle - creating perhaps a bit of a stereoscopic effect - so well preserved it is suggested to be more true to original colors
  • Isleworth - painted by Leonardo’s workshop - some markers from Leonardo - he had a very distinctive left-handed stroke, but thought to be an earlier version - still scholarly discussion playing out
  • Hermitage - copy - likely 100 years after Leonardo’s death

Five Mona Lisas in a lineup. Most interesting is a sketch made by Raphael. Yes, that other famous painter.

There are still others. More forks. More collaboration.

We find the upstream, at the Louvre.

And what I find most interesting- the Raphael drawing.

Yes, we now have two of the teenage mutant turtles!

There are contemporaneous accounts of him visiting the workshop and sketching this. The different fidelity is fascinating to me.

The Louvre Mona Lisa

The other lie is that this painting, this masterpiece, was the singular work of a genius.

I conclude it was the result of years of collaboration, experimentation, and hard work.

There is no denying the skill required to produce. But did you know: Leonardo worked on it for 15 years?

He used techniques honed through practice, experimentation, failure, false starts, procrastination, collaboration, and yes, painting.

I’ve been learning a lot about this painting and it’s painter, and the circumstances that yielded both.

It’s a window into perspective and the stories we tell ourselves. The facts and fictions that endure.

We couldn’t possibly build something of similar stature, resonance, reach, and impact?

Right?

A self-portrait of Leonardo Da Vinci

Of course, this was painted by Leonardo Da Vinci - around 1506. We all might have preconceived notions of this man.

We are fixated to a good story after all. A hero. A revisionist tale, or perhaps one that gets lossier as time passes.

Time might be kind to us all if are lucky.

A self-portrait of Leonardo Da Vinci. The phrase "Jack of All Trades" replaces his name.

He was relentlessly curious about all sorts of things.

  • Anatomy
  • Optics
  • Flight
  • Theater
  • Hydraulics
  • Weaponry
  • Music
  • Urban Planning.
  • Painting

He even illustrated a math book for a friend. Imagine those humble drawings.

To complete the phrasing…in Leonardo’s case, I suppose he was master at some.

Though he did fake it to get a job or two.

A self-portrait of Leonardo Da Vinci, now with "Renaissance Man" next to him.

He’s quite literally where we get this notion.

A self-portrait of Leonardo Da Vinci, now with "Polymath" next to him.

Some academics use this word. It means “many learned.”

Cool. Hold on to that.

A self-portrait of Leonardo Da Vinci, now with "Busy" next to him.

I like to to paraphrase. He was busy. He was born during a massive societal change brought about by technology. Sound familiar?

Gutenberg’s printing press had been invented about 10 years prior to his birth, and books started flooding the market as he was coming of age.

Da Vinci kept lists of books he wanted to acquire, or borrow from folks. He was voracious in his pursuits. In his reading and his note taking. Of that we are lucky.

A photo of the Florence Cathedral by Simone Viani. An arrow added by me points to the copper sphere adorning the top.

Leonardo started his busy apprenticeship in Florence Italy, within the workshop of popular sculptor and painter Andrea del Verrocchio.

This was a time before industrialization. Art was still ever present. But it played many roles. It was of course decoration. But also gift or tithe. Currency for an emerging middle class to adorn their walls or donate.

Like now, too, it symbolized status. Wealthy patrons commissioned art to demonstrate their power. Pageants to entertain their subjects.

Art was also craft. Almost the opposite of this sing-song way we compare them today. Art was on equal footing with engineering or any other trade, like carpentry, masonry, blacksmith, etc. In some cases the same workshops did the work across all these domains.

You make ask, what was Leonardo’s contribution to the Florence Cathedral?

Verrochio’s workshop was commissioned to make this copper sphere at the top. To finish the work started 150 years prior.

Leonardo was fascinated with the machinery invented and purpose-built to raise such a heavy object. He sketched them and was one of the first to depict machinery or anatomy with layered cutout schematic-like detail. He had a skillset that provided literally new perspectives.

A sketch by Leonardo Da Vinci with the phrase "Celebrate Your Skillset"

We should pause and take in one of his sketches. Puts my doodles to shame.

A lot of skills here on display. A lot of skills to observe and celebrate.

And we should too, even amidst our modern work.

A GitHub contribution graph

But when I say celebrate, this isn’t what I have in mind. Because it displays a reductive of our capability to contribute.

The GitHub contribution graph colored against a rainbow instead of the typical shades of green.

There’s a range of engagement we can explore, much more than code. A notion I want to impart on all of us.

And perhaps more importantly, to the folks NOT here. I want you to embody this range, show people how easy it can be with the right perspective.

A graphic called the Spectrum of Engagement that has top-level themes across the X-axis of Consume, Contribute, Maintain, and Empower. Smaller activities flow from each. Consume has read, evaluate, use, test, and integrate. Contribute has report, review, discuss, patch, enhance, and fork. Maintain has plan, architect, prioritize, orchestrate, and recruit. Empower has motivate, mentor, educate, and fund.

I call this the Spectrum of Engagement, and it has surprising breadth and depth when we pause to explore it. We need a lot of complementary tasks to come together to make a successful open source project.

And that means there is a lot of work to do.

A sketch by Leonardo Da Vinci with the phrase "Work...in a workshop"

We need a workshop. We need places where we can play a role. This benefits us as contributors and maintainers both.

Two paintings by Verrochio and Leonardo. One is Tobias and the Angel. The other is The Baptism of Christ.

We play roles all the time. So did Leonardo.

Widely believed that Leonardo painted parts of these paintings at Verrocchio’s workshop as an apprentice.

Emphasis on the two previous paintings. They show the detail of Leonardo's work.

Look at that ghost dog. Good boy! Do you see it? The colors have gone translucent over time. This is believed to be because Leonardo was experimenting with pigments. He did this in other works too, with degrees of success and failure.

This other painting though. Look at that angel on our left.

It’s just too good. Look at that fabric. I want to use a word like photorealistic, but this is paint. Compare to that positively wooden palm tree behind them. The other angel, painted by Leonardo’s master at the time, is like, I cannot even.

A screenshot of the End of Life page on nodejs.org

We can play a role too.

Some examples. Easy to pluck from my own experiences across the spectrum of engagement. Hopefully they will be instructive that the spectrum of engagement is everywhere.

As a traditional coding example, we start with this… Recently helped land this End of Life page on nodejs.org. It helps communicate risk and point to Node’s Ecosystem Sustainability Partners. A sponsor here. Sweet. This is definitely what we think of when we are talking open source. Coding. More traditional web development. Fun. Fine.

A pull request showing a bunch of data gaps plugged as part of the end of life work.

But in writing it, we had a ton of gaps in the source vulnerability data. Like 75 unknown severities. It didn’t make sense to include them or omit them. This was structured data that should have backing truth. Until I learned the data was a JSON file dating back 8 years. There were gaps and lags due to the way CVEs are often reported and verified.

I used a copilot tool to audit our static json file. That’s the only mention of AI in this talk. Palette cleansed! It helped me lookup most of the missing data. Busy work, easy to verify. Sweetspot.

Two more examples. Dependency update testing. Or supporting translation efforts.

There’s plenty of random things a larger project needs done.

Maybe you like dependency updates, or testing them, or automating them? Or removing dependencies. All essential roles.

Maybe you can help with internationalization efforts, either in setting up a project or contributing translations directly.

An information architecture exercise using existing learning content

Or maybe you have a keen eye for the organization of information and learning. You can help with content strategy and UX.

A screenshot of components on a figma export.

Speaking of UX, I did something similar in the recent Node.js redesign. When given a Figma file from our designer, I broken down the work into consumable chunks. You couldn’t expect this to happen by accident at a global scale. I coded almost none of it. This was product management work.

A spreadsheet of all the changes required to make the site redesign successful.

I organized the componentry and diffed it against our current inventory.

  • What to add
  • What to delete
  • What to change

A GitHub issue illustrating the end state of the organization, available for a contributor to start working on.

Eventually cutting issues for each job to do. This included thorough documentation and ties back to the source materials and requirements. People all over the world picked up and got these over the finish line.

Only the first example was “coding”. We need a huge intersection of skills.

A sketch by Leonardo Da Vinci with the phrase "Observe Relentlessly"

And we need lots of observations. A lot of perspectives.

This is really just another part of the spectrum of engagement, and a ploy to get one of these Da Vinci drawings in here.

There are lot of anatomical sketches of his that remain. He dissected all sorts of things, and autopsied cadavers to learn more about the human form and its functions.

A GitHub diff fixing a typo. The slide itself has a typo in it.

But truly, observation is the simplest entry point.

Using and reading reveal opportunity.

This was from one of my first ever PRs against a little progressive enhancement utility. Phew, ie8. Dating myself.

A screenshot of a GitHub issue log.

You can start be peeking at what others are doing.

Huge help in simply reading. Running. Pull Requests: Testing. Reviewing. Issues: Corroborating.

There’s just a lot of territory.

And along the way, you accrue knowledge. You lend experience. You level up.

Five sketches of bald men by Leonardo Da Vinci. Each gets a bit more detailed.

Our opportunities to work within our craft are immense. And we can choose the fidelity of our investment from moment to moment.

I hope, when energy and calendars align, you feel agency to practice your craft.

And hey, what did he have against bald people?

A screenshot of a codepen

Websites let you explore and share concepts without a single install. Check out this badass codepen by Ksenia Kondrashova.

A screenshot of nodejs.org's codebase running in an online editor

It’s easier than ever to practice. To share. To start with almost no overhead.

Entire environments can run in your browser. They can mimic your local machine, sync your preferences, write back. As a maintainer, you can even orient your project towards these workflows.

A talk earlier today highlighted how their company ships with dev containers - pre-configured development environments.

A screenshot of a REPL, a place to test a library or tool online for input and output behavior

Read Eval Print Loop REPLs let you try tools directly, experimenting with input and output behavior before a single installation is required.

Practice or experience the language or tool without committing.

This is a great feedback loop.

A sketch by Leonardo Da Vinci with the phrase Come Up For Air

When you are developing, building a product, or doing anything in an open source environment, you maximize success when you can create as many moments for collaboration as possible.

In the words of a stellar former colleague Ted Naleid - help others help you.

Don’t let guilt pile up needlessly because you are being a hero.

A screenshot from the Red Hat blog titled "Don't Lick the Cookie"

So “don’t lick the cookie,” as coined by Red Hat. Another sponsor here.

Don’t claim work. It slows down velocity. It stops people from trying, and puts burden on you to deliver. We even have canned responses on some projects about this.

A screenshot of a large effort that could not be easily broken up. The pull request has a visible TODO list in it and multiple authors

When possible. Craft smaller stories. Make them reviewable without much effort.

But when large work is unavoidable, report progress asynchronously. Make many commits, pushed up to a remote. Share draft work if you are comfortable. Approach the work without ego, and welcome handoffs.

Like in this example, me and another developer ping ponged off a shared TODO list in the same feature branch.

Workshop artists were known to collaborate often. Piece work was common, with masters coming in to redirect or do fine detail work.

I like to think they ignored hierarchy and they helped one another. I cannot ask them, so it’s pleasantly revisionist. After all, they were busy, and this was work.

The Vitruvian Man by Leonardo Da Vinci, with the phrase Bring New to Conversations

To feel less busy, and approach more breakthroughs in the mundane or the profound, be sure to advance the conversation.

I mentioned before Leonardo’s appetite for books. He took a road trip with a buddy to see a copy of the Roman Architect Vitruvius’s proportions of the human form.

Yeah, the same guy from the Lego Movies.

OMG, kinda makes me think about the whole plot of the Lego movie differently…in that we are all special and can build amazing things.

In a very collegiate way, Leonardo and his peers were pursuing this ancient knowledge written some 1500 years prior. His contemporaries created faithful representations of the defined proportions. There is a reason most of you have never seen these: they are wrong.

Remember: Leonardo had those years and years of relentless observation and practice. So he saw Vitruvius’ calculations, and then ignored them. The result is one of the most iconic paper sketches the world over. He said something new.

A screenshot of passive voice written by me in a GitHub issue: "if I recall correctly, I think we might have done this already too." Yikes.

Likewise, we can do more than say nothing, or repeating ourselves.

Golly, look at this Midwest Nice charm we are known for.

A screenshot of a slightly better interaction, wherein I say, "explicitly discussed in the spec of issue #7906 and #7990 - it is currently in /eol - no /about prefix, so whatever we decide may need a redirect." Context, and a recommendation. Moving in the right direction.

We can improve and advance conversation by providing asynchronous context. This is the currency of open source movement.

A screenshot of the best outcome, wherein I suggest something, and then follow through it with a pull request.

And best yet, we can suggest and put forth a solution. Not only pointing the way but taking steps within our means.

A sketch by Leonardo Da Vinci of an elaborate double-helix staircase.

I want to shift gears for a moment. So this one’s for the maintainers…stop building ladders.

I’m a sucker for an analogy. But ladders are meant to be climbed. Stairways suggest ascent.

It creates too much pressure, expectation. I feel like I’ve articulated this point already: we’re too busy. And believe me, you want folks to roll into a project with their current skillset and make an impact. You want pathways for casual contribution.

So, I don’t know, build trailheads instead. The community garden, as Approachable Open Source suggests.

Now, within this talk, I prefer: workshops with many tasks to complete I call it a spectrum before.

Art is collaborative. We work on this together.

Work.

Four sketches by Leonardo Da Vinci of a horse monument, with the phrase Art is Work

Art is work. And you can see it in the inputs and the outputs.

Like these studies for a large horse monument Leonardo was commissioned to make (and never finished).

Still, he practiced. Through it all, he Invented tools to make it easier. He invented tools to make it possible, like special casting and moulding jigs.

This was craftsmanship tightly coupled with the output. One in the same.

Sound familiar?

The same four sketches, but now with the phrase Open Source is Work

Maybe we just change this quick for emphasis.

The same four sketches, but now with the phrase You Don't Need Permission to Do Your Job

So if art is work, and open source is work… And work is something we do when we want to be paid for our labor…

…I suggest that the consumption we do as part of our day jobs is only one half of the equation.

We are free to work upstream. Build and maintain that tool. It’s part of your role. Bigger than your current story, sprint, product, even company.

We are participatory in an ecosystem of craftspersons, artists. It’s our profession.

A sketch by Leonardo Da Vinci of some military equipment.

And so, if we are working, I further suggest you find a way to instill in your place of employment these values. Or better yet…just do it. No one is going to fault you for bettering yourself and your team and your company with more skills, more networking, more tools, and more knowledge.

Point being, —you, all of us— get to decide how you want to show up in the open source ecosystem, and this life.

Projects may court you. Side-hustles distract or divert or delight you. How do you wanna use your skills and your finite time? Leonardo had to market himself as many things to find a patron. Be picky.

A sketch by Leonardo Da Vinci with the words "Polymath" and "Symmathesy"

Remember this polymath word?

It means many learned. Certainly can describe Da Vinci, and the multifaceted skillsets we should nurture. It’s great. But it misses the mark of the moment. Of open source software.

I like this one more. Symmathesy.

Symmathesy is a word writer Nora Bateson coined. I first saw Jessica Kerr talk about at a keynote. It’s reshaped my perspective.

It means “together, learning”. A living system that learns from its inputs and outputs.

I suggest, Leonardo, and we, are symmathesists. We don’t live or work in isolation. We constantly inform, and are informed by, those around us. This relationship is in perpetual motion, across many layers, and at different paces. At times this motion is a torrent, other times glacial. But it always leaves a mark.

Leonardo was obsessed with motion. He fixated on water, eddies, the curls of hair, the body in reaction- not stasis. He was able to convey motion it like no other before him.

Motion

A diagram by Steward Brand titled Pace Layering, published in The Clock of the Long Now, 1999. It has 6 layers in concentric circles, the innermost moving slower than the outermost. From the inside, we have Nature, Culture, Governance, Infrastructure, Commerce, and then Fashion.

This motion, this mutual learning - of symmathesy - an be visualized using another concept. Stewart Brand’s Pace Layers. Here he models all of civilization. No biggie.

Where higher levels change at a greater rate, and lower at a slower. The best ideas put pressure on the lower layers.

Sedimentary rock and erosion. Orbit and heavenly bodies. The imagination can run wild.

Open Source Pace Layers, by Brian Muenzenmeyer. Inspired by Stewart Brand's similar concept, we see 7 concentric circles. From the innermost and slowest to outermost and fastest are: Specifications, Foundations, Open Governance, Frameworks and Runtimes, Libraries, Forks, and Application Code. The graphic is labeled Open Source Pace Layers v1.0.0

I applied these concepts to open source. If I’d written my book today instead of a year ago, this would be in there.

What’s great about this way of thinking is that its inclusive of the spectrum of engagement.

  • Innovation can be quick, with creators agency to explore
  • Competition puts pressure on established systems to improve
  • Maintainers craving momentum and stability have space and time to cultivate
  • layers exist for anyone to contribute within their means

There’s a place for you. I promise.

And it means maintainers can and should create a space for you. We’re all in this together, supporting one another.

The xckd Dependency comic from before, without words, showing a precarious block tower, against a large white background.

Remember that xkcd? Well, as much as we love to reference it in frustration of whatever churn or drama or rugpull or supply chain attack that occurs, I don’t think what we are building is nearly as fragile. We aren’t reliant on one person.

The xkcd Dependency comic block tower, but inlaid with dozens of other blocks to make a masonry wall instead of a tower.

What we really have is this.

We are much stronger together.

And we can be proud of it in all its integrated, ugly, useful, precarious, multidisciplinary glory. No one person knows all of it.

But I promise you, there are so few of us in this field that our percent impact is real.

And there’s plenty of work to do.

Stay busy.

A slide that says Thanks! A picture of Brian Muenzenmeyer with title and social information next to him. You can connect with him on Bluesky at @brianmuenzenmeyer.com, on GitHub at @bmuenzenmeyer, or LinkedIn as the one and only Brian Muenzenmeyer.