Scott Hanselman

Bring Kindness back to Open Source

July 23, '15 Comments [49] Posted in Open Source
Sponsored By

Nick Burns - Your Company's Computer GuyWhen you're rude/crisp/sharp/whatever to someone in a PR or Issue, your meanness may have turned off the next generation of open source committer. It's that simple. When folks are just starting out as Code Newbies their initial interactions in this new world matter.

I've been doing this for over 20 years. There's knowledge and (hopefully) wisdom that I've gained in all that time, assuming it's not the same year of experience twenty times. Along with all that time that I (and you!) put in comes great responsibility. We need to think as a community about stewardship, sustainability, and successor management.

There are folks in open source - successful folks - that think that all this talk of "niceness" is overrated. "Talk is cheap, show me the code" is a fun thing to say. But no, talk isn't cheap. It's not cheap, yes, it takes time and patience, but it IS important.

As we try to move towards more representative teams and expand the leadership beyond the old network, this somehow controversial idea of being welcoming and patient to new people is even more important.

There are many folks out there with skills and knowledge that are not joining open source because their initial attempts to contributed were rebuffed.

Jesse Pollak posted two great tweets last week that really point out what's wrong with open source, especially for new people just starting out.

Jesse pledged a "no meanness" rule. I join him in this pledge and encourage you to also.

I've thought similar things before.

Sound like too much work? There are ways to built a welcoming culture into the process. Here's some ideas. I'm interested in yours also.

  • Make a contributing.md.
    • Gently point folks to it.
    • If you get a lot of newbies, write a kind form letter and funnel them towards forums or mentors.
    • Create a Getting started friendly FAQ.
  • Tag issues with "up-for-grabs" in your repositories.
    • Classify by difficulty. Easy, Medium, Hard, Insane.
  • Point new people towards samples, easier parts of the code, docs, tutorials, etc. Grow your enthusiasts.
  • Join http://up-for-grabs.net
  • Consider applying the Contributor Covenant or a similar CoC to your project. Enforce it.
  • Make an issue and "only accept a PR from someone who has never contributed to open source" just like Kent C Dodds did for his project!

Have you helped with an open source project? Did you had a bad initial experience? Did it slow you down?

Perhaps you had a great one and your first pull request was awesome? I'd like to hear your story.

Sound off in the comments!


Sponsor: Big thanks to Infragistics for sponsoring the feed this week. Responsive web design on any browser, any platform and any device with Infragistics jQuery/HTML5 Controls.  Get super-charged performance with the world’s fastest HTML5 Grid - Download for free now!

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook twitter subscribe
About   Newsletter
Sponsored By
Hosting By
Dedicated Windows Server Hosting by SherWeb
Thursday, 23 July 2015 05:51:14 UTC
Online communities everywhere can be harsh and unfriendly. It's why I left coding behind: Getting treated like crap.

BUT: there where many nice people, I learned a lot of good things. Hope the unfriendly ones and the trolls don't take over too much.
Thursday, 23 July 2015 05:58:24 UTC
While there are several times that I have avoided contributing to projects without clear contribution guidelines it was never about me being afraid of being shouted at; I just didn't want to waste both my own and the maintainer's time.
Pontus
Thursday, 23 July 2015 06:17:37 UTC
Yep, most OSS projects maintainers come over mean and grumpy. I have contributed to a few over time and I have maintained one myself. I can understand. AS a maintainer I didn't want people to mess with my baby. As a contributor I wanted to add things I thought important.

I don't do either anymore it's to much stress, how will the project maintainer react, how do I not upset somebody, how not to come over arrogant and condescending. Do I really need it? Can't I just create my fork and maintain it.

Yes sure you learn, but maintaining a popular OSS project all by yourself on your spare time can lead to burnout really quickly. Having to explain time and time again why you used winforms and not WPF and ...

But you also learn from the experience, just do it once or a few times and learn. If it ain't for you than that's fine, if you can cope with the added stress, I salute you, all of us are different.

Oops, sorry for the long comment.
chrissie1
Thursday, 23 July 2015 07:00:36 UTC
As an OSS maintainer myself, I have all the time in the world for new people who show an interest in helping or just people that have problems / questions.

There are others in the community however that just sap the energy from everyone else - Poisonous people. The thing about poisonous people is that they don't realise it, they're usually well intentioned.

You need to identify these people as soon as possible. Sometimes harshness is justified as part of the disinfection process.

'Patches welcome!' is the most common phrase in OSS for a reason.
David
Thursday, 23 July 2015 07:14:59 UTC
I got a bucket load of crappy attitude from an owner of a popular C# BDD framework for trying to improve a section of it and now I don't contribute to it as a matter of principle that my volunteering on said project isn't being appreciated.

I wholeheartedly agree with this post. Be nice to people giving their time, skills, and energy to something for free. If they have gone down the wrong path, say so and give guidance, but don't try to shove people in a given direction - point them - and never belittle their contribution even if it is unusable.
Thursday, 23 July 2015 07:28:03 UTC
I didn't made a lot of contributions in OSS yet but from my experience I received very useful and nice responses so far.
Thursday, 23 July 2015 07:39:38 UTC
Being a maintainer of a project whose userbase has grown substantially over the last 2+ years since its inception, I have to chime in here with a little "but" ;)

To make things clear: I really try to be friendly, I try to point people to where they can find their questions answered, I try to assume that if someone asks a question to which there is an answer that from my point of view is obvious, it might not be obvious enough and I try to find the time to change that.

BUT... I can also tell you that a large part of requests I get hint at unbelievable laziness on the part of the person asking. I have a CONTRIBUTING.md file that is automatically added by my bugtracker (on Github) on top of every "new issue" form. I have a full fledged bug reporting template with detailed points where to find the information I'm asking from people - not because I want to bully them but because I can't help if I don't have the information necessary to be able to help. I have an FAQ I keep adjusting with the actual frequently asked questions and their answers, and it's linked from CONTRIBUTING.md, the bug reporting information, the wiki, the webpage, and basically everything else. I even wrote a bot that processes new issues and posts a comment directed at the OP if the ticket doesn't match the template, linking to all of the above.

And people just don't bother to read any of that, or if they do, just ignore it. In fact, I recently had a user who literally told me "too much effort" when I asked him to provide the information I needed to help him solve his problem. I have people who get a ticket commented on by the bot, then instead of adjusting it with the info I need to help them just either never react again or become nasty about being asked that kind of info. The bot used to only comment and tell the users to please provide the info within 14 days, or the ticket would be closed. No reactions. Not even when I personally pinged them again too. I then changed the bot to directly close the ticket and ask for a re-open after the info has been provided. I STILL don't get any reaction from a lot of people.

Have that happen a couple of times per day on certain occasions (e.g. just after christmas, after everyone got their shiny new 3d printers) and you can't help but start to feel like a broken record if you still try to help the newbies and be friendly and point them to the docs etc etc. And that can really make you angry, especially when you'd rather spend your time helping people who DID provide the necessary information or fixing bugs or *gasp* adding functionality ;)

Same goes btw for pull requests - I state in my CONTRIBUTING.md to a) always create those against the development branch and b) if they are larger, to please consult with me first to avoid frustration if the changes don't fit the general architecture/vision for the product or if they wouldn't better be fit for a plugin (and the real changes to the core code should be adjustments to allow for that plugin to work). Not many people follow that either.

tldr: Yes, a lot of open source communities are a quite hostile environment for newbies. I hate that and I really try to do my best to provide a friendly environment. But it's not all the fault of the maintainers either. We have a culture of entitlement among the users of open source software that can drive you absolute insane as a maintainer. Maintainers are only human too - if someone lashes out at you, it might be because you are the tenth user today asking the same question which you'd noticed if you'd gone through the provided docs/tickets/support venues first. My guess is, if more people using open source "did their part" a bit more thoroughly, more maintainers would become more friendly too.

Sorry for the wall of text, still not over though, because I also want to say: Thanks for the heads-up regarding "up-for-grabs". I might adopt that, that's a great approach to get people "eased into" giving back.
foosel
Thursday, 23 July 2015 07:44:07 UTC
Thanks for your excellent comment, Foosel!
Scott Hanselman
Thursday, 23 July 2015 08:53:59 UTC
I find contributing to OSS exhausting, because of having to endlessly tip-toe around the sensitivities of the project owner. I try to tell myself that honing such tip-toeing skills is a valuable self-improvement project in itself, but frankly it's rarely worth the bother.

It's particularly difficult when you find chunks of projects which are really shaky, with a bunch of bad stuff which you know will lead to later problems, but the maintainer dismisses the best-practise guidelines as 'stupid', or just throws another random Sleep or exception handler in to paper-over the problems.

At that point, I tend to just fork the code, sort out my own branch without worrying about other peoples' regressions, and forget about the original stress.

I am under no illusion at all that it's also pretty much impossible from the other side too - after public request I threw a bit of very rough junk up on GitHub for someone to have a look at - next thing I knew someone else had modified it, made it into a Nuget library, and published it on Nuget.org with my name still on it. Difficult to get rid of that, too.

Closed-source, paid all the way. That's the future...

Will
Thursday, 23 July 2015 09:10:37 UTC
I think it boils down to enthusiasm.

