Ultisnips: Project status

Created on 29 Mar 2018  路  18Comments  路  Source: SirVer/ultisnips

Hello, @SirVer, @seletskiy, and other contributors, and users of this project. I would like to gently ask about UltiSnips project status.

In Readme is stated that:

UltiSnips was started in Jun 2009 by @SirVer. In Dec 2015, maintenance was handed over to @seletskiy.

But the last commit was 423f264 on Jun 30, 2017. It's almost a year, and last @seletskiy activity in issues is somwhere around august 2017. Both of you seem remain active on Github, so I assume that everithing is fine, wich is great. But...

There is no note on projects status, so I would like to ask, is there a new active developed fork of this, or project is abandoned by every maintainer and its destiny will remain unknown? Other snippet plugins that i've seen has less features than Ultisnips, so I'm really interested in this project health status. Current master contain some essential bugs, like #948, or #932 and others, wich I haven't encountered yet, but still, that interrupts work in some case.

Most helpful comment

@andreyorst In Nov 2016 I passed on all maintainership of my open source projects due to rising personal commitments (See the post for my more successful open source project for details). My situation is unchanged, so I cannot commit to spending more time on UltiSnips myself right now and in the foreseeable future.

Stanislav (@seletskiy) was the most active contributor at that time and graciously accepted taking on maintainership of UltiSnips. It is a lot of work to maintain a high active project like Widelands, probably he can't keep up either any more.

There is no note on projects status, so I would like to ask, is there a new active developed fork of this, or project is abandoned by every maintainer and its destiny will remain unknown?

I am still an active user of UltiSnips - I use it daily - and in its current form it is very usable, stable and feature rich. So even if there is no maintainership going forward, I think it remains a useful plugin for a long time to come. I do not think that there is a more active fork of UltiSnips, but I have not checked.

I think fixing the most annoying bugs is all that is required, that should not be a ton of work. However, I think it requires a hero to step forward with the interest of investing time into UltiSnips. I will add anybody interested in being a maintainer to the project admins, I am also open to moving UltiSnips into an organization and have its development lead by a group.

All 18 comments

@andreyorst In Nov 2016 I passed on all maintainership of my open source projects due to rising personal commitments (See the post for my more successful open source project for details). My situation is unchanged, so I cannot commit to spending more time on UltiSnips myself right now and in the foreseeable future.

Stanislav (@seletskiy) was the most active contributor at that time and graciously accepted taking on maintainership of UltiSnips. It is a lot of work to maintain a high active project like Widelands, probably he can't keep up either any more.

There is no note on projects status, so I would like to ask, is there a new active developed fork of this, or project is abandoned by every maintainer and its destiny will remain unknown?

I am still an active user of UltiSnips - I use it daily - and in its current form it is very usable, stable and feature rich. So even if there is no maintainership going forward, I think it remains a useful plugin for a long time to come. I do not think that there is a more active fork of UltiSnips, but I have not checked.

I think fixing the most annoying bugs is all that is required, that should not be a ton of work. However, I think it requires a hero to step forward with the interest of investing time into UltiSnips. I will add anybody interested in being a maintainer to the project admins, I am also open to moving UltiSnips into an organization and have its development lead by a group.

@andreyorst: Yep, I'm on same position as @SirVer here. I use UltiSnips every day, but the reason that UltiSnips bugs mostly caused by vim own bugs and design flaws made me turn away from maintaining project :disappointed:

If you want to take over merging PRs/fixing bugs, let @SirVer know.

If you want to take over merging PRs/fixing bugs, let @SirVer know.

Unfortunately I'm not a python developer so I can't. I'd like to recommend to mark somewhere that project is currently frozen and looking for new developer/maintainer. It may bring some attention, and maybe new collaborators will come, or some fork may appear. But that's up to @SirVer I suppose.

UltiSnips bugs mostly caused by vim own bugs and design flaws

I thought neovim should resolve some of theese. I don't know what causing, for example, #932, but I thought that async abilites of neovim can make everything more snappy. And so on.

Anyway. Thanks for your reply, I'll try to find workarounds for my current problems, as I did with #948 and post them in corresponding issues, so others may use them if they encounter the same problems as I do.

@andreyorst Please suggest a PR with the kind of advise you'd like to see and I'll consider it. Ping me directly in the PR, please.

I had high hopes for neovim too, but I consider it a failed project at this point in time. It effectively forked the ecosystem without delivering many of the promised advancements. Now it is just more difficult to develop for Vim, since you have to support two subtly different editors with different bugs. In fact, NeoVim was one of the reasons I felt maintaining UltiSnips was too much work going forward....

Will do

