Notes on Managing Open Source Organizations

By: Jacob Zelko

Re-posted from: https://jacobzelko.com/06202023182947-notes-open-orgs/index.html

Notes on Managing Open Source Organizations

Date: June 20 2023

Summary: A collected overview on various comments from Julia organization organizers on how to effectively build up an open source organization

Keywords: #github #open #source #community #organization #blog #archive #julia

Bibliography

J. Zelko, “Julia Orgs, How Do You Manage Logistics?,” Julia Programming Language, Jun. 16, 2023. https://discourse.julialang.org/t/julia-orgs-how-do-you-manage-logistics/100430 (accessed Jun. 20, 2023).

Table of Contents

    1. Motivation
    2. Structure Organization for Sustainability
    3. Organization Guidelines
    4. Managing Package Development
    5. Community Outreach and Communication
  1. How To Cite
  2. References:
  3. Discussion:

Motivation

As I have been involved with and have started various open source organizations in the past, I wanted to learn more about how other organizations within the Julia community manage this. In particular, as I am getting more serious about bolstering JuliaHealth, I want to make sure to do this as effectively as possible. These were some comments and notes from folks within the Julia Community who made suggestions on how to approach this effectively.

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

How To Cite

Zelko, Jacob. Notes on Managing Open Source Organizations. https://jacobzelko.com/06202023182947-notes-open-orgs. June 20 2023.

References:

Discussion: