Does that mean that we shouldn’t have a dedicated person working full-time on VSCode? Or at least someone that gets paid to work on specific projects?
Let me say it out loud: @davidanthoff is underappreciated.
He is responsible for core pillars of this open source community, including the VSCode extension, the juliaup installer, and many other crucial projects that he maintains on his free time (as far as I know).
Why does it need to be that way though? What is the role of JuliaHub in all this? Does the word “Hub” in JuliaHub refers to a hub for business only? Do we need a separate organization to serve as a true hub of support for the community of users, consultants, and small businesses that are fighting out there alone?
My understanding is that there’s no formal relationship between JuliaHub and Julia governance. Several of the individuals there are Julia contributors, and JuliaHub donates some amount of money or resources. But it’s not like JuliaHub is hiring people to work on Julia full time, and most of the things their employees do are probably informed by what their customers want.
Julia itself is governed by the Julia Stewards Donations to Julia are usually made through NumFOCUS: Julia Governance
It is not true that selected members were chosen from various different organizations. Most of them work at JuliaHub. When they are not with JuliaHub, they are with MIT or some partner lab. This is hardly representative of the Julia community as a whole. The financial resources are managed by Avik, who is also working at JuliaHub?
Just to be clear, the Stewards do not “govern” Julia, direct development, make technical decisions, hire personnel, or allocate funding — their only role is mediating interpersonal conflicts in Julia forums according to the Julia Community Standards.
@avik can you please share the criteria you use to fund open source Julia projects with NumFOCUS resources? How are you engaging with the different Julia organizations on GitHub and elsewhere? Is this part of your role? Who’s role is this?
Is there a list of past and present projects selected by the current criteria? Where can we find this information?
Can we do anything to help @davidanthoff and @pfitzseb with the VSCode extension, debugger, etc?
See this post from 2019 which I think was originally written because of similar kerfuffle on this forum where people thought something ought to be funded or focused on.
The summary is that there doesn’t exist anywhere a big pot of money or developer time that can be arbitrarily dedicated to things that would be good for the Julia community. I don’t think anyone disagrees that there are a large number of things that could be done for the Julia community which would have a net positive benefit vs. cost when you add up all Julia users. That doesn’t obligate any person or organization to pay for them though.
I think more realistic - but still challenging - is the question how to attract more spare-time developers to work on components of the VSCode Julia extension. One interesting candidate is the Linter because it is a stand-alone package that in theory can be tested separately. It has 56 open issues, so in theory anyone could start working on fixing these issues.
But again, there seams to be documentation missing on how to test this package (OK, it has about 2000 lines of unit tests, and they pass), if that documentation would be available other developers could start improving it. Also nice would be to add a command line interface to this linter to make it possible to use it outside of VSCode.
What I am missing in particular is a diagram that shows how the different components (language server, linter, symbol server, any more?) work together and communicate.
This does not address my point. There is a pot of money from which some people get paid to work on Julia. I did not say “big”. It does not matter how much money there is. What matters are priorities.
Just take the past week or so. Several threads deal with the sorry state of Julia in VS Code. Especially debugger. This sort of thing will impress newcomers in a seriously negative way. Such an impression is not likely to be wiped clean by pointing to the number of recent releases. So, isn’t it worthwhile to think about what the focus should be at this stage of the game?
If I look at Spyder, an IDE for Python which had no funding at all for many, many years, now they have some funding from NumFocus, but also from https://chanzuckerberg.com/ .
Look at the very end of the Spyder website, there they have a section “Funding”.
So perhaps it is worth the effort to look for other funding but NumFocus? I remember I was contacted by a company if I would be interested to work on improving the Julia IDE perhaps a year ago, and I said that I do not have the time in the moment, but it might be good to know that there are probably also some companies that would donate some money.
I’ve long been slightly perplexed about the criticism against vs code/Julia. Having used IDEs for Matlab, Python and C++ (Spyder, Pycharm, Visual Studio), I find them all worse than VS code/Julia.
It has, admittedly, been at least three years since I last tried Spyder, but at that point it was severely lacking, especially in terms of core editor features (does it have multiple cursors now?)
I find vs code to be a radically better editor than either Matlab, Spyder, Pycharm or Visual Studio, and I find the Julia plugin to be more than adequate. Perhaps the plugin lacks a few features, but the core editor features and the breadth of available general editor functionality were miles ahead of the others, at least up to a few years ago.
I have probably been a bit fortunate in experiencing relatively fewer debugger issues than some others, but aside from some apparent debugger issues I just don’t get the negativity.
I guess it depends on your workflow if you have a good experience with the VSCode plugin of Julia or not. For me, even simple things like “goto definition” often do not work, sometimes they do, and it is very hard to figure out why and when.
And the Linter has many false positives (depending on which packages you use), so for some people this might not be an issue.
I won’t quarrel with that. But there seems to be a disproportionate amount of negativity, not just regular critical evaluation. If I did not have personal experience, I would have thought the entire ide was borderline unusable. On the contrary, I would never switch to a julia-enabled Spyder unless spectacular advances have been made over the last couple of years.
Not sure what you mean by “partner lab”, it’s not totally surprising that people that are heavily invested in Julia end up forming partnerships, but the point is that they are independent - MIT is a very large place and faculty in different departments have their own sources of support. Plus Tim Holy is not at MIT.
I doubt Avik would have any objections to sharing info about this, but these demands feel pretty aggressive. Are you donating a lot of money to NumFOCUS or feel you have a right to input on these things for some other reason?
The process for awarding small development grants from NumFOCUS is well-documented on their website, and isn’t a one-person show. Money is also dolled out for GSoC, and reviewing those applications is a community effort. Have you volunteered to do that? Perhaps you could ask how you can pitch in to help with finding priorities rather than simply making a bunch of demands?
In any case, I sincerely doubt that there’s enough to pay a full time developer for VS Code out of those coffers. Perhaps there’s enough money in JuliaHub, but presumably they have a better sense of the business logic than any of us do, and if developing the extension were a good investment they would do it.
I am impressed by how much we diverge in opinion about so many different topics @kevbonham. Your argument that MIT is large enough to represent the community is so off to me…
I feel that the community has the right to know. This is called transparency. If this is not about collective decision making, then something is wrong. There are various issues at play here, and I don’t doubt that unintentional bias towards JuliaHub projects is one of them.
Besides submitting multiple JSoC project proposals in the past, mentoring students in similar programs (e.g. MLH fellowship), I’ve been super active paying people to develop open source Julia packages at Arpeggeo.
I am tired of this argument that you need to volunteer in order have a word in the community. You always use this argument, and I don’t think it is productive. Anyone in this community has the right to request diversity and transparency.
I have the impression it works when it is from “the inside” of the package MyPackage I’m working on. That includes going to functions in the packages used by MyPackage.
That appears to consistently NOT work for scripts not include-ed into the MyPackage source, calling functions from MyPackage.
Is there some mechanism that would allow people to donate money towards julia open source ecosystem AND have some vote on where this money is spent (i.e. what issues are tackled with higher priority)? For example sponsoring an organization via GitHub (e.g. The Julia Programming Language · GitHub) does not give you an idea on what development you are actually sponsoring (I don’t know how it works with NumFocus). Sponsoring individual projects seems overly fragmented.
An ideal scenario would probably to have something like a supporter subscription where you can vote on the importance of the issues (possibly based by the amount that you pay). It’s OK for me if different features get the work if the steering committee decides so. Because this still would give very clear signal towards what community feels is needed + some resources that can help make it.