---
# System prepended metadata

title: 'Nilearn / Nibabel : Collaborative workshop on barriers to adoption and community building'

---

# Nilearn / Nibabel : Collaborative workshop on barriers to adoption and community building

## A Listing the problems

1.  Contributing is a long process, that can be frustrating (#2531). Everyone has limited time, contributors would like to get code accepted quickly, maintainers also do but focus on the quality and maintanability of code which can make the review process lengthy. Consensus on what should be done is not always clear from the beginning and contributors investment might drop unpredictably. ++++
2.Loading meshes / surfaces / objects in general is something I keep checking in nilearn and nibabel's documentations and it's often not very clear too me what extensions we handle, etc. Sometimes it feels unclear to me which library handles what. ++
3.  Nilearn has grown significantly over the last few years, and sometimes that makes it hard to understand how it fits into the broader ecosystem. I've seen NeuroStars questions where new users aren't sure if their use case is best met by Nilearn or another library (and occassionally questions where folks think they're looking at Nilearn code but it's a related project) ! (see also 11) ++
4.  Retaining new contributors as potential reviewers/maintainers +++
5. Sometimes I find it hard to understand how a particular nilearn tool is applicable to my particular image analysis problem. Could the examples be more fleshed out for real-world scenarios? +++
6. A lot of PIs don't understand the value of open source projects. These projects are contributed by people who are relatively junior. It's difficult to convince those PIs to let their ECRs to spend time on it, unless you are in a lab where open standard is the norm. Are we losing potential contributors in this way? In PI language - how to write open source work into grant applications? ++++
7. People wanting to do task-decoding MVPA cannot produce "ready-to-publish" results coz there's no stat test for decoding available in nilearn (see also 5?)++
8. Creating new issues lack a sort of template to help guide how to frame problems that arise when working with nilearn. Implementing issue templates for feature requests/bugs/questions could help reduce time asking for clarifications or running into the classic stack overflow problem of "your question isn't good enough" (i realized that this is nibabel specific) +++
10. Convincing people already established with SPM etc. of the benefits of switching to Python and getting out of Matlab. +++
11. Include in our doc some information about the ecosystem of neuroimaging tools, what (other?) options were available, and where we fit  

12. How to engage with the community if I just a user? I think it's easy for people who are already doing opensource work, but not obvious for new users. +++++++++
13. Should there be more dedicated nilearn training sessions?? (actual courses)+



## B Prioritizing problems

Vote on the list we gathered above. Put + at the right of every issue you already encountered


## C Brainstorming solutions

### Issue #1

* Contributing is a long process, that can be frustrating (#2531) 

### Ideas :

* Better state reasonable expectations and their rationales : Improve developer docs (#2142)
* Better communicate what is needed for a PR to be accepted : automatically comment every PR with a checklist / a link to the appropriate documentation.

### Issue #2

Loading meshes / surfaces / objects in general is something I keep checking in nilearn and nibabel's documentations and it's often not very clear too me what extensions we handle, etc. Sometimes it feels unclear to me which library handles what. ++

### Ideas :

### Issue #3

Nilearn has grown significantly over the last few years, and sometimes that makes it hard to understand how it fits into the broader ecosystem. I've seen NeuroStars questions where new users aren't sure if their use case is best met by Nilearn or another library (and occassionally questions where folks think they're looking at Nilearn code but it's a related project) ! (see also 11) ++

### Ideas :

### Issue #4:
Retaining new contributors as potential reviewers/maintainers +++

### Ideas : 

* Often new contributors can feel they are not "qualified" enough with the project/language to review others code. I think encouragement from current reviewers/maintainers is really important.

### Issue #5:

Sometimes I find it hard to understand how a particular nilearn tool is applicable to my particular image analysis problem. Could the examples be more fleshed out for real-world scenarios? +++

### Issue #6

A lot of PIs don't understand the value of open source projects. These projects are contributed by people who are relatively junior. It's difficult to convince those PIs to let their ECRs to spend time on it, unless you are in a lab where open standard is the norm. Are we losing potential contributors in this way? In PI language - how to write open source work into grant applications? ++++

### Issue #10
Convincing people already established with SPM etc. of the benefits of switching to Python and getting out of Matlab. +++

### Issue #11

Include in our doc some information about the ecosystem of neuroimaging tools, what (other?) options were available, and where we fit  ++++++

### Ideas :



### Issue #12

How to engage with the community if I just a user? I think it's easy for people who are already doing opensource work, but not obvious for new users. +++++++++

### Ideas :

* Have clusters of related projects that participate in each other's sprints, trainings, etc., to help transfer willingness/comfort of contribution between projects
* Forum (some projects use [discourse](https://www.discourse.org/)) or discord server to encourage causal engagments, potentially with specific timeframe. Benefits : enable people to get to know community and have casual chats.
* Valorize those events through streaming.
* Newsletter ; Twitter has a way to keep a link and advertise community events regularly


## D Open issues on Github to summarize our ideas




# Nilearn / Nibabel Dev Days feedback

## What you liked :

* Really clear organisation of issues for new contributors
* Ability to ask quick questions


## What could be improved : 

* official (scheduled) social time?