Quite a while back I opened an issue on popular project. I immediately replied saying that I would fix it, but would like the maintainer to validate the approach I planned to take. It was going to be a few nights worth of work. "Looks good, make the changes and open a PR." So I made the changes and opened a PR. "I don't think this is the right approach." Another maintainer was bought into the discussion and the two of them proceeded to discuss how they wanted to solve it. After a few days and dozens of comments it occurred to me that they never even read the code. It was blindingly obvious that the maintainer hadn't even read the one paragraph explaining how I intended to make the fix in the first place. PR closed, fork deleted.

Contrasted with this type of response. jdan is an excellent example of how to appreciate contributions. No reasonable person couldn't have all the time in the world for a maintainer with an attitude like that.

Issues and PRs are a gift. It seems as though people forget that.
Thursday, 23 July 2015 10:44:57 UTC
There are others in the community however that just sap the energy from everyone else - Poisonous people.


Awesome talk David, thanks for the link! Haven't fully watched it yet but the first 10min I squeezed in over my lunch break were promising.

Issues and PRs are a gift. It seems as though people forget that.


Jonathan, let me extend on that: "Issues, PRs and the Open Source Projects they are filed for are a gift. It seems as though people forget that." It's not like the typical maintainers of such projects just spend their whole time slapping themselves on their shoulders, twiddling their thumbs and waiting for contributors to move the project forward ;)

But yes, good issues and PRs are a gift. And what you describe sounds like it was a very good PR and something I love to see in my project(s), especially since you tried to get in touch about it first. Bad issues and PRs (e.g. "It doesn't work, please fix!!1!", 3k lines of code without comments, tests or even a description what they are supposed to do, or just a discussion worthy PR at a time people are swamped with other work) are or at least can be a curse that sucks a lot of energy out of maintainers. And even a good PR can be a problem if it happens to not fix something but add a feature the maintainer then has to, well, maintain too but might not even have the means to - there's a lot of "drive-by" PRs out there that can make a code base complicated.

That's all I'm asking people to keep in mind too please. I agree that there's a problem with the tone (and also the egos) in Open Source, I too have been known to bang my head against flat surfaces due to that from time to time when wanting to contribute ;)
foosel
Thursday, 23 July 2015 11:08:07 UTC
Little more than a year ago a .Net Rocks episode touched nebulous topics such as craftsmanship, and the maturity of programming as a profession.

I wrote a comment (which scored me a mug) about an old professor who argued that a body of literature was a defining characteristic of maturity in a professional discipline. I then suggested that OSS, GitHib, et al., could be that body of literature indicating professional maturity of software programming.

Based on this post, maybe we're still in junior high.
Mike Henderson
Thursday, 23 July 2015 12:30:01 UTC
Great Post Scott

I must to agree with @foosel there is a mix of two worlds. I have been the mantainer of FileHelpers for more than 10 years

I´ve met a lot of cool people that makes the library shine and help with docs, ports, new features. I now consider friend of lot of them.

But.. somethings there are people filling bugs just because they can use the library because don't know how to iterate over an Array, or convert an Array to a List<>.

At first I tried to help, but after some time of doing that, you realize ta you are helping to solve trivial problems, using a ton of energy for a task that don't adds nothing to the library and is frustrating

There are also many people that said mails like this:

"I have this csv file, what code I need to read the file and import it to Sql Server table"

The best solution I found is to point them to StackOverflow, add the FileHelpers tag and they got their responses and the contributors to the library can help newbies to understand how the library works.

Just added FileHelpers to up for grabs !! Thanks
Thursday, 23 July 2015 12:46:02 UTC
The reason I haven't contributed to an open source project is because I haven't taken the time to submit quality content. Though, now that this CoC thing has come up, I think I'll just say it's because open source is vitriolic. It's not me, it's them.

Yeah, that's nice. I feel better about myself now.
Peter
Thursday, 23 July 2015 13:03:13 UTC
I have done some minor contributions, and tried as well to contribute to some projects but gotten rebuffed by the "owner". Why open source something and look for contributions if you are just going to make someone who wants to commit something feel like an idiot? I don't get it it. Agree with the post, it has turned me off. I would rather just fork something or work on it myself if it warrants it than try to play "in the sandbox" with bullies ;)
Thursday, 23 July 2015 13:19:33 UTC
I think some of the kindness in OSS comes from developing a thick skin. When I first started as a maintainer on a large OSS project 12 years ago, I was much less forgiving of my users. I used the "Contributions welcome" mantra as a club to bash users - essentially an OSS way to say FU. In the early days I would get frustrated by every little slight or negative comment and I reflected that negativity back at the community members.

What I learned along the way is that cultivating a community of users and contributors takes a lot of fertilizer and just a tiny amount of pesticide. Fertilizer in the form of encouragement and praise. Being accepting of contributions - even those that are far from perfect. And in general making the community a place that people are attracted to.

