3 Essential Lessons After Hundreds of Open Source Developer Interviews
Tags: devops, opensource, webdev, programming
Published: 2023-11-21 16:34:37

I recently read the book [Work In Public by Nadia Eghbal](https://www.amazon.com/Working-Public-Making-Maintenance-Software/dp/0578675862).

Eghbal interviewed hundreds of developers while working to improve their experience at GitHub and documented her learnings.

In this article, we’re sharing our top 3 lessons from the book and how we implemented them at [Flipt](https://github.com/flipt-io/flipt).

Following these lessons you will not only create successful open source projects — but also an inclusive and thriving community.

Let’s dive in!

---

## TL;DR

- [Lesson #1: Fostering transparent communication](#lesson--1--fostering-transparent-communication)
- [Lesson #2: Making it easy for newcomers](#lesson--2--making-it-easy-for-newcomers)
- [Lesson #3: Acknowledging the work of contributors](#lesson--3--acknowledging-the-work-of-contributors)

## Lesson #1: Fostering transparent communication

Never underestimate the importance of clear and comprehensive documentation.

It has an even more crucial role in open-source projects.

Eghbal says — by working in public, we can teach one another. But just as importantly, we can give ourselves a place to learn.

At Flipt, we have a [public roadmap](https://features.flipt.io/) that anyone can add and upvote potential new features. 
We also regularly open issues and discussions on GitHub to garner user feedback and input from the community. 
Our docs are also open source, so anyone can help improve them by submitting a patch.

Also, we try to foster a welcoming environment in our Discord server by: 
- Answering questions
- Responding to feedback ASAP
 
All this is to help our users and contributors.

![Flipt Public Roadmap](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/qdy3tfrdaa7g1omo5179.png)


So prioritize not only writing code but also making it accessible to the rest of the community.

---

## Lesson #2: Making it easy for newcomers

Collaboration is a by-product of creating a welcoming and diverse community.

For instance, getting started with Flipt is damn easy for contributors.
We’ve:

- Documented our [development process](https://github.com/flipt-io/flipt/blob/main/DEVELOPMENT.md) & internal architecture
- Setup CDEs like GitHub Codespaces.
This makes up and running the Flipt project quick and efficient, without having to install dependencies on their local machine.

![Flipt Development Process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z72gig0qipqwktmfk6jo.png)

As per Eghbal, by investing time and attention in maintenance, we can cultivate a sense of shared ownership and responsibility.

This is a must for the long-term success of your project.

## Lesson #3: Acknowledging the work of contributors

Open source projects have a lot of “invisible work”:
- Issue Triage
- Documentation
- Community Management

These contributions should be celebrated as much as code contributions.

Eghbal argues, that work that is invisible — whether because it's not valued, not noticed, or actively concealed — can have consequences for the workers.  

We’ve tried to celebrate and acknowledge our amazing contributors at Flipt. We follow the [All Contributors](https://allcontributors.org) specification and try to recognize every contribution made, both code and non-code alike. 


![All Contributors](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jcvdnfniwm3ttu3ibj7k.png)

 

Recognizing contributors on social media when you can is also a great way to celebrate everyone who helps keep your project moving forward. 

Remember — what gets rewarded, gets repeated.

---

## Wrapping Up
That’s it!

Hope you found these lessons helpful.
Leave a ⭐ to support our work at [Flipt](https://github.com/flipt-io/flipt).

If you liked this post, follow us for more of these 🙂