[Themaintainers] Introductions: Don from GitHub
andrea at corgibytes.com
Thu Apr 11 14:57:35 EDT 2019
I would love to geek out with you about software maintenance and sustainability. I'm the CEO of Corgibytes ( http://corgibytes.com ) and that's all we do. :)
I'm guessing since you're at GitHub, you're aware of the Sustain ( https://sustainoss.org/ ) conference they hosted a couple of years ago? I was there along with about 75+ other OSS maintainers. I know they compiled a TON of notes. If you need me to dig up a contact for you, let me know.
Here are some high-level thoughts to some of your questions, for the benefit of all on the thread. I'd love to set up a time to chat in more detail if that would be useful to you. Also, here's a podcast I recorded with Andrew Russell. It's a good one to listen to: https://www.legacycode.rocks/podcast-1/episode/1c0e0b87/hail-the-maintainers-with-andrew-russell
*Are there lessons from other disciplines that could be applied to software maintenance?*
Aside from the obvious allegories, such as car mechanics and home improvement, one of the best metaphors I've seen comes from the world of Opera. Jessica Kerr wrote a fantastic longread ( https://the-composition.com/the-origins-of-opera-and-the-future-of-programming-bcdaf8fbe960 ) about it.
Here's a quote:
"A *symmathesy* (sim-MATH-uh-see, coined by Nora Bateson ( https://norabateson.wordpress.com/2015/11/03/symmathesy-a-word-in-progress/ ) ) is a learning system made of learning parts. Software teams are each a symmathesy, composed of the people on the team, the running software, and all their tools.
The people on the team learn from each other and from the running software (exceptions it throws, data it saves). The software learns from us, because we change it. Our tools learn from us as we implement them or build in them ( queries ( https://www.humio.com/ ) , dashboards, scripts, automations ( https://atomist.com/ ) )."
*What’s different about maintaining legacy software vs open source software? *
I think it's easy to conflate the two, but they're fundamentally different things. Michael Feathers defines legacy code as code without tests. I take it a bit further and define it as code without trust. You don't trust the code, the people, the tests — and that makes it hard to work with. In order to make progress on a legacy system you have to start by rebuilding that broken trust, which means there can be a lot of inertia. When we take on a legacy project, one of the first things we do is start implementing the communication systems that are required for a successful OSS project — commit messages, code reviews, PRs, pruning issues/branches, and overall making the communication more transparent and asynchronous. We've found those practices to have the most impact on a legacy system that wants to turn itself around. Then again, there are a lot of OSS projects that have fallen into disrepair. One common scenario I see is that the maintainer has a ton of knowledge in their brain and doesn't know how to communicate it so other people can help them. So when people come onto a project, they don't know how to plug in.
Do you know of interesting case-studies we should be aware of?
Sean Larkin at WebPack. He attended a talk I gave about communication in software and then went onto the Changelog ( https://changelog.com/podcast/233 ) to talk about how focusing on communication & community engagement helped them grow.
*Do _you_ maintain software, and have a story to share?*
SOOOO many stories! :)
Here's a link to my calendar to find a time to chat if you wanted to hear about them: https://calendly.com/andreagoulet
To your success,
Andrea Goulet (she/her)
Co-Founder & CEO
andrea at corgibytes.com
http://corgibytes.com ( http://corgibytes.com/ )
Have you read my First Round Review ( http://firstround.com/review/forget-technical-debt-heres-how-to-build-technical-wealth/ ) article about paying off technical debt?
I was named one of LinkedIn's Top 10 Software Professionals under 35 ( https://lists.linkedin.com/2016/next-wave-top-professionals-35-and-under-20161011/software ). How cool is that?!
Love refactoring and TDD? Join us at LegacyCode.Rocks ( http://LegacyCode.Rocks ) for masterminds, podcasts, and more.
On Wed, Apr 10, 2019 at 10:08 AM, Don Goodman-Wilson < degoodmanwilson at github.com > wrote:
> I’m Don Goodman-Wilson, co-chair of the Software Track for The Maintainers
> III. I'm a recovering academic now working in the software industry at
> GitHub. One of my focus areas is discovering the best ways to support the
> maintainers of open source software (OSS). OSS provides the backbone for
> our digital lives (for better or worse), but such maintainers are
> increasingly finding themselves unsupported and under-appreciated. The
> result is that our digital infrastructure is in an incredibly delicate and
> precarious place, moreso than many realize.
> I discovered The Maintainers at APIdays in Paris last December, where
> Mehdi and Andrew held a day-long unconference on sustaining
> maintainers—and I realized pretty quickly that I had found my people. In
> the Maintainers, I feel like I’ve found kindred souls who understand not
> only the gravity of the situation, but the urgency to find solutions in
> partnership with practitioners who really understand the challenges.
> There are a lot of places where we could use your experience and
> expertise. Are there lessons from other disciplines that could be applied
> to software maintenance? What’s different about maintaining legacy
> software vs open source software? Do you know of interesting case-studies
> we should be aware of? Do _you_ maintain software, and have a story to
> share? What existing institutions exist that could be extended to cover
> software, or that might have resources for software maintainers that we
> aren’t aware of? Does open source as a practice have the deck stacked
> against it, and maybe we need to fundamentally rethink the way we approach
> open, collaborative software creation for the public good?
> If all this is new to you, there are a lot of interesting resources out
> • https:/ / github. blog/ 2019-01-17-lets-talk-about-open-source-sustainability/
> • https:/ / medium. com/ s/ story/ exploiting-developer-infrastructure-is-insanely-easy-9849937e81d4
> • https:/ / words. steveklabnik. com/ the-culture-war-at-the-heart-of-open-source
> • https:/ / words. steveklabnik. com/ what-comes-after-open-source (
> https://words.steveklabnik.com/what-comes-after-open-source )
> (I’d love to read more if you know other recent takes on the current state
> of open source software!)
> Looking forward to seeing you at The Maintainers III!
> Don GOODMAN-WILSON
> Developer Advocate, EMEA
> 📮 degoodmanwilson@ github. com ( degoodmanwilson at github.com ) DEGoodmanWilson
> ( https://twitter.com/DEGoodmanWilson ) 📆 calendly. com/ degoodmanwilson/ (
> https://calendly.com/degoodmanwilson/ )
> Themaintainers mailing list
> Themaintainers@ lists. stevens. edu ( Themaintainers at lists.stevens.edu )
> https:/ / lists. stevens. edu/ mailman/ listinfo/ themaintainers (
> https://lists.stevens.edu/mailman/listinfo/themaintainers )
-------------- next part --------------
An HTML attachment was scrubbed...
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 307 bytes
Desc: not available
More information about the Themaintainers