XVimProject / XVim

Xcode plugin for Vim keybindings
MIT License
5.16k stars 596 forks source link

Please consider some level of commercial support. #601

Open chakrit opened 10 years ago

chakrit commented 10 years ago

I depend on this plugin greatly for my day job. I'd love to buy a full support license if one would ever be available. I know you have put out some statement in your README and have read this issue on donation, but please reconsider.

I know that writing a plugin like this is probably no easy task. And even at 1000+ commits this project still has huge number of issues and it still crashes Xcode every once in a while for some random motion commands. I'd love to fix this myself if I had the knowhow but I do not nor have the time to study in depth into writing a plugin.

Also, not just the issues, there are a lot more features in VIM yet to be implemented in XVim. For starters, I'm sure a lot of VIM-mers uses one or more of @tpope 's amazing plugin like vim-surround or vim-fugitive. Having some level of support for those plugins (or just build their features into XVim directly) would be nice, as an example.

I'm willing to pay $99 upwards for this to be fully supported by a full time staff, issues fixed more quickly, better supports for Xcode betas etc. To me, this is an essential piece of software that greatly increase productivity in my day job. I don't even mind and even would be happier if this is still continue to be released as open source software so we could all benefit.

Maybe start a Kickstarter campaign to fund a full-time developer (or you) to trim down the issues list until at least some patch versions of Xcode6 is officially released?

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

JugglerShu commented 10 years ago

First of all sorry that I have not been active here so long.

Well, I'm also thinking I should do something on current situation of this project. We have a lot of issues and features to implement but it is really time consuming and not easy tasks. And since I'm working as full-time engineer I have little time to contribute this project now.

Since I do not have any experience to make a project be with commercial support I really do not know if it is realistic. I think we need more ideas on this.

I would be glad to be a full-time developer on this project if I were not working in a company now. Maybe I only can spend 1 or 2 days in a week on this project at most. The best thing is that Apple hires me as a XVim plugin writer but not likely to happen, haha.

Anyway I hope that XVim be a good plugin and help many people and I welcome discussion like this and I would like to do my best for this project.

Sorry that I could not propose concrete solutions for this. I'll keep thinking what I can do.

If those who reading this thread have any good ideas please post here.

dojoteef commented 10 years ago

I commiserate with that feeling @JugglerShu. I remember when I first found your project I was ecstatic about it's potential and dedicated around a month of time working on it. I think I'm still the second largest contributor to the project a couple of years later.

Since that time I've had less inclination to contribute because it fits most of my needs, though I keep getting more people that I know to try it and a couple have even tried to work on some fixes to issues that bothered them.

I recently interviewed someone who has a commercial plugin for Xcode vim bindings. I haven't tried it myself, I don't know how quickly he reacts to support tickets, I don't know the frequency of updates, but he did mention it's written in a scripting language, so crashes don't happen (or at least aren't very likely). At worst it crashes the script and it restarts the script without taking Xcode down. @chakrit, you might check that out if you're looking for a dedicated app that has support. http://viciousapp.com

That said I really like that @JugglerShu spent the time to make this great plugin that I now rely on as well. I can look at trying to help out with support again if needed, though I think my spare time is fairly minimal as well.

chakrit commented 10 years ago

Wow, that is a nice find. I'll check them out soon. But still I'd love to support an OSS project more than a fully commercial vendor tho : /

sdmiller commented 10 years ago

I'll echo the OP: I'm a big fan of the project, and would be happy to give at least $99 if it'd help make the plugin a bit more stable. I'm also a hypocrite, in that I have no time to contribute to the repository myself. So I can definitely sympathize with your plight -- it's hard to balance a demanding job with open source.

Just wanted to throw out a suggestion: if you were able to raise a meaningful amount of money, would it be possible to nominate another github contributor to keep the day-to-day development going? People with full-time jobs may have diminishing time, but quite a few great coders (e.g. CS grad students, independent contractors) have both a separate income source and free cycles. A volunteer could probably get a lot done with partial support ( <=$1000 a month) and high-level supervision from @JugglerShu . This model has worked quite well for other open source projects I've been a part of.

codeluggage commented 10 years ago

I have no concrete suggestion, but I have been following the development of https://github.com/neovim/neovim and have dreamt of a day it could run with Xcode as the presentation layer.

The other plugins I've seen seem poorly maintained. Perhaps there is a way to combine both projects, or somehow collaborate across them.

