Development resources for Julia ecosystem?

I have a PR to clean up the chat section: Update chat section of community section. by ViralBShah · Pull Request #2195 · JuliaLang/www.julialang.org · GitHub

Interestingly, we already promoted zulip over slack, but there is really no reason to prefer any one over the other.

3 Likes

We could do another poll and ask if people want some form of a committee or let things be the way there are, and from how likes are distributed in this thread, I’m gonna tell you the result is not going to be different from the “NOW” poll.

This doesn’t mean you are wrong, you may very well be onto something, but by demanding alone we will get nowhere.

Warning, prepare for a ramble and some incredible run-on sentences. Statements in this comment are strictly my own and do not represent the committees I serve on, nor the roles I volunteer for.

Hi folks, I’m getting to this a little bit after the bulk of the discussion, but hopefully I can provide some insights from my point of view. I have skimmed the above thread, but feel free to guide my responses or message me directly for more information

Who are you, what do you do?

I am one of two executive chairs for JuliaCon 2023 - JuliaCon 2025. The other is @ranjan. I must first state that @juliohm you are perfectly right to see Julia’s governance model as… amorphous and to ask these questions. I have been asked similar questions multiple times, and the lack of clarity on my part at least has just been a factor of time. I am a graduate student, with my own students, research, and life in addition to chairing JuliaCon and managing our social media as best I can.

As part of my role with JuliaCon I am responsible, in partnership with Mark, Ranjan, and a few others, for the funds we raise and disburse as part of the event, as well as other events such as JuliaCon Local Eindhoven, and potential upcoming events like that :wink:.

The ledger for these events is entirely open, and as you can see fundraising and events planning can be difficult and expensive. All other ledgers associated with Julia and held by NumFocus are similarly public. We do consider it a primary goal of the conferences to raise funds for community efforts, but that has been difficult in the post-COVID financial environment.

I also sometimes helped with other roles in the community as a committer, as a liaison with NF, as a member of the JuliaLab @ MIT, and as a moderator of various social media forums.

Governance and Volunteering

These roles are assigned largely by who is willing to step up at a particular time for a particular task. This is also why the responsibilities of groups like the Stewards are relatively limited, because it is simply not possible for them to commit to volunteering beyond dispute resolution.

I would broadly concur with @mkitti’s goals for Julia governance, and have passed around some proposals to form a Julia Community Board to act as a steward for JuliaCon, GSoC, and our other financial resources. To be absolutely clear my proposal, which has thus far only been shared amongst members of those existing committees, would only be responsible for management of our community forums, and our community related funds not for the technical direction of the project itself. I will try to share this proposal with the broader community shortly.

But I want to make a few random thoughts clear:

  1. The lines between technical funding and community funding can become quickly blurred. But with vanishingly few exceptions most people who contribute to Julia and other core repositories like the VSCode extension do so with their own time or funding from their employer. If and when we are able to provide technical grants through Julia’s own funds with NF there will be a well publicized process with open progress reports and review.
  2. Additional funds may become available to the Julia project as hosted by NF through grants or donations. The disbursement of those funds is entirely based on the parameters of those grants/donations.
  3. If you have a project for the good of the broader Julia community and developers to execute that project feel free to reach out to me or other NumFocus liaisons and we may be able to apply for maintenance and development grants through NF. We (those of us who interact with NF or maintain funds like JuliaCon funds) will try to make this process formal and well advertised. contact@julialang.org is a good place to open such a discussion for now.
  4. Membership on things like the JuliaCon committee or GSoC are often massive time sinks, and are therefore based on volunteering and review by existing members.

I want to emphasize that last point. The reason you may see a lot of familiar faces on the JuliaCon committee, at the JuliaLab, on the stewards, as liaisons with NF, etc is simply because those people have volunteered their very finite time, and have been vouched for by existing members of the community.

Some answered quotes

The above is very scattered, but I’ll also respond to some specific quotes here as best I can:

There is not some committee that meets and decides these things. The community has added the option of Zulip, through their own efforts not through a top down decision to do so. You are welcome to make a PR or encourage PRs that more forcefully recommend Zulip.

However as a maintainer, and in addition to other maintainers I will strongly argue against removal of a platform from our list of forums so long as there is any significant community presence there. Slack is far more active than Zulip for many things, for reasons beyond the chicken-egg-problem you recognized as the primary issue.

You are more than welcome to be a champion of Zulip, provided your activities fall within the Code of Conduct and do not claim to represent a group of people you do not.

This is not a statement I nor many other “committee” members are prepared to make. If you would like to make a well justified, well organized proposal for community governance you are free to make one. But know that the people implementing such a change are limited in time, energy, and ability to steer an open source community.

