"No code is sacred". This comment from Tanner Linsley stuck with me. We had the pleasure of having Tanner, the maintainer of React Query, on our Open Source Friday stream. He gave us a tonne of insight into what it means to start a project and then maintain it. Here are some of his words of wisdom. Plus scroll to the bottom and you can watch the full recording.
When it comes to building an open source project from scratch there are a few things to remember. Tanner gave us some of the usual advice about building something because it's useful and establishing a community. But he gave us some advice which we haven't heard a lot about yet. And that's after you've built the thing. Once you have something working and people are using it, there's a thriving community around your project. And this is where it gets tricky.
Tanner told us this is one of the hardest parts about open source - and about building businesses in general. And that's once they start scaling and you have lots of other people involved, how do you handle that community? What do you do about disputes? What happens if the people want to take the project in a direction you don't intend? Well, Tanner gives us some really critical guidance.
If you watch the short clip above you'll see what I'm talking about. This is one of the hardest lessons maintainers can learn. It's one of the hardest things developers and founders can understand. But it's important. "We're all in this together". Open source isn't about egos, it's about making the world a better place. You build your code and you send it out into the world so it can be made better and make others better. If you can learn that lesson then we're all on our way to a better society.
Remember code is for everyone. We're all in it together, riding the same bike towards a better world.
Thinking about starting an open source project? Or are you already maintaining one? Tanner has a few top tips for maintainers... aside from losing your ego of course.
When you're starting a new project, ask yourself "is this something I would use?" If the answer is yes then chances are others will use it too, but more importantly, you'll be able to contribute to your own library.
As a maintainer Tanner's top tips are be kind, especially to first time contributors. If you're kind people want to stay around. They'll be more willing to contribute and become valuable members of the community.
You should ensure all your issue templates are setup, turn on Discussions in GitHub, and have a community like Discord. Tanner also says configure your project to use CodeSandbox. All these things will help you cut the feedback loop and make it faster for your open source libraries to grow.
Haven't gotten involved in open source yet and want to? Just pick something! Something that's fun or you're already using. There's lots of open source projects out there and available to get involved in.
Check out projects like React Query and see their good first issues. Tanner said these are great places to start and maintainers like himself will be there to help you along the way. Find a project you want to learn more about; whether it's the coding language itself, or more about the way a product is structured.
This is also the perfect time to jump into open source. Hackatoberfest has a few final days left. So find a project and start contributing today. And remember, it's not all about code. You can contribute ideas, discussions, feature requests and more.
If you missed this amazing session with Tanner don't worry. We've recorded it all for you here.
Don't forget to join us on the next Open Source Friday. We run these sessions almost every week on the GitHub Twitch Channel. We bring in a different maintainer and talk about a project each week. Register with our meetup group to find out when the next session is live. We'll look forward to seeing you in the chat and interacting with other awesome developers.