Skip to content
This repository has been archived by the owner on Aug 12, 2023. It is now read-only.

IMPORTANT: Archiving null-ls #1621

Open
jose-elias-alvarez opened this issue Jul 9, 2023 · 110 comments
Open

IMPORTANT: Archiving null-ls #1621

jose-elias-alvarez opened this issue Jul 9, 2023 · 110 comments

Comments

@jose-elias-alvarez
Copy link
Owner

I’ve been struggling to find the time and energy to maintain null-ls, especially since I no longer use Neovim as my primary editor. I’m not confident about my ability to adapt the plugin to 0.10 and beyond, so rather than let the repo silently rot and give the false impression that it’s still under maintenance, I am instead choosing to archive it on August 11, 2023 (about one month from today).

Any user or organization who wants to fork the project and take over maintenance should feel free to do so (the majority of open issues / PRs are not actionable, so I don’t see value in transferring the repo).

I will be traveling for most of July and do not plan on reviewing issues or merging PRs between now and the archival date. If there’s community consensus on a fork, I will update the README to direct users there and mention it in the final archival notice commit to make users aware via their plugin managers, but otherwise, null-ls will remain as-is.

I want to mention a few challenges that anyone thinking of taking over maintenance of null-ls should be aware of:

  1. Due to its architecture, the plugin is uniquely exposed to Neovim changes, both breaking and non-breaking. Almost any change to existing LSP-related code has a non-zero chance of breaking null-ls, and this is not likely to change unless core maintainers decide to open up APIs for code actions and formatting, similar to what was done for diagnostics in 0.6.
  2. The null-ls repo contains both the core null-ls code and a large number of built-in sources (almost 300!), so exposure to upstream changes is high. There’s no easy solution here - I’ve thought about deprecating all built-in sources and urging interested parties to maintain bundles of null-ls sources for different languages / ecosystems, but for the most part, the willingness hasn’t been there. (To illustrate the scale of the problem: the closest analogue is ALE, which as of writing has 532 open issues dating back to 2017.)
  3. Users have an infinite variety of configuration / environment needs, especially in complicated ecosystems like Python. As above, this doesn’t have an easy solution, but the issue helps illustrate why the current approach isn’t sustainable.
  4. A large percentage (possibly a majority) of users use null-ls via a Neovim "distribution" (LunarVim, LazyVim, etc.) which adds indirection and makes issues harder to debug. I think this could be solved if I had had more discipline about directing users of these distributions to report issues upstream first and only come to the null-ls repo once they’re confident the issue can be reproduced independently, but it’s a constant source of friction.
  5. I did not foresee that built-in sources would be far and away the most popular feature of the plugin, so many parts of the architecture are not as user-friendly or flexible as they should be. In particular, it should be easier for users to write, maintain, and customize sources, both on their own and to share, but it's hard to make significant changes now without breaking things.

Taken together, these issues may justify a total rewrite, similar to the jump from nvim-lsp-installer to mason.nvim. The current repo structure is especially hostile to semantic versioning, which I think is a big leap forward for users and maintainers. (For my part, I am agnostic about the "right path" for null-ls from here on out, but I’ll mention that I’m skeptical that feature parity and sustainability can be achieved without some level of buy-in from Neovim core.)

@JulianH99
Copy link

Hey. I hope you're really doing fine. I'm sure null ls will be a good legacy and there will be other solutions down the road. Thanks for all your effort, open source is known yo be complicated and time consuming
I've got curiosity, what is your main editor now?

@marcoswlrich
Copy link

Thanks. This plugin is incredible.

@ColinKennedy
Copy link

This plugin was easily my favorite in the Neovim ecosystem. I hope this project gets forked and extended so this work lives on. Thank you for everything!

@magoz
Copy link

magoz commented Jul 9, 2023

Thank you for all your work over the years!

@rochakgupta
Copy link

Thank you for all your hard work!

@EuCaue
Copy link

EuCaue commented Jul 9, 2023

Thank you for all your work!!

@PedramNavid
Copy link

Thank you for all your hard work!

1 similar comment
@lost22git
Copy link

Thank you for all your hard work!

@tangiang0812
Copy link

Thank you for all your hard work!

@jcaffey
Copy link

jcaffey commented Jul 10, 2023

Thank you for the wonderful work.

@linrongbin16
Copy link

Thanks for your work.

@anasrar
Copy link

anasrar commented Jul 10, 2023

Thanks to everyone who contribute to this awesome project.

@keaising
Copy link
Contributor

This is one of my favorite neovim plugin, thanks for your work!

@ma-anwar
Copy link

As a Lunar Vim user, thanks for your work!

@howarddo2208
Copy link

thank you for your work man! Wish you'll do well on your next project

@amirhhashemi
Copy link

Thank you for all your work. Wish you the best.

@harshv5094
Copy link

harshv5094 commented Jul 10, 2023

@jose-elias-alvarez, Thank you for your hard work in maintaining this project as best as you could. May this legacy will be continued in the future.

@bas-ie
Copy link

bas-ie commented Jul 10, 2023

Thank you! Best wishes for your retirement from having to deal with GitHub issues 🙂

@reaper8055
Copy link

Thanks for the amazing work 🥺 and making it available to us. Hope you are doing okay...

@milanglacier
Copy link

Thank you for the time putting on this project and your contribution to the neovim community for making a almost "de facto" standard neovim plugin in many distributions. With 3.4k stars, this project is definitely a huge success.

And Wish the best luck for you.

@LumenYoung
Copy link

Thanks for the great work. It is really a really great contribution to the neovim ecosystem already! Hope you are having enough fun with your new editor as well!

@doums
Copy link

doums commented Jul 10, 2023

Hey, you've built one of those major plugins that I'm sure is present in a good percentage (a majority?) of nvim users config (including mine). So thanks you for your incredible work! :)
Wish you the best for your next editor journey, hopefully a bit more "relax" xD

@kylo252
Copy link
Contributor

kylo252 commented Jul 10, 2023

@jose-elias-alvarez, I am immensely grateful for the hundreds, it not thousands, of hours you have put in. Your work has helped the community to learn and develop LSP features, enabling us to compete with those big IDEs.

Thank you so much for your contribution, and all the best in your future endeavors!

@shapeshed
Copy link

Thank you for your hard work and contributions to the community! 🙏🏻

daliendev referenced this issue in daliendev/astro-nvim Oct 1, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests