Hey folks,
I took a few days to digest this information but I wanted to share my summarization of all the thoughts here so far! Please let me know if I missed anything; either way, this will be a talking point for future JuliaHealth meet-ups so thank you all so much for the commentary! Here is the outline:
Structure Organization for Sustainability
-
Limit dependency on any one person – Jakob Nissen, George Datseris
-
All repositories and shared documents should have write access for multiple people, ensuring continuity even if some contributors are unavailable – Jakob Nissen, Guillaume Dalle
-
Furthermore, packages should be designed with longevity in mind, as maintenance can be a significant challenge – Jakob Nissen, Georgia Datseris
-
Build trust with frequent contributors – George Datseris
-
Could review their PRs more leniently
-
Provide detailed reviews for newcomers
-
Organization Guidelines
-
Think about what is the criteria (such as reviews or approvals) before action on a pull request is taken – Guillaume Dalle
-
Setting clear timeframes for feedback should be established – Guillaume Dalle
-
Allocate review time (around 70-80%) to evaluating design aspects, logical connections between input-output arguments, and documentation of features – George Datseris
-
Adapt the intensity of a PR review based on its potential impact to a package – George Datseris
-
PRs with package wide consequences should receive thorough evaluations
-
PRs that are independent of existing code could be reviewed more quickly
-
Bug fixes that affect small parts of the package could be reviewed faster
-
Managing Package Development
-
Use GitHub issues to outline development roadmaps for a given package – Guillaume Dalle
-
Use labels to prioritize GitHub issues as important and relevant to a given package – Guillaume Dalle
-
Prioritize discussions within GitHub issues to foster transparency and consolidate discussions in location – George Datseris
-
Maintain source code simplicity – George Datseris
Community Outreach and Communication
-
Avoid making promises about deliverables or timelines – Jakob Nissen
-
Community calls for triage discussions or long-term package orientation can help build community – Guillaume Dalle
-
Actively invite individuals to join the organization – George Datseris
- Provide them with administrative rights to relevant GitHub teams and repositories to foster participation
Hopefully this could be a useful reference for future Julia or otherwise open source organizations!
~ tcp