Beyond learning through experience, which can often be an expensive way to learn, I learned to improve my community management skills was by talking to and observing how other successful OSS communities are run. I love the attitude that Nik and Anthony have in building the Glimpse community. They go out of their way to encourage contributions and ensure that every contribution is recognized and celebrated.
Thursday, 23 July 2015 13:48:30 UTC
Good article, I think the same argument is valid everywhere not only the open source world, i think it's more destructful in an open source community as no one is paid to write code.
Samer
Thursday, 23 July 2015 13:49:39 UTC
where i've had unpleasant experiences is with stackoverflow. i still use SO because of its value, however, i'm fortunate to have very thick skin.

OTOH, Microsoft's forums.asp.net is very friendly.

Discussions at Linkedin also work for me; i've only encountered one nasty person there.

Scott, until this article of yours, i was not aware that nasty people are to be found in the OSS community ... my expectations of the OSS community is that sharing people would also be caring people.

BOTTOM LINE: Life is too short to be nasty on purpose.
Thursday, 23 July 2015 14:13:30 UTC
As with most things there are two sides to this issue.

I'm sure that some people who contribute to open source expect to have their butts kissed by the owner/maintainer of the project. If the maintainer dares ask for unit tests or for the contributor to follow the project's established coding style the contributor's attitude is that they are being harangued, bashed, criticized, etc.

On the other side, perhaps maintainers are being overly critical. I recently made a small contribution to an open source project. The owner took my contribution and completely re-wrote it. I barely recognized the code when he asked me to take a look at it and let him know whether it still met my needs. Yeah, it's a bit of an ego thing, but if my contribution is going to be tossed and rewritten I might as well just put in a change request or grab the source and create my own version of the package.

So, as with most things, both sides need to be a little more reasonable instead of treating it as adversarial relationship. Contributors need to be willing to follow coding, architectural, and testing requirements of the project, and maintainers need to be willing to accept that not everyone is going to write the code exactly the way they would have but if it works and follows the aforementioned requirements/principles they accept it and say "thank you."
Craig
Thursday, 23 July 2015 15:20:30 UTC
@gerry lowry Interesting, I notice this as well with SO. I spend a lot of time on that site, and occasionally answer the odd question and have noticed that nitpicking, flyby downvoting, harsh reactions to new-comers, is getting more and more prevalent.
Thursday, 23 July 2015 15:23:03 UTC
Great post. In my early days in professional software I had some online interactions in a Yahoo! group for JUnit. To this day, those interactions make me glad I walked away from the Java community.

Now, I know a lot of Java guys, have deep respect for them and even work with some of them on mixed teams... but I still have a bad taste in my mouth for Java. Bad interactions can leave a lasting impression, even beyond the point where it is rational.

The challenge we face in the tech community is marrying technical skills with people skills. We need to be better at this task.

Part of me thinks the root cause of some of this is arrogance. Maybe it is my own arrogance, but even though I am a senior level architect now, I still don't contribute to OSS partly because I don't feel like having some guy I don't know yell at me.
Matt Swaffer
Thursday, 23 July 2015 16:19:07 UTC
Without dropping any names, there's a certain maintainer of a certain large/successful open source OS kernel that lacks kindness, and tends to personally insult people that maybe make a relatively not-smart contribution. My personal belief is that this project could be *more* successful if this maintainer was kinder. When I point that out to the supporters of this maintainer, they always say "hey, he/she has been running this project successfully for years, what they're doing is working just fine". And I have to admit, they're somewhat right. But my response to that is that the project is at 95% on the awesome scale. Perhaps it could be 98% on the awesome scale if they were just a little kinder to others.
Thursday, 23 July 2015 17:36:24 UTC
This should also be applied to working within a company. I've been a developer for almost 15 years now, and have seen the good, bad and the ugly when it comes to interacting both in OSS and inside company walls.

Frustration happens, especially when you're faced with a high turnover rate and an almost constant flow of junior devs. But I've found that kindness and a willingness to help them out is far more satisfying, and eventually helps reduce my work load once they're vetted.

Great post!
David
Thursday, 23 July 2015 19:12:35 UTC
The Ruby community has the motto, "Matz is nice and so we are nice." https://en.wikipedia.org/wiki/MINASWAN
Tim
Thursday, 23 July 2015 19:27:36 UTC
I've worked in IT for 10 years now and I'll be the first to admit I'm not the greatest IT person available. But man, having a good attitude and kindness makes a night and day difference. My co-workers appreciate the fact that I don't mock them for not knowing how to enter data into excel (yeah that was a long day), but because of that, I've been appreciated and promoted more than any body else.

Its funny but IT and Coders have typically had a bad reputation just like the picture of "Nick Burns." People almost expect to be met with jerks in the IT world and are surprised when we can actually be helpful and kind.

