It can be hard to attract core contributors for open source projects that require "specialized expertise." Think databases or game engines, which might have heavily optimized performance code or complex algorithms.
But that's no reason to throw your hands up and declare, "Nobody can contribute."
Instead, educate people on how to contribute. This could come in many forms:
- Separate specialized code (e.g. babel)
- Explain complex concepts in your docs (e.g. Gatsby Build Process)
- Create content that builds up their expertise (e.g. Phaser Animation System)
- Talk about how to contribute (e.g. Contributing to React)
- Create good first issues
- Use code tours
The list goes on.
Specialized skills shouldn't be a gatekeeper–it's an invitation to help make the community better.