I will also note that internal communications of committees like the JuliaCon Organizing Committee are not public for a reason. We have thought about moving to Zulip, and are in the process of making a significant move to GitHub over Slack for our organizing both to engage better with the community, and to avoid the slack-hole

As mentioned above the task you propose is not “community organizing work”. Community organization in my opinion is a facilitative not a commanding role, at least for things like community communication platforms.

This is not broadly true. Viral and Keno for instance have no active role in the JuliaCon Organizing Committee, GSoC organizers, the JuliaLab, nor as liaisons with NF. They are trustworthy founding members of the community so their input is always valued and sometimes directly requested as in any community.

Where do we go from here?

If you would like to assemble examples of governance documents please do so. We (members of the JuliaCon Organizing committee and the committers to the Julia Language) have looked at several examples from our sibling projects at NF. But be aware that this is a slow process that involves buy in from lots of people who have already volunteered immense amounts of time to the project in addition to buy in from the community.

If you wish to propose such governance models they must be relatively complete documents, with strong justifications, contain clear transitions from existing committees and responsibilities, etc, and shared publicly not within a direct message to a single person.

Perhaps one model for this process would be a GitHub page, and a BoF or workshop at JuliaCon 2025.

I will try to lead the way on creating, along with a group of community members representing the stewards, organizing committees, committers, etc, a blogpost and call to action for many of the concerns and ideas you have raised. I cannot promise a timeframe.

– Raye Kimmerer

11 Likes

Also I do want to briefly head off any assumptions that there is a static group of people in charge of anything. I graduated from undergrad in 2020 having used Julia as effectively a scripting language for the Clingo answer set programming solver.

Shortly after that I submitted and completed a GSoC. Since then I have tried my best to volunteer for community organizing work as much as I am capable in an attempt to give back to a community that has given me so much. Often to the detriment of time spent on research, coding, etc.

My work for the JuliaCon organizing committee, as a social media moderator, NF liaison, etc were all possible in ~3 years simply because there was an imminent need for those roles, and I volunteered. Same with most of the people replying here like Mark, Matt, Guillaume, etc etc…

Insofar as I represent some of the organizations considered a part of the “Julia Project”, I just want to be clear that the people who step up and engage are the people who make the few decisions we really have the ability to make.

2 Likes

Amazing Raye! Thank you for sharing! Count on me if you need an extra hand. If you already did a lot of research with governance models it would be nice to see more examples of success somewhere.

1 Like

This is a wishy-washy answer but success is a really hard metric here, and I would argue each stakeholder (defined incredibly loosely) has a different metric!!

That’s part of why we have had the status quo for so long, it’s a lot easier than creating a more rigid structure that attempts to meet the needs of all parties.

Some metrics appeal to big companies, and might be found in the charters and governance documents for Rust or Linux Software Foundation (and subsidiaries). Some metrics appeal to technical leads and contributors who want to spend their time on code not in meetings or swamped in emails. There’s a balance between opacity and transparency, speed and opportunity for public comment, agility, etc etc.

In my view some of the important metrics for our community are:

  1. Takes up the least amount of time for volunteers
  2. Ability for people not deeply engaged with the organizing process (of things like JuliaCon for instance) to contribute, see what’s happening, and give feedback
  3. Ability to connect motivated contributors to mentorship, funding, etc (GSoC has carried a lot of load here, but we have talked with NF about other funding mechanisms. This is actively in flux, so stay tuned)
  4. Independence of technical work

I would argue that none of these metrics are met by our current model (except maybe 4), nor by lots of the models I personally have looked at! If you have others I’m keen to hear them if we can get such a process off the ground at some point. Mark’s example from Bioconductor is probably a good one for us, but I would have to assemble my thoughts better to give a real opinion.

2 Likes

Super helpful and informative thoughts @rayegun , thank you.

I will keep those in mind during my research.

Sharing a few links here for those interested in learning about governance models of other languages.

Rust https://www.rust-lang.org/governance

Love the short description. You can click on LEARN MORE to dive into it.

Python PEP 13 – Python Language Governance | peps.python.org

See how they addressed issues I raised here.

We need something similar for community projects and social initiatives.

Since we’re dropping links, here’s JuMPs governance doc:

3 Likes

There’s two halves to this — there’s better documenting and communicating the status quo, and there’s the possibility of changing the status quo. Both halves can be improved! But the first half has to be reflective of the latter. Simply changing the website text doesn’t change the status quo. For example, unilaterally removing Slack (without building community consensus or buy-in to actually move where folks gather) from the current website would (IMO) be a net negative because it would simply mean that now discussions are taking place in an undocumented and undiscoverable location.

6 Likes

Really nice writeup there. It is much clearer who is responsible for decisions, the committee is diverse and you even have a section on conflict of interests :clap: