Since I was featured on the ClassicPress – Meet the Community series, I have not been able to leave cloud 9 (Insert smiley Emoji). However, as I highlighted in the article, I had a lot of help from the project lead and another maintainer to make my final submissions.
Contributing to core code for software is always a challenge for new programmers or those that are inexperienced especially in larger projects. For a majority of developers, we subscribe to the imposter syndrome when it comes to “touching” another developer’s codebase. We don’t know how they will feel or even take our unsolicited bad code.
What’s the fuss with Open source?
We are in a digital age where open source is the future. Google recently pumped $1.2 millions into WordPress for a news editorial platform. We have seen giants like Microsoft come and take up GitHub, a platform that makes it possible for open source developers to grow and share their projects online. Making it possible for the average Larry to showcase his work and get lots of help making the code better and smarter in comparison to solo act in his little code dungeon.
How can we make people feel welcome?
Being new to sharing my projects or thoughts with other developers, I have found that when projects have a contribution policy or contribution help file usually .md file with simple steps, I am more inclined to contribute. This guided way makes it a time saver for both parties contributing and receiving.
Add milestones and features planned
Many contributors from their own experiences will share features they feel are missing. But as a maintainer, it’s to your discretion to take those on or ask for the contributor to make an add-on plugin. This is because the more features in the project, the more resources will be required to maintain. Sometimes this even leads to overscoping.
This can be avoided by listing out areas of growth for the project or planned features. This can help your project gazers to channel their energies to help you fix the areas you have chosen out.
Good Behavior policy
If a community/individual adopts a good policy on how other developers should behave while in communication with a potential contributor, issues of abuse have been seldom seen. This allows for good conversation and interaction in building ideas and methodology.
First good issue
A number of projects have adopted a good first issue tag that makes one feel valued for spending time sending in their thoughts. The little badge does wonders as ordinary trinkets do. I guess it is a thing to do with positive motivation. Project maintainers will be sure their will be another contribution coming in not so long a time.
The unpolished contributor
We hate your code/opinions but we love your guts. In most cases, contributors try to speak with the language that they think will be acceptable or inline with projects. Forget those who are arrogant and abusive in speech, most contributors are trying to be helpful or are sharing their views/experience about your project. You simply need to decipher, remove the chaff from the wheat.
I understand that many open source projects in most cases are not financed or are done in spare time. However, you can make better humans by being human yourself and not a robot in responses.
There is a need of “we know you will be back so let’s help shape your contribution for the upcoming issues/PRs” attitude. Well treated new contributors will always return. They are like shop customers who make a purchase. The customer care will always lead them to recommend other users if not come back on their own.
This little help can shape the contribution one makes by suggesting other ways the code or documentation could be done.
Adopt and ammend
This could also be done in the comments. Maintainers could merge and clean up the pull request to suit the taste of their codebase.
In summary be nice.
I have seen designers become developers and later core code contributors to some of the largest projects globally. It goes a long way being nice.
What is your experience with contributing to projects? What helped you calm the doubts of contributing to that project?