I appreciate you bringing this up, even though its a pretty specific example, I think its something as a whole field does need to be addressed.
Thursday, 23 July 2015 23:24:15 UTC
A happy story. My friend Josh Flanagan put out a call, years back, "Who's good at unit tests and wants to learn GitHub?" Me!

Josh was so patient, walking me through getting the project and getting it to build, answering my questions on the etiquette of pull requests, and even sitting with me to unsnarl and cherry pick the commits I'd made on the wrong branch, not realizing that a pull request applied to a whole branch instead of a snapshot in time. There's no way I saved him time over doing it himself. He never made me feel like an imposition nor an idiot. I learned a ton.

When I finally had a merged contribution under my belt, I was so proud! It makes me continue to be a fan of that library, HtmlTags, and we still use it on new projects at work. It bolstered my confidence as a developer considerably, and I'm very grateful.
Friday, 24 July 2015 12:35:06 UTC
posts like http://vikingco.de/quitoss.html make me sad that the Trolls are ruining the Internet for decent people. Paul is a good guy and certainly doesn't deserve the grief of freetards and genuine imposters.

Like most things that involve people, we need to be vigilant against stranger-danger.
Friday, 24 July 2015 13:17:35 UTC
@Ewen

Those aren't even trolls. Trolls are people intentionally trying to get a reaction. Most of those people are simply oblivious.

They're seemingly, if you look at the issue tracking of any widely-used OSS project, the majority, as well. And growing each day.

----------

Re: The blog post:

http://weblogs.asp.net/alex_papadimoulis/408925 is still one of the best articles on the subject of "kindness in the community."

All too often, the only thing people will accept as "kindness" is doing their work for them. Adding FAQs and .MDs is fruitless if no one actually bothers reading them, and do you really want people who can't even be bothered to read the project documentation on the front page contributing code?

Someone mentioned Linus here. If anyone goes back and actually reads his comments on the infamous PR, he starts out being pretty nice, but doesn't stay that way when someone argues with him about the standards He set for His project. When you have to coordinate hundreds or thousands of contributors, you can't waste 5 minutes with every single one of them explaining the basics.
Anon
Friday, 24 July 2015 17:51:53 UTC
The only word I object to is "back" in the title. Between Torvalds and Stallman, I'm not sure there was a Golden Age Eden to return to. But we can certainly create a future Utopian Paradise of kindness.

But I always thought this was the "Geek Filtering Factor" where these people filter incoming words, not outgoing words. Their words are curt and obnoxious, but rarely malicious. Sadly, this is fostered in some colleges and communities.
Quadko
Saturday, 25 July 2015 03:36:57 UTC
In the past we were told to RTFM or worse. There's a possible reason that Lisp never gathered more proponents, newbies were ritually sacrificed on comp.lang.lisp and other related newsgroups. But now there's a large number of people that expect you to cater to their whims, aka do their homework for free. Check any long lived community like SQL Server Central and you discover they develop mechanisms for dealing with the lazy.

The best teachers/mentors/leaders will assist you, set an example, then challenge you to do the work. As an mature adult you should be able to research and explore with guidance. You should also know well enough to not assume a person or community is your servant or minion.

Two key points come to light in the latest discussions: Technical ability and external actions.

If I'm a leader of a community project that develops software for UHF radio propagation and you join and do not have any technical background and will not educate yourself in the subject or supporting materials, it's not my job to educate you in possibly years of acquired skill and knowledge. You might be a distraction. Some times the cost to join a community should be greater than just having computer access and a GitHub account.

If I participate in a project that develops software for DIY crock-pot and sous vide control and I'm also a game hunter, does a vegan or PETA member have a right to challenge my participation in the project, just because it disagrees with their values. (Or vice versa...) Especially if we don't thrust those views on each other outside of the realm of recipes.

As a past OSS user group leader there is a balance between dealing with trolls and beginners. There are awesome contributors and those that need a manners class. And hopefully the effort is rewarding to all that join and work together in good faith.

Chris Nelson
Saturday, 25 July 2015 05:26:51 UTC
Great article and great comments!

I've made both experiences. No surprise with so many people and projects out there.

By far the best experience I'm having with the ToDoList community (http://www.codeproject.com/Articles/5371/ToDoList-An-effective-and-flexible-way-to-keep-on). :)

Less fortunate I have been with some people (high up the food chain) on the mailing list for Jitsi. No doubt, an outstanding project, but the quite arrogant, cocky, know-it-all-better behavior of only one person (as I said, high up the food chain) made me step back. :(
Hans
Sunday, 26 July 2015 20:21:31 UTC
I've haven't contributed to any open source projects, but there are a few things that seem to stick in my head from my personal experiences and one of the original NetBSD developers and I can't see to find the link for the life of me on Google, but it was summed up as:

People submitted patches that would not compile, and we should have ignored them earlier.


A lot of the problems I find is that people don't make sure their commit is clean, i.e People put up whatever happens to be in their workspace and I see this done by "Senior" developers inhouse. I can only imagine the nightmare for any project maintainer when you get patches from people that aren't professionals.

Everyone does tutorials about how to start of with <insert tech here> but nobody does tutorials about how to do revision control properly. They are few and far between, because the subject isn't sexy.

Monday, 27 July 2015 20:37:43 UTC
Back in 2012 I once contributed to a open source project named froxlor on github (https://github.com/Froxlor/Froxlor). I've developed a functionality I wanted a lot and then sent a pull request. Got good feedback from the project owner but some turn downs from another active contributor who could find a lot of problems in the development. He was right, but he could just jump in and cover the other issues or provide his feedback in a more constructive manner. :)
https://github.com/Froxlor/Froxlor/pull/28

The end experience was very encouraging to always make concise commits in any VCS.

I notice in the everyday that few people care about commits. Not everyone cares to keep separate changes separate or not commit things that could be generated on demand (in compile time or by a script).

Committing binary files on source repositories and always letting 'merge from upstream' on pull are also common practices I always avoid. First by not committing binary files or using different repo for that, second by (ab)using the rebase function of git.
Fabrício Murta
Monday, 27 July 2015 20:44:49 UTC
Oh, worth mentioning! The one above was the happy story with a villain in. I remember back on gentoo forums/bugtracker where I received pretty discouraging feedback from the developers. Still, gentoo is my linux distro of choice. I persevere and would provide them additional feedback on issues I find in it if/when one raises.
Fabrício Murta
Tuesday, 28 July 2015 05:43:09 UTC
Scott, thank you for writing about this. It's an important subject that often gets overshadowed by our own egos. An important aspect of this discussion however, is that code quality must not be sacrificed in the name of friendliness. When someone say submits a PR containing poor code, the best thing to do is to explain to them what needs to be improved and why. Actually it's a great opportunity to teach and thereby increase quality over time. It's impressive how quickly people improve when they are given useful feedback.
Aluan
Wednesday, 29 July 2015 16:16:58 UTC
Scott, I once contributed to two OSS projects a long time ago. For the first one, the team was very friendly and worked well together. Those people have gone on to become very successful people and a few of them ended up working for Microsoft (and still do). It was long before GitHub. I'm glad to see you promote the friendly attitude in your new projects.

The other project was run by a very arrogant and mean person who chewed me out for using technology in "his" program that would cause the exe to be a little bigger but solve a significant problem. A month after he removed my contribution, he reintroduced it as his change, completely leaving me out of it. I haven't contributed anything to OSS since.

Attitude matters and how we treat other people will significantly impact the success of future OSS projects. People will be attracted to the friendly projects and avoid the unfriendly projects.
Friday, 31 July 2015 01:34:21 UTC
The first PR I remember doing was a bug fix to RestSharp which at that time was maintained by Phil Haack. Such a positive experience... first of all it was clear what process I needed to follow. Then once I submitted the PR and it was merged in, Phil gave a big thumbs up picture (or similar). It felt great and set me up with a positive outlook to contributing to OSS projects!

My experiences since then have never been negative, but none very positive either. I haven't found rudeness but certainly terseness. A lot of repos don't describe the process they want for a PR so I don't know if I should log an issue then go ahead and submit the PR myself, or hold off and wait for the maintainer to advise.
Friday, 31 July 2015 14:16:52 UTC
I have had such troubles with OSS projects. I contributed to OSS and got over moths not answers about my merge requests. For an newbea this is frustrating in then frist time. My learning was contribute further and look over these projects and go to another OSS projects and If I can contribute there something I will find out I my contributation is there more welcomed. For me this way without giving-up to contribute to opensource business is and was worth. I'm still an newbea but I'm not frustrated when someone rejects my commit or even not gives an feedback.

Thank you to report and talk about it. Thank you for sharing your comments and thoughts.
Friday, 31 July 2015 22:39:20 UTC
Thanks for the tips Scott. I'll try to add my project to up-for-grabs.net and I'll remember your advice when someone tries to contribute!
Saturday, 01 August 2015 08:48:43 UTC
thanks for sharing this wonderful information with us. I am feeling very happy for founding this stuff. dubsmash for pc, vidmate for pc. thanks.
Saturday, 01 August 2015 21:29:24 UTC
I have much to learn about open source. I have only done one pull request and my contribution was welcomed. It was a bit hard to understand how the whole pull request mechanism even worked the first time but somehow I muddled through. It would be cool if there were some training project that open source newbies could use just to learn the mechanics of doing contributions. Kinda like a test environment for submitting trivial contributions just to learn the workflow. That way real projects aren't burdened with this orientation process. Just a thought.

Thanks for a great article that has opened my eyes to the challenges of open source. In the end I think its worth it but somehow we developers have to learn to be nicer to each other it seems.
Sunday, 02 August 2015 09:53:43 UTC
As someone who has very recently dipped his toe into the world of contributing to open source. I'm looking forward to a response to my pull request: I added a nice feature, tested it and added the request. Sure my code isn't breathtaking nor is it the only way to fix the problem, but it works and I wanted to share it with other developers.

If I get a terrible response it won't put me off contributing in the future. If there is a nugget of truth to what the developer says I'll take it on board and be humbled by it. I think what's worse for new developers is being told "No." or having their work completely disregarded without constructive criticism.

I recently started a new job in a development house and I'm constantly having my ideas rejected. The good part about it is they will tell me why it won't work / it's a bad a idea. I'm growing and becoming a more conscientious dev because of it.
Andrew
Tuesday, 04 August 2015 15:55:57 UTC
Wow, that Contributors Covenant webpage. I had to change the background image to be able to read it through that pukey yellow color!
Wednesday, 05 August 2015 22:37:26 UTC
In WordPress world we have an issue designation called good-first-bug. It may not be as graduated as easy, medium, hard, insane but it helps our new enthusiasts get their foot in the door. You can read more about it here:

http://wptavern.com/why-you-shouldnt-be-worried-about-screwing-up-when-contributing-to-wordpress

Cheers
Sunday, 23 August 2015 04:12:57 UTC
&#35211;&#20107;&#12394; &#29289;&#35486;&#12354;&#12426;&#12290;&#20309;|&#24460;&#12398;&#30330;&#29983;&#12364;&#36215;&#12371;&#12426;&#12414;&#12375;&#12383;&#12363;&#65311; &#12362;&#12363;&#12370;&#65281;
3&#26085;&#38291;&#38480;&#23450; 100%&#26032;&#21697;&#12475;&#12540;&#12523;&#12473;&#20013; http://www.fnps-society.org/?list218=24373
Sunday, 23 August 2015 04:13:45 UTC
&#12381;&#12371;&#12395;&#12385;&#12423;&#12387;&#12392; &#20351;&#29992;&#12375;&#12390;&#12354;&#12394;&#12383;&#12364;&#12375;&#12390;&#12356;&#12427;&#12354;&#12394;&#12383;&#12399;&#31169;&#12364;&#12393;&#12398;&#12507;&#12473;&#12486;&#12451;&#12531;&#12464;&#20250;&#31038;&#12398;&#12454;&#12455;&#12502;&#12507;&#12473;&#12488;&#30693;&#12425;&#12379;&#12427;&#27671;&#12395;&#12375;&#12414;&#12377;&#12363;&#65311;&#12381;&#12398;&#24460;&#12289;&#12411;&#12392;&#12435;&#12393;&#12398;| &#36895;&#12367;&#36895;&#12367; &#12502;&#12521;&#12454;&#12470;&#12392;&#31169;&#12399;&#12289;&#12371;&#12398;&#12502;&#12525;&#12464;&#12399;&#22810;&#12367;&#12398;&#12371;&#12392;&#12434;&#12525;&#12540;&#12489;&#12377;&#12427;&#12392;&#35328;&#12431;&#12394;&#12369;&#12428;&#12400;&#12394;&#12425;&#12394;&#12356;| &#30064;&#12394;&#12427;&#20840;&#12367;&#30064;&#12394;&#12427;&#31169;&#12399;3&#12391;&#12354;&#12394;&#12383;&#12398;&#12502;&#12525;&#12464;&#12434;&#12525;&#12540;&#12489;&#12375;&#12414;&#12375;&#12383;&#12290;&#12354;&#12394;&#12383;&#12364;&#12377;&#12427;&#12371;&#12392;&#12364;&#12391;&#12365;&#12414;&#12377;&#20385;&#26684; &#12391;&#12503;&#12525;&#12496;&#12452;&#12480;|&#33391;&#12356; Web&#12507;&#12473;&#12486;&#12451;&#12531;&#12464;&#12507;&#12473;&#12486;&#12451;&#12531;&#12464;&#12452;&#12531;&#12479;&#12540;&#12493;&#12483;&#12488;&#12507;&#12473;&#12486;&#12451;&#12531;&#12464; &#31034;&#21766;&#12434;&#12362;&#21223;&#12417;&#12375;&#12414;&#12377;&#12363;&#65311; &#12354;&#12426;&#12364;&#12392;&#12358;&#12372;&#12374;&#12356;&#12414;&#12377;&#12289;&#31169;&#12399;&#12381;&#12428;&#12434;&#24863;&#35613;&#12375;&#12414;&#12377;&#65281;
&#19968;&#37096;&#20104;&#32004;&#36009;&#22770; &#20013;&#21476;&#21697;&#12395;&#38480;&#12426;&#36820;&#21697;&#21487;&#33021; http://bickhamgrange.com.au/?list173=24860
Sunday, 23 August 2015 04:14:44 UTC
&#12354;&#12394;&#12383;&#12398;&#12524;&#12452;&#12450;&#12454;&#12488;&#12395;|&#12354;&#12394;&#12383;&#12398;&#12521;&#12452;&#12486;&#12451;&#12531;&#12464;&#12473;&#12461;&#12523;&#12394;&#12393;&#12392;&#12418;&#12395;&#24863;&#24515;| &#26412;&#24403;&#12395;&#38750;&#24120; | &#31169;&#12399;&#31169;&#12399;&#12290;&#12381;&#12428;&#12399;&#33258;&#20998;|&#12371;&#12428;&#12399;&#25903;&#25173;&#12431;&#12486;&#12540;&#12510;&#12391;&#12354;&#12427;&#12363;&#12289;&#22793;&#26356;&#12459;&#12473;&#12479;&#12510;&#12452;&#12474;&#12375;&#12414;&#12375;&#12383;&#12363;&#65311; &#12392;&#12395;&#12363;&#12367; &#20170;&#26085;&#12371;&#12398;&#12424;&#12358;&#12394;&#12502;&#12525;&#12464;| &#32032;&#26228;&#12425;&#12375;&#12356;&#32032;&#25973;&#12434;&#35211;&#12395;&#12414;&#12428;| | &#12381;&#12428;&#12399;&#12381;&#12428;&#12399;&#12384;&#12289;&#21697;&#36074;&#12398;&#26360;&#12365;&#36796;&#12415;&#20778;&#12428;&#12383;&#32032;&#25973;&#12434;&#36861;&#12356;&#12388;&#12365;&#12414;&#12377;&#12290;
&#36229;&#20154;&#27671;&#26032;&#21697; &#19968;&#37096;&#20104;&#32004;&#36009;&#22770; http://jakubfurst.com/?list218=24114
Sunday, 23 August 2015 04:15:01 UTC
&#12495;&#12454;&#12487;&#12451; |&#12354;&#12394;&#12383;&#12399;&#20351;&#29992;&#12375;&#12390;&#20316;&#26989;&#12375;&#12390;&#12356;&#12427;&#12377;&#12427;&#12502;&#12525;&#12464;&#12503;&#12521;&#12483;&#12488;&#12501;&#12457;&#12540;&#12512;&#12354;&#12394;&#12383;&#12364;&#24515;&#20849;&#26377;&#36848;&#12409;&#12391;&#12375;&#12423;&#12358;&#12363;&#65311; BlogEngine&#12398;&#38291;&#36984;&#25246;&#31169;&#12399;&#20170;&#34892;&#12367;&#31169;&#33258;&#36523;&#12398;&#12502;&#12525;&#12464;&#12434;&#38283;&#22987;&#12377;&#12427;&#12395;&#12399;&#12289;&#36817;&#12356;&#23558;&#26469;&#12395;&#31169;&#12399;&#12479;&#12501;&#12495;&#12540;&#12489;&#38627;&#12375;&#12356;&#12371;&#12392;&#12384;&#26178;&#38291;&#12434;/ Wordpress&#12398;/ b2evolution&#12398;&#12392;Drupal&#12398;&#12290;&#31169;&#12364;&#23563;&#12397;&#12427;&#29702;&#30001;&#12399;&#12354;&#12394;&#12383;&#12398;&#12383;&#12417;&#12391;&#12354;&#12426;&#12289;&#12487;&#12470;&#12452;&#12531;&#31169;&#12399;&#12518;&#12491;&#12540;&#12463;&#20309;&#12363;&#12434;&#25506;&#12375;&#12390;&#12356;&#12414;&#12377;&#12375;&#12289;&#12411;&#12392;&#12435;&#12393;&#12398;&#12502;&#12525;&#12464;&#12289;&#30064;&#12394;&#12427;&#12424;&#12358;&#12391;&#12377;&#12290; PS &#35613;&#32618; &#12391;&#12354;&#12427;&#12398;&#12383;&#12417;&#12398;&#12458;&#12501;&#183;&#12488;&#12500;&#12483;&#12463;&#12364;&#12289;&#31169;&#12399;&#12362;&#39000;&#12356;&#12375;&#12390;&#12356;&#12414;&#12375;&#12383;&#65281;
&#24215;&#20869;&#20840;&#21697;&#12509;&#12452;&#12531;&#12488;10&#20493; &#23433;&#12356;&#21368;&#22770;,&#21363;&#26085;&#30330;&#36865; http://www.arrangementgiethoorn.nl/?list209=24776
Monday, 07 September 2015 12:04:11 UTC
great article thanks for sharing this
Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.