I love this project and it has been a great help wrangling Xcode, and I'd definitely pay/donate for its use and continued development.

Goles commented 10 years ago

Hey guys, sadly I'm in the same boat here... working full-time as the VP of Engineering for a Startup. If I had more time, I would gladly try to take over some issues... but this is just terrible timing for me.

I could help with some operational stuff, like giving the project more exposure through a website and perhaps an IRC channel? I'm not sure if that's worth it though.

Let me know if I can somehow help.

Cheers, Nico.

antmd commented 10 years ago

NeoVim seem to have a good template for raising funds: https://www.bountysource.com/teams/neovim/fundraiser, also BountySource seems like a good way to open up the 'next steps' for Xvim (via voting).

I think a way of capturing new feature requests (e.g. NeoVim-like features) will get people excited to contribute. A core team (with JugglerShu at the head) will arise around a set of core features implemented by that team.

I have some time for Xvim development, simply because I use it so much, so I don't see it as a diversion when I work on it...it's a great project.

All the best --Anthony

fadookie commented 10 years ago

I also depend on XVim and would be willing to pay a license fee to support its development.

JugglerShu commented 10 years ago

OK. Anyway I think I must do something. Now I have several ideas including

Currently I feel using bountysource or giving limited paid support by me are the realistic options.

The main problem is that even I can get money by making XVim stable I can not make enough time for this right now. If some people think that they would help this project if they can get some amount of money from it, bountysource should work. The limited paid support means that I work on limited number of issues in a month (like 10 issues at maximum). Paid members decides which issues should be fixed first. But this is almost the same as bountysource.

Hiring a maintainer is not realistic now because after all I have to use my time to manage the things. If I have that time I would fix the problem directly.

I do not know well about Kickstarter and how @chakrit is going to use it but giving it a try is better than nothing.

@cakrit let me know your thoughts again. One of the problems we want to solve is your situation (you depends on the plugin a lot and need full time support). How you feel about the ideas are also important.

chakrit commented 10 years ago

Have tried ViciousApp for a week and can now give you guys some review:

chakrit commented 10 years ago

@JugglerShu The KickStarter model is basically to fund you to work on it full-time for let's say 3 months or so (for example, rewriting the core so it's super-stable and provide an easy to use API to program the commands)

You can check out https://www.kickstarter.com/projects/creationix/js-git as an example for how @creationix uses KickStarter to fund development of JSGit. When I mentioned KickStarter, this is what I mean.

chakrit commented 10 years ago

But as you said, if you don't have a lot of time then we probably might need another model.

JugglerShu commented 10 years ago

OK. I have been thinking this for a while and I have several ideas now. But before doing something complex I just want to try easier one.

Bountysource looks really simple. I'll see how to use it and add some description about it in README.md.

It may help this project getting better.

@chakrit I still do not know Bountysource really solves your situation. Maybe what you want is the stability of XVim. It is not easily achieved just by fixing issues. It must be planned and executed. Bountysource also supports Fundraiser with which you can fund some money to achieve specific goal. Consider this as a next step.

chakrit commented 10 years ago

@JugglerShu I have yet to touch the codebase but you are right that my end goal/need is for XVim to be super stable.

I'm guessing that you might already have a solid idea on how this (longer-term stability improvements) can be implemented? Maybe you could do a write-up on that as a start point for the fundraising. Then you or someone else could pick it up and work on it.

chakrit commented 10 years ago

I've just sent you $15 on Bountysource. Did you receive that? : )

JugglerShu commented 10 years ago

Yes I received it. I can use it to make bounty on an issue. Thanks!

Goles commented 10 years ago

I also donated. I've Tweeted about it too. I would encourage everyone to Tweet and spread the word about this :+1:

I mean, the project has 2k+ stars... we should be able to raise a reasonable amount right?

JugglerShu commented 10 years ago

@Goles Are you interested in creating a website for XVim? I have been thinking that a website would help more people to use XVim. If you have time I would like you to create the website maybe in github.io.

Goles commented 10 years ago

Hey @JugglerShu,

I would be interested, but I would have to get back from vacations (leaving tomorrow for 3 weeks!).

If no one takes over, I'll do it as soon as I arrive! (won't be taking my computer!)

JugglerShu commented 10 years ago

@Goles Yea, that's fine. I'll prepare the spece to locate the website.

Francescu commented 10 years ago

Good ideas here guys. I fully support you.

fadookie commented 10 years ago

