Key Points
- In 2011, someone called "Dodo" published a popular npm module called "Slug" for creating URL slugs
- Dodo stopped working on the module in 2015 and completely vanished from the internet after 2018
- A denial of service vulnerability was publicly disclosed in the Slug module in 2017
- The author became frustrated with abandoned packages and contacted npm about taking over maintenance
- npm had a documented process: email the maintainer, wait for response, and transfer ownership if no reply after follow-ups
- The author started emailing maintainers of abandoned packages with security issues, getting mostly positive responses
- Dodo was the only maintainer who never responded - emails bounced or went unanswered
- After a month and npm support follow-ups, the Slug package was transferred to the author
- The author quickly fixed the DOS vulnerability but felt stuck maintaining a package they didn't care about
- Despite not being interested in slugs, the author invested significant time learning romanization methods and adding language support
- Each new feature required extensive research but appeared as minimal commits adding a few characters
- The maintenance work was unrewarding and negatively impacted the author's mental health
- A more popular competing package called "Slugify" existed, which was actually a fork of the original Slug
- Both maintainers wanted to hand off their packages to each other, leading to mutual collaboration
- The Slugify maintainer added the author as collaborator after the package became popular from a Google I/O presentation
- This situation exemplifies the broader problem of critical open-source code being maintained by overwhelmed volunteers
- Many open-source maintainers suffer from guilt and anxiety due to inadequate time and resources for proper maintenance
- The same maintenance problems exist in proprietary software - only big, popular packages get proper support while everything else risks developer burnout
Full Transcript