@andreyorst I saw your pull request and I will address it soon now. Reworking the README is still on my list and I will merge your PR when I do that. In the meantime, I was busy doing some housekeeping work to the repository to reduce maintenance burden:

  • I made the test suite run again on Travis, moving it to using Docker. This should make it less brittle, since it depends on fewer external pieces.
  • I setup a Travis cron job, so even if the project falls dormant we will know as soon as the test suite breaks.
  • I triaged all PRs and made progress on closing or pushing some forward.
  • I triaged ~40 bugs, closing most of them. I am unsure if I can stomach triaging all remaining 120 open issues. Help here is very much appreciated!
  • I added dockerfiles for easy and reproducible testing on all combinations of python 2.7, 3.6 and vim 7.4, 8.0 and git HEAD.
  • I added dockerfiles for creating minimal, complete repro cases for new bugs.
  • I documented these in CONTRIBUTING.md.
  • And finally I added a GitHub issue template, pushing users towards creating easier to reproduce bug reports with some baseline information (i.e. OS, Vim version, UltiSnips Version, Python version).

Feedback on any and all of these is more than welcome.

@SirVer Understood.

I triaged ~40 bugs, closing most of them. I am unsure if I can stomach triaging all remaining 120 open issues. Help here is very much appreciated!

Well I think that I can walk through most of issues and analize them, and mark duplicates at least. It's no problem. Want me to do this?

And finally I added a GitHub issue template

I think It could be done better, I'll provide a PR to show what I mean.

Want me to do this?

@andreyorst Absolutely! I've added you as a contributor to the repo.

I think It could be done better, I'll provide a PR to show what I mean.

Much appreciated!

Well, I've closed lot of issues (20 or more) some of them as duplicates, some as not reproducable, and some as fixed. And added labels to lot of other issues to categorize them at least (created two new labels, because some was too ambigious for me). Can't do much more, but it will be bit easier to do housekeeping now. There are still lot of issues, that are from 2016 for example, and have some comments from you, or Stanislav, but they are not closed, either because bug is not fixed or fix was proposed, but no feedback followed by issue opener. I'll continue to monitor issues, possibly pinging old ones to verify that it is still relevant.

Assigning this issue to me to remember to update the README.

This should go into the readme somwhere.
https://blog.kentcdodds.com/becoming-an-open-source-project-maintainer-68fb6e3cedfd

@SirVer can I assign you to some issues?

@andreyorst Yep, please go ahead. I do not know how much more time I can invest in UltiSnips in the coming days, but that way at least I know what I have to look at.

@SirVer Unfortunately I no longer able helping out with Issues due lack of time. I have personal projects, and work to do, so I currently want to step aside. Most issues that I could test, I've tested, and tagged accordingly, there is no further work that I could do I suppose. Thanks for your assistance in fixing those problems, and for your time.

@andreyorst Thanks for contributing your time and getting the project out of hypernate. I feel that we moved quite some things forward and UltiSnips is in reasonable shape for a while again.

I have also been caught in the wake of day to day live again, so my time has become rather limited too. Nevertheless I aim to at least review PRs and keeping the README updated going forward.

After a long time using an old plugin version I've updated to the latest some days ago and noticed it introduced (at least) a bug. Given the queue of unanswered PRs and issues I take no one has had time to maintain the project, is that correct?

@mMontu yes, currently all the former maintainers (me included) are busy with other things. Help is greatly appreciated!

I've take a quick look on the open PRs and most of them are blocked by the CI. Latest Vim versions probably introduced some changes that are affecting Ultisnips, because even PRs to update comments are failing. So I believe the first step to update the plugin is to unblock the PR builder.

Is there an easy way of triggering a new run? I'll investigate this when I have some (unfortunately I'm also busy).

The easiest way to replicate a CI run is using docker, it is documented here:

https://github.com/SirVer/ultisnips/blob/master/CONTRIBUTING.md#running-using-docker. I suggest reading through the full Contributing document as it explains how the tests are executed.

It should boil down to:

~
... install docker
$ make image_vim_80_py3
$ docker run -it -v $(pwd):/src/UltiSnips ultisnips:image_vim_80_py3 /bin/bash
inside container now
$ tmux new -s vim
outside of container open a new shell, then exec into container:
$ make shell_in_repro
inside container again
$ python3 test_all.py
~

You will see how the tests are executed in the Vim session you've launched in the other terminal and they should all pass. If you replace vim_80 with vim_git, some tests start failing. I assume that some newer revision of vim changed some internal handling that introduces timing problems with the test suite, but I never had time to investigate.

Further reading are https://github.com/SirVer/ultisnips/blob/master/.travis.yml#L15, https://github.com/SirVer/ultisnips/blob/master/docker/run_tests.sh#L14

Let me know if you need more help and thanks!

Was this page helpful?
0 / 5 - 0 ratings