I like XVim, but I noticed that ViEmu (makers of the popular Vim emulator for Visual Studio) are now offering a commercial Vim emulator for Xcode. Has anyone tried it? Perhaps a truly commercial product would better meet your needs if your Vim emulation is so critical.

chakrit commented 10 years ago

Bountysource is nice to prioritize issues and accept donations but, to repeat my initial goal, I'd rather the money goes to getting some more fundamental level stuff done w/ regards to improving XVim stability across the board. Sorry if my issue title is a bit misleading there.

And XVim is the best at what it does right now, none of the "paid" alternative actually come close. Plus as I've already said, I'd rather support an OSS project than buy a commercial product.

chakrit commented 10 years ago

In other words, I think the project is outgrowing its maintainers/contributors and we should do something to help with this (thus me asking for a commercial support route.)

JugglerShu commented 10 years ago

Yea, I understand it. But what can we do for it? I'm thinking about refactor the XVim structure again but I do not know when and how stable it will be.

I do not mind someone forks this project and gives a commercial support since this is MIT license and there is no limitation for it (as far as there is a license notice.)

The problem is "Who can do it?". Unfortunately I can not give a commercial support for this project (with which I must use fixed amount of time on this project forcefully.) I can not guarantee anything about this project at the moment (although I'm trying to make this project better and better).

I always accept suggestions ( which does not mean I always obey it though ) so if you have more concrete ideas feel free to write it here. If you have any questions about this project or how I'm thinking they are all welcome.

unphased commented 10 years ago

Sorry for cluttering the discussion, but @dojoteef and @chakrit, could you relate to me how you went about removing the vicious demo plugin? Like many others I tried it and not supporting text objects or . is a complete and utter deal breaker for me and I would put up with a crash an hour to get "real" vim functionality like XVim. Which by the way, is plenty more stable than that.

I just went with the same "uninstall" procedure as XVim which is remove the folder from ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins, hopefully that does the job. They did not provide an uninstaller.

JugglerShu commented 10 years ago

@unphased So you want to uninstall Vicious plugin?? I think your method is right. But in some cases (especially if you use installer package) they install it to other directory. Xcode has several places from where it loads plugins. If you are sure that you restart Xcode process correctly and still cannot remove the plugin look for other place. Maybe "find | grep" would help you.

dojoteef commented 10 years ago

@unphased Unfortunately I've never actually used Vicious. I just became aware of it as an alternative that you can try. I think using the approach @JugglerShu mentioned is a good way to try to find where it's referenced. You can also email the developer and ask.

-Nader Akoury

On Wed, Oct 22, 2014 at 7:43 AM, JugglerShu notifications@github.com wrote:

@unphased https://github.com/unphased So you want to uninstall Vicious plugin?? I think your method is right. But in some cases (especially if you use installer package) they install it to other directory. Xcode has several places from where it loads plugins. If you are sure that you restart Xcode process correctly and still cannot remove the plugin look for other place. Maybe "find | grep" would help you.

— Reply to this email directly or view it on GitHub https://github.com/XVimProject/XVim/issues/601#issuecomment-60095656.

unphased commented 10 years ago

Cool, I already figured it out. Wasn't aware of other possible directories, but sure enough it was in that dir and removing it worked fine. Currently XVim works great for me though I have not had time to play with Xcode 6.1 much at all yet. I can at least confirm that Xcode 6.1 builds XVim just fine, except that when it runs Xcode after building XVim it insta-crashes. I'm sure those of you who are contributors who have a need to debug XVim (or any other plugin for that matter) will know more about that situation.

There is also a bug I noticed specific to both Xcode 6.0 (now superseded by 6.1) which is that the block-cursor that is used causes ungainly black box visual artifacts to appear above the Xcode interface near the top of the text buffer. Not really much of a functionality issue. Anyway that's a topic for another issue post.

XVim definitely has no equal yet, commercial or open source, and I would also offer to contribute to its development if not for knowing that I'll have no spare cycles to do it with! I am just so glad that it still works great with the latest Xcode.

Also worth a good $100 bucks for a license IMO. Can't live without vim bindings... I mean, christ, it even supports custom xvimrc scripting...

Goles commented 10 years ago

Hey @unphased

Glad you solved your issue! There are several ways to help, check xvim.org.

Cheers!

azinman commented 9 years ago

I'd back kickerstarter for this... it's so essential to my workflow.

davidquon commented 9 years ago

I'd back kickerstarter for this... it's so essential to my workflow.

:+1: