preservim/nerdtree

Help Wanted: New Collaborator

PhilRunninger opened this issue ยท 57 comments

What?

With this issue I am announcing my retirement from NERDTree. It's been a good six years, full of many enhancements and fixes for this much-loved plugin, but it's time for me to move on.

Why?

  1. I'm tired, and I've been procrastinating other things.

  2. Every application has an expiration date, and NERDTree has many years left in it. But Vim 8+ and Neovim have introduced new capabilities that other authors have exploited to write very good alternatives - plugins whose features NERDTree would have a very difficult time assimilating. In a very real sense, NERDTree is the inspiration for many similar plugins that came after it. It may be time to pass the torch. You may disagree with me. That's OK; I'm not offended. All I ask is that you get involved if you think NERDTree should continue.

  3. I have noticed that as I took on more responsibility as maintainer, participation from the user community fell off in both the discussion of issues and the authoring of pull requests. My hope is that trend will reverse itself as I step away.

Now What?

If you are interested in becoming a collaborator, leave a comment below. I will continue monitoring this thread, and will make appropriate evaluations of interested parties. @scrooloose, @lifecrisis, and @alerque, I invite you to weigh in, as well.

Thanks,
Phil

Thanks for posting this. I think the general assessment that this plugin is best paired with a previous generation of editors is about right. The same goes for many plugins these days. That being said I expect there is a very long tail of people that will keep using this for the foreseeable future.

I do hope somebody that actively uses this will step up to maintain it. It probably only needs a light touch at this point, but I don't use it myself enough to be the best person for that. I will however be around to help get a new maintainer setup with the necessary permissions here and make sure things go smoothly for users along the way. It could even be more than one person of there are a couple people each with variable time available for such a project. Anybody with an interest please do drop a line here and we'll evaluate how to proceed.

it's ok, i forget you

I completely enjoy using vim with nerdtree. In fact, I only use vim with nerdtree installed.
I have never written a plug-in but would enjoy participating.
I would need some direction, but I'm all ears.

@njligames Feel free to jump in. The best places to start would probably to to work through existing issues and evaluate whether they are a question you can answer, a problem you can solve, or when appropriate explain why an issue may not be addressable. Also any open PRs could use review and testing, suggesting anything that would need fixing before they should be merged. If you have contributions of your own go ahead and open PRs.

I'll be keeping an eye on such contributions from you or others and if they seem like quality moves forward will be happy to boost permissions to reduce friction managing issues, merging PRs, etc.

@alerque I've written two vim plugins far less complicated than nerdtree, but I would love to be a part of nerdtree's development. I will learn and try to be active.

I have used NERDTree for some time and I really liked it. I don't like the idea of it falling behind, but as many others, I do not have experience developing plug-in's. Anyway, following @alerque notes, I would love to start checking some opened issues and trying my best to fix those. Great work @PhilRunninger, you built a great tool!

Having had this plugin in my primary vim config for years, I can recall this being the primary plugin to have a file tree back in the day, with no real alternative existing. Of course, this was before neovim and LSP and whatnot. It's served me well for the longest time. Thanks for maintaining it.

As a user I wonder, what does the competition look like these days? What sort of Vim8/NeoVim shenanigans do they involve themselves with?

flwyd commented

Is it possible to consider a change of license? WTFPL is not an OSI-approved license, and it is legally unclear if is actually a public domain dedication.
My employer takes the position that the terms which allow me to contribute to open source projects in general do not permit contributions to WTFPL projects.

I'm OK with changing the license. There was a similar discussion in the nerdcommenter project, which was subsequently changed to a CC0 license.

I truly enjoy using NERDTree for accessing my files when coding in vim and it is all that I use. It's well built and reliable. I have a bit of scripting experience and have been a student studying programming for several years. It would be awesome to support NERDTree. Although I have never built a plug-in, I'd be happy for the opportunity to help develop and maintain NERDTree.

If you are still looking for a maintainer I would gladly help out.

If you're still looking for more maintainers, I would love to help out. NERDTree has play a major role on why I try to stay away from IDEs

Re license change: I researched this for nerdcommenter and because the WTFPL allows relicensing there really isn't that much involved in making that happen (i.e. we don't have to contact all prior contributors). The original author even supported my in that change, so it really wasn't that hard. I would be in favor of changing the license of this project as well. What does need to happen is picking an official replacement license for contributions going forward. CC0 is definitely one option and I chose that because it seemed to be the closest in spirit, but there are other options too. I think this topic should be moved to a new issue to discuss / settle on a new license. This thread is overloaded.


@think-pink and @elantigua1 yes we're still looking for a maintainer, but the path to becoming one is probably going to involve somebody actually jumping in and starting to do the work, then getting elevated permissions to reduce the friction in their contributions. Feel free to jump in and help respond to open issues, find problems, submit fixes, add features, etc. When I/we see some action from somebody that looks like good contributions we'll jump in with an invite with more permissions.

ceuk commented

Every application has an expiration date, and NERDTree has many years left in it. But Vim 8+ and Neovim have introduced new capabilities that other authors have exploited to write very good alternatives - plugins whose features NERDTree would have a very difficult time assimilating. In a very real sense, NERDTree is the inspiration for many similar plugins that came after it. It may be time to pass the torch. You may disagree with me. That's OK; I'm not offended. All I ask is that you get involved if you think NERDTree should continue.

Just because NERDTree is no longer new and exciting and people aren't blogging about it in their "my amazing vim setup" posts or raving about it on Reddit/HN doesn't mean there aren't probably tens of thousands if not more people actively using it every day for their work/hobbies.

I've tried most of the other alternatives all the ones I tried were noticeably less stable. Fancy, modern features are not a great benchmark of quality software.

It would be irresponsible to volunteer to help out as I'm already stretched thin but I did just want to stop by and add some sincere praise and thanks for what has been a very useful and appreciated part of my workflow for many years.

Cheers

Late to the party setting up a new machine and saw this. At the enterprise I work at there are thousands that use NERDTree. This plugin is still used pretty heavily especially in the Ruby community.

I don't mind getting involved, something that would be helpful is if someone could post a walkthrough of the code to ramp new people up. Doesn't have to be a formal ramp up just press record and start talking I know I would listen to it, and it will quell others saying they would like to contribute but need help getting started.

  1. Every application has an expiration date, and NERDTree has many years left in it. But Vim 8+ and Neovim have introduced new capabilities that other authors have exploited to write very good alternatives - plugins whose features NERDTree would have a very difficult time assimilating. In a very real sense, NERDTree is the inspiration for many similar plugins that came after it. It may be time to pass the torch. You may disagree with me. That's OK; I'm not offended. All I ask is that you get involved if you think NERDTree should continue.

What are these "similar plugins" that you allude to? Does anyone here have recommendations for alternatives?

Thanks

I'd love to get involved, I just recently finished a plugin of my own: https://github.com/Lisicong9203/T.vim

@Lisicong9203 jump in! Per this comment I'll be keeping an eye on existing issue activity and PRs and as soon as I see action that looks solid I'll start bumping priv levels to make the work go easier. Feel free to look though existing issues and comment to ether request what is missing, suggest fixes, or recommend closure or whatever. Same for PRs: review existing ones with the GitHub review tools or submit your own and I'll follow up to either make the actions happen or enable you to do them directly. I don't expect see see a big overhaul, just show a little TLC and I'll send invites.

^^^ This goes for anyone interested!

@alerque @PhilRunninger thanks for all your work for this plugin. If time permits, I will try to contribute some code.

@alerque @PhilRunninger Thank you so much for the plugin of love :)
I am somewhat interested fixing bugs and maintaining code base as you retire.
Maybe we can have a chat, so you can leave me your insights and experience.
If all goes well, I will be the new developer. It's a sad thing I have also other things
to do...

Sign me in! Please message me if you are interested in direct chat.

<3
Matti

@mattitk Thanks for your interest. Please do read previous comments in this thread. You don't need anything from us to get started. This is an open source project in a flexible organization and there are a number of people with access still that can and will facilitate contributions. As I've stated above we'll be on the lookout for whoever is actively contributing to existing issues and/or helping with PR review and/or contributing. As soon as we see that activity we'll start adding more privileges to get the work down faster / more effectively. We don't have anything to chat about per say, if you want to know the ropes jump into the existing issue tracker and/or code and see what you can contribute. If the contributions start looking good we'll give higher level access to also facilitate other people's contributions.

Hey all,

@PhilRunninger and @alerque Thank you a lot for your work. I have been a long time user, and it has really improved my development work. So I can say your work has saved me a lot of work.

So anyone feel free to contact me if you need help, or if you think I can be of any service. I have never wrote vim plugin, but I am an experient vim user. Plus vim plugin development has been in my bucket list for quite some time, so I am willing to learn.

Best
J.

@joeldbaptista Thanks for the offer. I'm pretty sure the best way to get your feet wet and aid this project is to help us work through existing issues & especially PRs. It would be nice to triage all the old reports that are still open and decide if they still need help, if there is enough info to help, whether they just need pointing to existing solutions or if they need a bug fix or feature development to close, etc. That can all be done just by reviewing and commenting on existing issues. I don't have time to dig in to each issue but will follow along with comments and if someone else is digging into them I'll make sure they can make progress.

PRs are arguably even more important. Somebody needs to check them out and make sure they actually work, reason about whether they are a good feature/fix to include or possible are bloat that should be rejected, and whether they are ready to be merged, make sure they are complete (e.g. check for documentation), etc. If folks like you would take those steps and comment on your findings we can move forward with them. Having as few open PRs as possible and feedback (positive or negative) on all existing ones from uses besides the submitter is always a boon to OSS projects.

Again I'll make sure anybody that's actively reviewing issues/PRs and/or submiting fixes that help the community gets access privileges to carry out their contributions efficiently.

tuzz commented

I don't have any time to contribute but I'd just like to say thank you to @PhilRunninger for doing a wonderful job over the years. I still use NERDTree every day and really enjoy the experience. All the best with your next projects. โค๏ธ

rzvxa commented

I'm so happy for you and wish the bests for you, NERDTree is one of the best vim plugins out there, In past few years that I've been using it, it always managed to get the job done, it does a thing and does that good, yes there been times when it was slow to index nested directories or times it throws random errors, but it never failed to make life easier for all of us.
I think no matter what, whether NERDTree gets the maintenance it deserve or if it gets obsolete in future you've had a big impact in the vim community.

Kind Regards,
Thank you for NERDTree

I am the last person who may contribute as I consider myself a "final user", so this post is just to say THANK YOU!
I tried other tools, including the newly builtin :Ex, but sorry, no.
Nothing compares to NERDTree.

What are those features and plugins that are so necessary and that make NERDTree obsolete in your opinion?

I love Nerdtree, it was one of the very first vim plugins I ever used. Thank you for your excellent work @PhilRunninger ๐ŸŽ‰

There are no vim without Nerdtree on F2. Thank you for you work !

Recently just discovered NERDTree and was setting it up today (ref: https://twitter.com/kuncevic/status/1629769668369211392)

Just want to thank the author of that great plugin for such a great work @PhilRunninger ๐Ÿ‘

thank you, man

lifei commented

thank you, man

@PhilRunninger Thank you for your amazing on the plugin <3
I don't use many Vim plugins but NERDTree is one of the most useful ones!

Just wanted to say thank you @PhilRunninger for working so many years on this!

Thank you @PhilRunninger ! And please enjoy your retirement.

Have been using Nerdtree since 2011, it will always be in my โค๏ธ

I use Nerdtree every day. Thank you โค๏ธ

I don't speak for this project in particular. But with any open source project, "maintaining" just means reviewing contributions and fixing bugs whenever you have time. How much time that costs really depends on the nature of the project and how popular it is, but a lot of people are happy enough with someone just making sure the program keeps working into the future.

@1001001-dude If you are interested in helping please read my comments above including this one and several similar ones afterwards.

rzvxa commented

@1001001-dude @alerque I still use NerdTree and plan to keep using it. Vim itself is a piece of history that we are all too attached to its bindings that we can't go anywhere else except to another part of history which is The Church of Emacs(thanks to awesome work done at evil, check out doom-emacs for example). I think you can't really add that many features to a FileTree plugin as it already has everything you would ever want from one, So the only problem is maintenance in case anything breaks in new file systems or newer versions of VIM/NVIM. In that situation, I'm sure the community can come together and fix it for everyone.
Let's keep every new functionality out of NerdTree in a separate plugin, I'm not sure how modular is the NerdTree itself, But There should be some modularities as I'm using devicons for adding icons to my tree, and as far as I've seen there is no flag in NerdTree itself for adding these icons, So it should be implemented at the devicons side.

rzvxa commented

@1001001-dude No I haven't got the pleasure of working with him, I'm just a person who uses NerdTree every day as my file explorer in Vim, And I wouldn't mind helping with the maintenance of the project if it means I can keep using it.

maybe this author is a good choose [Doge] https://github.com/folke

@k-valye yes, I agree.
@alerque should we discard this or the project still needs devs. from the community or sponsoring a paid dev. to keep going?

@alerque @k-valye I'm retiring from this one, it seems there is no longer interest or they found Collaborators already

btw, RIP Sir Bram Moolenaar :(

@alerque @k-valye I'm retiring from this one, it seems there is no longer interest or they found Collaborators already

btw, RIP Sir Bram Moolenaar :(

A historical splendor author and best editor, RIP...

Any new maintainer, I'll support!

cxwx commented

I've change my plug to similar project like chadtree neo-tree, but nerdtree is the stablest.

rzvxa commented

I've change my plug to similar project like chadtree neo-tree, but nerdtree is the stablest.

I've used NerdTree for many years now, It usually tends to work fine(with a few issues here and there), I guess you can keep using it, If any breaking changes happen in the future we can always fix it going forward, Even if PRs don't get accepted, there is nothing stopping us from forking the repository and maintaining it over there.

Even if PRs don't get accepted, there is nothing stopping us from forking the repository and maintaining it over there.

At this point there is no reason to fork. I and several other people with admin rights to this repository are willing to facilitate merging PRs and I've said many times already in this very thread that as soon as I see activity from anyone that is constructive in either working with existing issues or in sending code contributions I'll invite them to have maintainer access themselves. So far nobody has done that.

There is no urgent need for development work at this point, but everybody seems to be wringing their hands about what might happen โ€” but at the same time as of now there is a wide open path to contribute and even become an active maintainer. The only caveat is I don't want to just see talk, I want to see actual contributions before on-boarding maintainers.

@alerque would you be willing to record a walkthrough of the code for on-boarding purposes? For me this would reduce the entry barrier, open to paying you for this work. Then you can put the YouTube link in the readme for future contributors.

Like yourself everyone has other things they are doing so the easier it is to understand the code and structure the more people will be able to help.

rzvxa commented

Even if PRs don't get accepted, there is nothing stopping us from forking the repository and maintaining it over there.

At this point there is no reason to fork. I and several other people with admin rights to this repository are willing to facilitate merging PRs and I've said many times already in this very thread that as soon as I see activity from anyone that is constructive in either working with existing issues or in sending code contributions I'll invite them to have maintainer access themselves. So far nobody has done that.

There is no urgent need for development work at this point, but everybody seems to be wringing their hands about what might happen โ€” but at the same time as of now there is a wide open path to contribute and even become an active maintainer. The only caveat is I don't want to just see talk, I want to see actual contributions before on-boarding maintainers.

Your point is 100% valid, There is no rush for new features and there are no major breaking issues with the NerdTree as it is quite stable by itself. All of the worrying feelings (at least in my case) are around the subject of the maintainer "getting hit by the bus" factor, I know this project was a passion project of many, And now that this passion has been desaturated due to work/personal difficulties or moving on to more exciting projects, I just want to make sure that this repository doesn't go archived or unmaintained, As it is right now with the help wanted banner many people may think its deprecated and won't use NerdTree or even worst they will migrate to something else.
Please don't take these comments the wrong way, People are just afraid of losing their precious plugins.
I'm just happy that preservim exists so we can keep the good tools up.

rzvxa commented

@PhilRunninger Hello Mr. Runninger, Would you approve a new version release? I'm unfamiliar with your release pipeline, In the past few weeks I've spent some time reading through the source code and more recent open issues on GitHub and tried to fix some of them with a few PRs of my own, Then I found out that there are open PRs that go back to 2021. For something like #1322, I can understand, but some of them, for example, #1274 seem good and almost essential when you think about it.
We can merge some of these changes directly, I guess many people haven't finished their PRs because they are relying on you and other contributors to go ahead and give them final approval, Some of these people may or may not come back and complete their PRs, In case they don't, We can finish them up by ourselves and give them credit for the actual contribution.
I'm not going to take any unnecessary time from you, I can handle initial merging and testing on the development branch, But I would like you to greenlight any merge into the master itself, As I'm new to both NERDTree and VimLang itself, I've written many scripts for vim but this language has a tendency of being ugly to both read and write (much like older versions of perl I guess), So I would really appreciate a few feedbacks here and there from some of the best vim experts.

I'm going to CC some of the other contributors and wanna be contributors much like myself in this comment
@alerque @tuzz @jeremiahlukus @harrozze @1001001-dude

#1274 is already marked as reviewed and changes requested. If you want to move existing PRs along you can:

  • Add reviews to ones that have not been reviewed and include notes about what you have tested in on and how the code looks.
  • If changes have been requested and the OP hasn't responded in a while you can checkout the branch, make the changes yourself, and submit a new PR.

If some of those activities go well, I'll look into giving out increased permissions as well.

I don't think much right now is waiting on an upstream review, but if it is feel free to poke the relevant PR. Just please don't do so without reviewing and responding to existing comments/change requests.

rzvxa commented

@alerque I've addressed original issues with #1274 on #1365, I've also created #1362, #1363, and #1364.
I would really appreciate it if you review them.

I am interested in working on this project, however going through the issues there seem to be a lot with unmerged fixes, or fixes that have only been implemented in forks.
I don't want to fix a bug if someone else already fixed it.
Is there a simple way to know which issues are actually worth working on?

EDIT: I see alerque's post from last week above^^ which seems to answer my question.

Is there a simple way to know which issues are actually worth working on?

Besides thins already said:

  • Reviewing open PR requests first and issues later will help you understand better and waste less time. Most PRs should be linked to relevant issues, but if not adding links is something anybody can do to help.
  • There are probably forks out there with fixes not ever submitted as PRs. Feel free to poke around the network looking for them and open PRs for any that look like they fix real problems in a way that all could benefit from.
  • I think the unmerged stuff is either waiting for specific testing or specific fixes. Both testing and fixing existing PRs is something anybody can do, as well as review any where the status isn't clear.