Julia Orgs, How Do You Manage Logistics?

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! :smiley:

~ tcp :deciduous_tree: