7 Community Recomendations
We queried Astropy community members to gather their ideas about how to improve community participation and otherwise enhance the project’s community climate. Some responses directly addressed the barriers and challenges listed above, noting how the community could be more welcoming toward newcomers and offer accessible entry points for contributing to and interacting with the project. Other respondents suggested more learning opportunities, such as workshops and tutorials, with preference for these opportunities to be available both in-person and virtually.
7.1 Improve Community Participation
Across the responses, one theme stood out: astropy users sometimes doubt their own abilities and value, with multiple respondents reporting that they or other users may not feel “skilled” enough to make meaningful contributions. Although difficult to solve from a structural level, we offer some suggestions later in this document for helping community members overcome this imposter syndrome-like barrier.
7.1.1 Beginner Resources
In any established open source software project, newcomers are often intimidated by the skill and experience of existing community members and feel that they lack the requisite skills to meaningfully contribute to the project.
Astropy users who have not yet crossed the threshold into contributing struggle with many of the same challenges. Respondents routinely mentioned that Astropy newcomers struggle to find ways to contribute that match the skills they bring to the table. In learning science, enabling people to use their existing skills and assimilate into a community of practice is referred to as “legitimate peripheral participation”. LPP tasks allow newcomers the space to observe and participate in the work of the community, pick up jargon, and otherwise engage with peers without feeling as if their tasks are so central to the project that failure would be catastrophic.
As one respondent put it, Astropy could be more welcoming of these “non-expert contributions,” building on what the project already does well with regard to astropy users. Several others echoed this sentiment.
Be more welcoming of non-expert contributions to code and github issue reports. New contributors can be scared off (or just become frustrated and leave) by the piling on of perfection expectations, i.e. the better being the enemy of the good. In contrast, the community is remarkably patient with newbie questions on how to *use* astropy; the issues I see are with how to contribute to the astropy development which has a much much higher bar.
I think Astropy does many great things; suspect those who don't participate don't feel they have the skills to contribute, and/or feel there isn't enough incentive for them to do so
I guess for someone slightly older like me, I don't always even know where to begin with engaging at a higher level than "user". Any help bridging that gap may encourage more users to engage at a higher level.
Better on-ramps to contributing.
One respondent made a suggestion for how to turn these ideas into action, which we expand upon in the Consultant Recommendations section: > I think that a workshop for new contributors would be very welcome. A newsletter or how-to on the new coding checks like ruff would be helpful.
7.1.2 Contribution List
Beyond newcomer workshops, other respondents suggested lightweight options that in some cases already exist and could benefit from some tweaking. A separate repository for newcomer issues, for example, may help get more contributors on board, particularly if the list could include skills that are required.
Maintaining a clear list of easy and potentially interesting priority projects with some indication of the skills expected to be required and the expected outcomes would be really helpful.
Having more beginner-friendly tasks/issues tagged on github and advertising those in the docs would help I think.
Similarly, one respondent noted that an increased presence on non-GitHub software platforms could increase the visibility and accessibility of the project: > We should be more active on Stackoverflow and encourage new users to post questions there to build up a nice database of simple questions/answers for new users.
For more experienced users, a more abstract approach could provide challenging and interesting entry points into the community. As one respondent suggested: > Maintain a list somewhere that has a list of questions, each starting with "can astropy...?" Every item on this list is something that astropy can't yet do. We invite people to tackle things on this list.
Outreach to newcomers could also emphasize that projects like Astropy depend on contributions, not just users:
Clearly make people aware that software is something to be part of, not just make use of.
7.2 Communication/Community Interaction
Some respondents seemed to be unaware of the various platforms available for communicating with other Astropy community members, suggesting that better advertising of these outlets may help facilitate interactions: > Have a well organized platform where the community can easily interact, discuss issues, suggest improvements that has a low barrier to entry.
7.2.1 Workshops
Across all questions, respondents communicated an appetite for more learning opportunities. Most of these suggestions centred around workshops on various topics (e.g., contributor workshops, demo workshops, coding workshops, and workshops for underrepresented communities):
I think we could hold contributor workshops or Github workshops at more technical meetings like ADASS.
More workshops at meetings or stand-alone workshops that show off the capabilities of astropy. Though i know that is a lot of work.
I would like to see astropy provide more coding "classes" to help more astronomers contribute.
Make workshops with the communities you would like to connect.
Expanding workshops to these targeted communities.
Some community members also suggested more informal, self-directed opportunities for learning: > Monthly live demos / mob coding over Zoom? Office hours, like bring your annoying coding problem that you feel silly for not being able to solve, and we'll make breakout rooms and work on stuff with one another for two hours
The workshops and events that Astropy already offers could also be easier to find, including on the project website: > If there are events, I think it could be helpful on the website to have an upcoming events tab. I see there's past event materials on the Zenodo page, but it would be nice to also have information on when future events will take place if I don't already know about them.
7.2.2 More Outreach
Beyond workshops, community members suggested other forms of outreach that may help Astropy’s community thrive. Educational outreach, for example, could help reach potential users and contributors who are already in an active learning environment: > More outreach to professors and teachers
Connect with training programs (I'm thinking, e.g., Ada Academy) so folks who are learning software development for the first time are introduced to it
More outreach activities for astropy is used more in the classroom
Outreach to undergrad programs?
Outreach could also include conducting research with potential users and contributors in communities outside of Astropy, with a focus on underrepresented groups:
> Surveys like this. Maybe more direct outreach to individual under-represented organizations?
I think this is already happening, but I think it's important for workshops/conferences to accept participants with a range of experience, so that it's not just the people most likely to have already been introduced to CS in other contexts.
improved outreach to astronomical communities outside of the US/Europe. the IAU Office of Astronomy for Development would be an excellent resource for this.
There's no right answer to this but continue to encourage early career scientists especially those from typically marginalized groups to join in the discussions and contribute to the codebase.
Try to actively enamel non-us students, maybe teach or to astro profs and encourage them to use the astropy discourse for questions their students have, have suddenness answer other students questions there
Outreach to software teams that use and want to contribute to Astropy but by the nature of their work assignments may never have had time to. Increase outreach to communities outside of Europe & North America.
7.3 Other Suggestions
Additional responses from surveys are listed below:
Provide more tutorials and use cases.
Explore having regional hubs across the world.
A staggered schedule of at least some meetings to cover a greater range of time zones.
Overall, the astropy community should probably evolve like the code base does, by small "PRs" that incrementally improve things. Don't risk breaking things or pushing people away.
I have a physics (BSc.) background, have interest in astronomy and work as a software developer but it's hard to find problems to solve with astropy software. It may be helpful to have a resource to provide a road map from beginner to increasing use (or contributing) of astropy software, or problem areas to explore.
Would be nice if the astropy community better reflected the diversity of, say, the graduate student body. Possibly the main barrier is people's confidence in their own coding. But for astropy core at least, the state of the package is such that contributions require substantial skills. Possibly, contributing to and writing new tutorials might be a way to help: newcomers know best what tutorials are needed.
7.4 Money
Respondents also had thoughts and suggestions around how Astropy could ask for more money to facilitate these community improvement ideas and otherwise sustain the project.
Start charging licenses to large universities that use AstroPy in their projects. Disappear randomly from PyPA, switch up the license, add bitcoin farming code or something else (or all three) one random a month a year until funding becomes available and/or contributing to such packages is understood as work.
Shake up the academic funding system to ensure that there are better long-term career options for research software engineers.
Ask big consortia to contribute somehow if they release software built on astropy software?
7.5 It is Good
Finally, some Astropy community members felt that things were going well.
It appears community participation is about as good as could be expected.
Great engagement already, keep up the good work!