DEV Community

What makes an open source project awesome?

Ido Shamun on June 18, 2019

There many open source projects out there some of them we use daily and other rarely. I wonder what motivates you to contribute to one? and eventually what makes an open source project good which actually builds up a community around it?

Collapse
 
nickhuanca profile image
Nick Huanca

Personally, I think an active need and guideline for contributions makes things really nice. If it's easy to clone, get running locally, and run all the tests, then the barrier to entry is lessened for contributing.

Also if you have a history of pleasant, constructive PR comments and history, that is always a good sign of a nice community.

Usually my contributions are need based, and sometimes I've been corrected that it's not within the scope of the project to accept my changes. It really leaves an impression if the owners leave helpful feedback on how to move forward, or explain that it's out of scope.

Collapse
 
idoshamun profile image
Ido Shamun

I totally relate to the "need based" contributions. Thanks for sharing :)

Collapse
 
ascasson profile image
Anthony Casson

Nice! Had a similar question here: dev.to/ascasson/what-makes-a-good-...

Also on Reddit: reddit.com/r/opensource/comments/b...

I brought this up at an OSS meetup I organize in Oregon, and the responses were equally varied. I'm personally drawn to a project with great communication ability and actual encouragement to contribute. A project should be either a learning resource ("this is very specific but you might be interested in how it works") or have broader application for others' use.

Collapse
 
idoshamun profile image
Ido Shamun

Oh wow! Thanks for sharing these resources, I will take a look :)

Collapse
 
idoshamun profile image
Ido Shamun

I will try to ignite the conversation by saying that in my opinion documentation and right labeling of issues are the key. A good open source project helps developers to deep dive into the code, explaining technical decisions and using label to assist other developers choose the right issue for them to solve. It is not an easy task at all but I think it is mandatory to share your knowledge as a project owner with other developers so they can help you out