29 comments

[ 2.4 ms ] story [ 54.2 ms ] thread
Honestly this is just a case of open source software users expecting a free lunch. Firstly, the maintainers of this package don’t owe you anything, secondly the new version of neovim and treesitter-cli are already in Arch extra testing, and since they don’t break anything they’ll probably be in extra next week, so chill the fuck out.

If you have a problem with how open source works just please head back to vscode.

Incredibly based response to the "I am the customer" energy in OSS.
This is why I built nvim from source, and git pull plugins into the pack directory. I think it's even a static binary. Whatever changes I need I git pull. After they added LSP I have not wished for anything else really, so I stopped pulling. I think I pulled LSP completion API in 0.11 era but that's it.

Hate it when people break backwards compatibility. For me it's sacrosanct, more important than absolutely anything else.

I only have a handful of plugins so the system works well. And I have a 500 line init.vim (and no other config).

Some ecosystems like golang share this principle and so I can freely update packages without worrying about breakages. But other ecosystems(nvim, python, etc) I'm a lone warrior

idgi, shitting on the maintainer takes 10x more time than forking the repo

I guess he really needed the latest ci/chore commits

This was probably near the breaking point before, it just needed an idiot to catalyze.
I will never understand people like GitHub user “shushtain” in the linked issue.

So obviously the guy is behaving like an entitled jerk, but it’s also surely counter-productive (volunteer maintainers are unlikely to respond well to plain rudeness)? Unless the goal isn’t a productive outcome, but just to be mean?

Think of the average person, in terms of communication skills, education, critical thinking, emotional regulation, etc. Now realize that half the population is below that.

If you're in a social bubble, which is hard to avoid nowadays, I recommend watching police body cam videos to help recalibrate where the ends of the spectrum are. It's also given me sympathy for police in general

Good for the maintainer, hope they find peace and do things just for their fun, without needing to deal with comments like that anymore
Stepping away from the project would be fine.

Archiving a project which has other maintainers is an overreaction.

Not really. If there are other maintainers who have ownership of the project they can just unarchive it themselves. If not, then he'd have to appoint a successor first, which would mean doing more work for free. So the best solution is just to archive it and let the community fork it if they're interested in continuing development.

Also your phrasing of "would be fine" implies that there are things that are not "fine" to do when doing work for free for the public benefit, which is exactly the sort of entitled attitude that makes many (myself included) uninterested in open sourcing their own projects.

So what will happen now? Who will take over? Abandoning a project because 1 person is kinda extreme.
It's not one person. The maintainer's been getting abuse over their decision to rewrite the plugin for quite some time now, despite being very clear about what they're doing. It's fine for users to be upset, but not to treat the author like this.
Genuine question: Why not just close such derailing and burdensome issues and/or block mean people?

My guess: People would freak out if FOSS maintainers actually did this.

I get anxiety publishing open source because of things like this.
This is a bane of all such aggregator libraries, that suck maintetance from other projects into themself. Null-ls suffered from this, too: https://github.com/jose-elias-alvarez/null-ls.nvim/issues/16...

The source of a library needs an update every time there is a configuration change in _any_ tree-sitter parser supported.

The only sustainable option is not use these helpers and manage editor dependencies manually: tree-sitter parsers, LSP servers (looking at you Mason), and plugins (looking at you neovim distros).

I think it would make a big difference even if the aggregation of queries was separated out into a separate repo from the other code, so that you can pin the code for installing and updating parsers while still being able to get updates to the queries, and it isn't as much of a problem if the installation code make major breaking changes (like requiring you to use 0.12)
The Fandom Menace strikes again.

But seriously, this is messed up. People need to learn to treat others with respect and kindness. Hopefully the maintainer is able to simply move on after archiving the repo, and isn't dealing with any mental struggles from dealing with years of entitled users demanding things for free.

In popular open source projects this is a recurring issue. I suspect the only way to deal with it is to either shift to a platform that has better tools for moderation, or end the project like the maintainer has done. Let someone else fork it and deal with the users.

To clason: Thank you for all the work you did maintaining nvim-treesitter!

I would not worry too much about the maintainer - judging by his GitHub profile he does a bit of professoring as a side hustle ;)

Thank you Christian Clason for giving us nvim-treesitter! And always remember, for each idiot insulting you there are thousands of happy, silent users.

It’s like the law of big numbers. Once a project grows large enough, some entitled free-riders are bound to pop up.

What to do as maintainer? Can everyone of them find piece?

Nvim treesitter is kind of taken for granted even if nvim maintainers say it's experimental. So I think the community will have to find a solution and replacement project.
Honestly I missed the neovim 12.0 being marked stable, and just updated when this happened.
Will this mean the end to NeoVim, whose main (one of) selling point is the tree-sitter out of the box? I hope not, as I am the long time user and supporter of the project.
tree-sitter still works. Many features are implemented in neovim itself. This project provides an easy way to set up parsers for various languages (including installation and retrieval of necessary queries), along with some quality-of-life features. You can just fork it, and it will work perfectly fine for the 0.12 cycle (barring any underlying parser changes), or you can fork the previous version on the master branch if you want to keep using 0.11.

Considering this is a very common plugin in the neovim ecosystem, it will probably get forked and maintained by someone else, like null-ls was forked into none-ls.

Very strange attitude towards open source. One guy decides to stop working for free, leaving all of his work publicly accessible for anyone to continue to build upon, and the response is "well, I guess that's the end of that project".

I'm guessing the attitude of "users and supporters" of the project such as shushtain complaining and wanting clason to do all the work instead of just doing it themselves, was a factor in him deciding to step away from the project.

Isn't treesitter integrated to nvim anyways at this point, even if it's experimental support?
You could probably make things work without nvim-treesitter, but it's an additional maintenance burden you're taking on. As the repo itself says, it's an abstraction layer. You don't _need_ it, but it's nice to have.
> since people apparently can't read

I know Free and OpenSource software is only available thanks to maintainers who spend their time and money to make it available. This type of sentence though, makes all I just mentioned easy to forget, when they take that tone with you.

"dont be a shushtain" will now be part of my vocabulary. honestly, i think one of the main reasons why large projects like kernel.org survive shushtains are guard dogs like linus torvalds. only if people have a decent amount of respect maintainers will actually scald them for saying smth utterly stupid, entitlement is kept at bay through being nudged towards going the extra mile themselves. after all, people do not apologize for acting entitled.