Development resources for Julia ecosystem?

Probably not what you want to hear, but approach 1 sounds like a nightmare to me. I’ll take “we rely on global agreement” over committee rule, any day of the week.

I’ve seen communities absolutely destroyed by committee rule. Wikipedia comes to mind (at least the German version), as well as StackOverflow.

Just to be clear: I am 100% for diversity, so that’s not the part I’m objecting to. I just think the best way to get more diversity is to be as open and welcoming as possible to all who want to contribute, without submitting them to committee rule. In any effort related to the Julia community (like JuliaCon), actively seeking out diverse speakers or contributors is absolutely laudable, and is already part of the process, as far as I know.

Because there is no open record of the decisions made, people cannot know if something was already brought up.

Discourse is a pretty good place for discussion, and a great permanent resource for anyone wanting to get a feel for what has been discussed in the community. Slack is for short off-the-record discussions. If you want to engage in serious community-level discussion (like this one), do it here.

3 Likes

The Julia community moved to slack, without a big official decision towards it. As far as I remember, someone just set it up and it got traction - while it was initially definitely more of an experiment and heavily opposed and discussed.
Same with Zulip & Matrix, where the latter didn’t get much traction but Zulip seems pretty active at this point. If more people hated slack and liked Zulip more, it might have become the preferred platform at this point.

As I said, even my decision, to move all communication for Makie away from slack, which was pretty much top down the way you imagine it, still wasn’t able to force anyone to use it - the same goes for any Julia steward, JuliaHub employee or some other Committee - which I think is a good thing? People don’t like to invest a lot of work into open source, and then get told what tool to use to communicate.

Of course there is a social component, that if someone more involved in the community, who has a proven record of doing great initiative for Julia, will have an easier time convincing people of something like this. Again, only way to become that person is engagement and work for the specific projects you want to influence.

I think in the end you’re searching for some shortcut to better decision making that simply doesn’t exist in this way.
Anarchy is a vital component of Open Source and I think that’s a good thing.

6 Likes

I have been a member of the JuliaCon committee for the past two years, serving mainly as Financial Chair. The operational budget is between $200K and $300K USD. Our ledger is on OpenCollective as Keno mentioned.

While the main focus is on the annual JuliaCon Global event, we have assisted local events. The largest of those was the JuliaCon Local in Eindhoven held in December 2023 which preceded the JuliaCon Global Eindhoven.

I have no affiliation with JuliaHub or the the Julia Lab at MIT. With regard to Julia, I mostly work with the financial and event planning staff at NumFocus while also building relationships with our sponsors and coordinating with other JuliaCon committee members.

To clarify, the role of NumFocus here is mainly to manage the community bank accounts and all the accounting that goes with that. They also provide a non-profit corporate entity under which we can execute activities such as JuliaCon. For example, when a contract with the venue for JuliaCon needs to be agreed to, NumFocus is the signing party. NumFocus serves to hold our accounts but is not a substantial source of funds for Julia.

In the past, proceeds from JuliaCon have helped to fund some community infrastructure, although lately we have been running a deficit while we have been rebuilding sponsorship relations after the pandemic.

One effort that I was tangentially involved in was the community creation of a small development grant. Basically, if you are interested in a specific task, consider raising some money to b motivate someone to work on it . SciML now has several posted and completed which can be found here:

With regard to the stewards, their main role has mainly been to address sensitive interpersonal conflicts. These have arisen a few times at JuliaCon, but I’m also aware of incidents requiring their attention with regard to Discourse and Slack. Because of the nature of that work, I do not think an open mailing list would be appropriate. Some incidents have a complaintant whose identity needs to be protected because of the nature of the complaint. The stewards mainly serve a community function and not a leadership function. The main quality that a steward needs is trust.

While calling for reform of the stewards is likely necessary at some point, I think what actually is being called for is reforming governance of the Julia Community. In terms of governance, the stewards serve more of the role of a judiciary rather than an executive. Essentially, they serve to resolve disputes. Other than that Julia really does not have a central governing structure. It basically is currently operated by people volunteering - including myself.

There is some structure for technical aspects of Julia. There are those who can commit and merge to the main git repository for example. One of the most influential technical groups is the adhoc Triage committee which meets every two weeks.

If I got to pick a governing structure for Julia, I would model it after the Bioconductor Project with technical, scientific, and community advisory boards:

I might add an industry advisory board to this in case we wanted to have distinct spaces for individuals and corporations in the community.

While I concur that Julia’s governance may need revision, the main factor that determines what we can do is volunterism. We have a community calendar full of events:

If you do not see something that interests you, ask. We may have neglected to add it to the calendar, or perhaps you can start it. I would really like to see a much broader volunteer base before we start implementing formal governance structures.

8 Likes

That is amazing @mkitti . THANK YOU!

Do you need help with specific tasks? Like contacting people, or drafting some document? I am happy to contribute to this improved governance model with more time and people involved. I am all in for any model that improves diversity and makes the decision making process more transparent.

Will send you a direct message after I collect other examples of governance in other communities.

As always, the people who do the work get to decide. In this case the work is organizing GSoC, submitting the application to Google, herding the project ideas, etc. So the people doing that have the final word (check the channel for who that is). If you want to do the work, you can have the final word.

I wrote about this extensively in the post I linked. The only advantage that we have is that the community trusts us to make reasonable decisions. That’s been built over years, and we’re very aware that it needs to be constantly maintained. If you want to decide, do the work. It’s as simple as that.

7 Likes

My question was originally about Slack. In that case, how can I do the work to deprecate Slack and un-list it from the list of official community channels? Please advise.

I find it very disingenuous to assume that anyone on on the JSOC/GSOC committee would prioritze personal projects without evidence. It is possible to go to the main GSOC page and see what has been funded in the past. I looked at the past three years and see an incredibly diverse set of projects, even including tooling (ex. Documenter.jl and Pluto.jl)

I don’t think it is fair to anyone to claim some massive bias exists just because one project isn’t prioritized as highly as another.

You know, last night I was reading this book to my kid at bedtime: Zola’s Elephant. The whole thing is about a girl not wanting to make friends with her new next door neighbor because obviously she’s already very occupied playing with her pet elephant. She saw the big box go into the door and heard the thumping and all. Sure it’s a children’s book, but ooof it speaks to me too. It can be very easy for me to imagine what I think might be going on and feel left out for no good reason at all.

Folks here are saying: come on over and say hi before you start worrying about how to build a nutrition plan to ensure the elephant is being cared for appropriately.

To stretch this metaphor even further… I would say there is an elephant. And that elephant’s name is status quo. It takes real work to move that elephant. Moving it is almost entirely done by individuals, not committees — it’s just folks proposing changes and doing work and building consensus around it.

9 Likes

Make the alternatives more and more compelling until people stop using Slack. There have been extensive discussions with the Zulip people on what they could do to make their platform more compelling. You can help them make those happen. But I gather you’re asking who can force people to stop using slack without doing that work. But that’s what I keep trying (and apparently failing) to say. There’s no such person. This power does not exist.

6 Likes

But why do we need to ask Zulip to improve their platform? I am only interested in deprecating Slack from the official list of community channels. I am not saying that everyone should go to Zulip. Slack is the problem, not Zulip.

No, I am asking who can announce on Slack that this platform is no longer an official platform supported by the community. That the committees will not be on Slack moving forward, and that people can still use it as an unofficial channel.

I don’t know what else to say here to clarify this difference further.

From the website:

Can I submit a PR to remove Slack for example? Can we make Zulip, Discourse or any other platform official instead? Who can make this call? My question is as simple as that.

I’d take a PR to remove the word “official” on the website, but that’s a decision that’d be made by the website maintainers in PR review. Speaking as one of those maintainers, I would NAK removing it from the list while lots of people are still using it.

2 Likes

That is what I meant by power differences. I cannot produce change just because I can do a PR. I need your approval to make it happen, even when multiple people have shared their concerns with Slack in the past.

I have been using Julia for a number of years now. What I appreciate about this forum and what the Julia community has been doing is their passion. I think this passion is irreplaceable.

When I join a new community, whether as a volunteer or in some formal function, I always figure it takes 6 months to a year to figure out the dynamics of this community. To determine whether it is functional or dysfunctional would take a period of time as well, unless the dysfunction spills over into the public domain, which obviously is not the case here.

To critique an organization, from the outside without knowing how it works, to me is bad form. To suggest that it change its organizational structure when you don’t know what the organizational structure is, or how effective it is, is quite immature. Personally I would be reticent to invite someone like this to volunteer for the organization. This type of diversity can be really destructive.

Our culture seems to have subscribed some kind of magic to diversity. While some diversity within a commitment to a common goal is obviously good and as long at there is more than one person in the room inevitable, broad diversity without this commitment can be a problem or worse. I would far rather choose from a pool of passionate people than from a pool of diverse people.

Finally I want to say a sincere thank you to the passionate people that developed Julia, that developed the infrastructure around Julia, and all the passionate people that have developed packages around Julia. I find it phenomenal. I appreciate all you do.

Edit: graphic on the effectiveness of diversity

2 Likes

The PR is not the work. The work is more than a decade of daily commitment to earn the trust of the community to make the right decisions.

7 Likes

No matter what I do, it will not be considered work with that line of reasoning.

Yeah, I’m sorry, but you’ve been given multiple suggestions on how to do some work and make a proportional amount of decisions as a result. You’re welcome to take them, or you’re welcome to ignore them, but I’m not sure what else to say, so I’m muting this thread now. I hope you do decide to contribute, but this discussion is not productive.

5 Likes

No one has the power that you seem to be looking for. If Keno would merge a PR that drops Slack from the website, someone else would kindly revert it. Why? Because the community is on Slack whether you like it or not. If you want a change, convince a relevant fraction of the community and or make Zulip so compelling that they move by themselves. Dictating things isn’t what we do and also isn’t what we will be doing in the future.

9 Likes

With how things are right NOW, is it a good idea to delist slack from the julialang website?

  • Yes
  • No
0 voters

It is the chicken-egg problem. People know Slack has issues that outweigh its benefits, but they won’t change NOW as asked in the poll because everyone is there. How do you break the cycle? You sit as a committee, evaluate the platform, share pros and cons publicly, and make suggestions for the benefit of the community. People are not obligated to follow, but the suggestion is shared in the official website, and the time will do the rest of the actual work.