Growing the number of open source community contributions?

Hi! It seems like the open source part of iNaturalist on GitHub could use a little support from the community. Lots of feature requests and bugs and a very small team to manage it all. As someone who has been in open source for a very long time as both a code contributor and a community manager, I notice these things, and I feel for this small team of maintainers. They must feel overwhelmed! <3

Is there anything we can do to make the onboarding process a little easier for potential code contributors or connect with folks who might be interested in contributing? I know Hacktoberfest is almost over, but maybe there are orgs or student groups that would be interested in helping out through a hackathon or other event.

The open source project I help manage also finds loads of enthusiastic contributors in folks who are pretty new to open source. They just need a little extra handholding and guidance. Maybe we could create some onboarding materials for them.

I don’t know if this is something the iNaturalist open source maintainers would be interested in getting some help with but I’m happy to help, and I’m sure others would too.

I certainly don’t want to create more work for anyone, or bring in more contributors than the maintainers can handle, but maintainer burnout is real and it looks like the team could use a few more hands. <3

Just throwing this out there - let us know how we can help!

5 Likes

Here are 15 “easy” bugs to fix in iNaturalist if anyone wants to jump in:
https://github.com/inaturalist/inaturalist/labels/easy

5 Likes

In what language is iNat coded?

Hi @Elizabeth! Fancy seeing you here.

I took a look at the README and the Contributing guide, and the overwhelming feeling I get from reading them is that the iNaturalist coders do not want people to contribute to the codebase. The language used in both documents is very discouraging. For example, stating that “it won’t be easy”, “we’ll look at it when we have the time”, and “we’ll probable close your issue”. I cloned the repo and looked into editing the guideline, but I’m not even sure if I can open a PR for doc fixes without opening a thread on the forum.

Like you, I’d be happy to help figure out how to make the code community more welcoming - but I think there needs to be a discussion with the iNat team if they want help.

@inaturalist - do you want that?

2 Likes

Mostly Javascript and Ruby on Rails, with a few others thrown in, according to https://github.com/inaturalist.

Hi @Elizabeth! Fancy seeing you here.

@richardlitt !! omg! It’s good to see you in this community! :star_struck:

Thanks for jumping in here :pray:! I think your points are totally valid, and I guess we will see how this plays out. There are lots of open source projects that just offer the code and don’t accept outside contributions, so I’m also curious about iNat’s stance.

See you around! :laughing:

1 Like

i don’t think that’s true. there have definitely been non-staff contributors in the past, and staff have definitely offered extra assistance in the past to get folks set up with a dev environment.

i think the reality is that the system is sufficiently large and complex that it will probably take even the best coders out there some time to set things up, plus additional time to learn the conventions and nuances of the existing codebase.

so i think the way things like this go, it’s really a calculation in potential contributors’ minds whether they realistically have the time to set up a dev environment and then do enough coding to justify the startup effort. for me that’s the calculation that’s prevented me from moving forward. even though i don’t claim to be a great coder, i think i could help, but because i have basically zero Ruby skills, even if i have touched most of the other languages and other stuff before, i figure it still would probably take me at least a good week to even push out my first easy bug fix (assuming that i actually will test out my code myself before handing it off).

(i think there have been a few cases where the fix was very obvious and could be fixed with just a line or two, and i’m guessing folks have just checked in code without actually testing it, but that’s something that i’d be uneasy doing myself.)

it may be worth looking at some past discussion related to folks potentially contributing code:

5 Likes

I think you misread me. The quote you use took my words out of context. I said that I feel that they don’t.

I could have been clearer in my text - I was responding mainly to Elizabeth’s question: “Is there anything we can do to make the onboarding process a little easier for potential code contributors or connect with folks who might be interested in contributing?” I don’t feel that this is a priority for the iNaturalist devs, given the wording of their documentation on the repo alone.

I’d be happy to learn that this is not the case.

1 Like

I’ve contributed to iNaturalist in the past, and hope to get back into it once I get some more of my free time back.

I found the biggest hurdle to getting to the point that I could contribute was the development environment setup. The iNaturalist Development Setup Guide had almost everything I needed to get things setup and running, but it still wasn’t straight forward.

Given the number of steps involved, I ended up scripting the iNat setup for my Ubuntu VM for myself, and anyone else who wants to run the same setup. The scripts are a bit rough and ready, but I know of at least one other person who has used them successfully.

The main dependencies have been dockerized, which saves on having to setup PostgreSQL, Elasticsearch, memcached and redis manually, though I wonder if more could be done to make the experience smoother for new contributors.

I felt that my contributions were very much welcomed, as the iNaturalist devs I’ve interacted with (mostly Ken-ichi) were entirely friendly, thankful of contributions as well as professional. The comments on issues and the PRs I submitted were responded to promptly as well.

I hadn’t read the Contributing Guidelines in the way you did @richardlitt. I see them as trying to set expectations upfront in a clear and open manner so contributors don’t spend time working on something that gets rejected.
I do think you have a point that it could be improved though, and the tone of the document could be changed to be more welcoming.

5 Likes

I found the biggest hurdle to getting to the point that I could contribute was the development environment setup.

Same for me, Ruby made it a pain and then I deviated from the setup guide to use different tools on my mac and everything did run smoothly afterwards. In their defence, the setup of the environment is in most bigger projects I worked for / contributed to a pain in itself and it can not be solved easy. My current iNat dev setup, which now works for me, will maybe (surely) not work other users etc.

I felt that my contributions were very much welcomed, as the iNaturalist devs I’ve interacted with (mostly Ken-ichi) were entirely friendly, thankful of contributions as well as professional. The comments on issues and the PRs I submitted were responded to promptly as well.

100% agree had a great, friendly and fast code review process.

I’ve contributed to iNaturalist in the past, and hope to get back into it once I get some more of my free time back.

Again 100% agree, but to be honest, I have a lot of OpenSource projects I should contribute to, but free time is something which seems to steadily getting lesser each year for me. :(

Cheers
Hannes

3 Likes

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.