jesseduffield / lazygit

simple terminal UI for git commands

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Kickstarter?

jesseduffield opened this issue · comments

Topic
Lord Omicron paid me a visit recently and as I lay in bed feverishly tossing and turning it occurred to me that it might be worth doing a kickstarter for a year of fulltime lazygit development.

Your thoughts

Lazygit constitutes a second job for me and that means large chunks of my 'free' time (afternoons, weekends, holidays) is spent on lazygit. Of course, working on lazygit is much more satisfying and meaningful than working at my day job (by an order of magnitude), but juggling the two has been a constant source of burnout over the years, and when it gets too much, I have to give priority to the job that pays the bills, meaning lazygit (i.e. features, issues, contributors) gets neglected. And paradoxically, although lazygit has no deadlines, I often feel rushed because I'm racing against the clock to make the best use of my limited windows of time, which leads to lower quality output.

BUT if lazygit was the day job that would all change: I'd be able to give features/bugs the attention they deserve and I'd have a better work life balance meaning less burnout and more consistent improvements. I'd also be able to dedicate more time to the community of contributors (shout out in particular to @Ryooooooga and @mark2185 who are currently smashing out great features) and making it easier for a new contributor to jump straight into a PR.

Some features/improvements that I'd like to see and which I think (perhaps optimistically) are achievable in a year:

  • more efficient loading of commits
  • better searching of commits
  • bulk actions on files/commits
  • navigating the repo's file tree both in the working tree and in an old commit
  • better github integration (and potentially gitlab, bitbucket, etc)
  • git blame
  • proper support for bare repos
  • better coverage of the git API (bespoke CLI arguments for example)
  • better documentation for both users and contributors
  • lots of bug fixes
  • other that don't come to mind right now

To be clear, all the donations so far have kept me going motivationally and I owe a debt of gratitude to everybody who's helped and who continues to help even now! But going fulltime requires a different scale.

Notably, Magit ran a kickstarter successfully a couple of years ago so at the very least there is a precedent in this niche space of terminal git UIs.

I'm never going to stop working on lazygit, so even if a kickstarter fails, lazygit will continue slowly improving, but lazygit has the potential to become the de-facto standard terminal UI (perhaps UI period) for git and a kickstarter would help realise that potential.

So my questions are:

  • is a kickstarter a good idea?
  • are there alternative solutions?
  • if a kickstarter is a good idea, how the hell do we pull it off?

Tagging some peeps who might have thoughts: @mjarkk @dawidd6 @peppy @sdegutis @Ryooooooga @mark2185 @jbrains @fluffynuts @MikaelElkiaer. Feel free to tell me I'm crazy haha

Some kind of support is a good idea, but I wonder if it isn't worth looking into a continual support option like Patreon? At first, it might mean you could dedicate a day a week to lazygit, but perhaps it picks up and you can make it more full time? The nice part of something like this is that you can have recurring income and people can support at a very low tier, eg $1 per month, which makes it a really low barrier for entry. I support a few cheaper patreons like this as well as Mozilla. It's small amounts every month, which I don't mind: about $10-18 per month, depending on the Patreon - some are flat rates but at least one is per-video (Smarter Every Day). I've seen a lot of people be really successful on that platform.

I'd say that github sponsors is basically the same as patreon (i.e. recurring sponsors) but it doesn't seem likely to generate enough ongoing support to be able to support a day per week. Though it's possible that I could do some things to encourage more ongoing donations from more people (e.g. weekly lazygit dev diary).

Feel free to tell me I'm crazy haha

You're not.

Gotta agree with fluffynuts, a kickstarter seems like a wrong direction, because lazygit is way beyond the point where you need a kick start. It seems more like a duct tape solution that will again crop up when the money runs out. Sure, you might get a year or two to catch your breath, but the same question still hangs in the air - "how does lazygit make steady revenue". This isn't solely about financially supporting lazygit, as you've said, but about you earning a crust without burning out.

The things that initially drew me in were your video crash course about 15 lazygit features in less than 15 minutes (Aussie accent included), the "Step 1: learn go" in the questionnaire, your eagerness to help newbies implement the most basic features with instructions to the nittiest grittiest detail, (and the hilarious diary in the horcrux project, but that's beside the point) - I'd advise to use that wittiness and creativity to draw people in. That, along with the low barrier for entry of patreon (and/or github) eventually might prove to be fruitful.

I do realise that my advice can be distilled to "double down and hope for the best" but my hope is it sparks a discussion and someone with better ideas passes through.

I do believe @peppy has experience with developing a popular open source project, would love to hear his input.

Personally I prefer doing a monthly kinda thing, but can see the draw of kickstarter to have some kind of up-front guarantee.

If you're happy with github sponsors you could also try making a post on socials (that we can amplify) and see how many more people jump on board sponsors. Or just go kickstarter from the outset for a potentially larger bang.

(hope you make a full recovery from the omicron attack)

Thanks for all the great points @peppy @mark2185 @sdegutis . Regarding kickstarter, I don't think it's out of the ordinary for a kickstarter to be used as a kick-continuer based on that having worked for magit. But indeed, after the time runs out revenue becomes a problem again. I guess there's two separate goals: one is to get some cash money for the ongoing effort, and one is to actually be able to spend more time working on it (ideally as a day job). Kickstarter satisfies both the money side and time side in the short term but neither in the long term (unless the time spent working fulltime on lazygit made it so much better than it currently is that people just start paying for it which is doubtful).

Pushing for more sponsorship money could satisfy the money side but only if it reaches a certain level could it satisfy the time side (by virtue of letting me quit my job or cut down my working days). In my head, the kickstarter approach is actually more likely to generate donations (at least in the short term) because it's a very tangible thing you're donating towards, whereas ongoing donations aren't tied to direct outcomes. I could be wrong about that though: perhaps with a big enough push for more ongoing donations I could actually get enough to go fulltime and I can have a donation goal where if I make X per month I'll go fulltime and all the donors see that.

The kick-continue might give you enough of a buffer to try out things which might produce revenue down the road? Such as weekly dev-diary you'd mentioned.

Note: I don't think the lack of funding is due to the project's current level of quality, but due to the m word most developers shudder even at the thought of - marketing. But being more interactive with the community, letting people know you exist might yield more of a revenue.

To give an example - there's a ton of projects I've installed once, used enough times that they have become an ever present entity, and they never cross my mind again as something out of the ordinary because it's normalized. But a handful of projects have monthly progress reports, changelogs and such that make them pop up from time to time and make me realize they're someone's hobby, a creative outlet, a weekend spent on chipping away at issues that I myself might have encountered, and that is a good incentive for me to donate.

@mark2185 good point. If updates come along with an in-app changelog and an dev-diary-ish update that could help out (and I don't think it would be very intrusive either: for example I actually like reading the VSCode change log whenever it updates).

And as for more interaction in the community I agree it seems like a necessity for increasing reach. Too bad my natural instincts on twitter is to shitpost haha

Too bad my natural instincts on twitter is to shitpost haha

That need not change, I don't know what's the lazygit community leaning towards, but I couldn't care less for twitter. Newsletters and blogposts, on the other hand, I'm all for it.

I would also suggest something more subscription-based. As a software developer, I see most of my colleagues getting recurring licenses for various tools - GitKraken, Visual Studio, Rider, etc. However, I rely mostly on FOSS and should therefore be able to sponsor some of the tools I rely on.

The big thing here is probably a matter of culture/psychology, as this stuff is seen as free, and rarely considered that it must be at least maintained, but preferably developed, in order to remain useful.
But, even with that said, I couldn't imagine many workplaces that would prefer you to have its employees opt for the more expensive tools, if you can get a good maintained/developed tool with a recurring donation.

If you set up a way of sponsoring you, I promise that I will do it, and I will try to convince everyone around me to do as well. :) Whoops, just noticed after commenting that you set it up.

If you set up a way of sponsoring you, I promise that I will do it, and I will try to convince everyone around me to do as well. :)

Github sponsors are already up and running! :)

If you set up a way of sponsoring you, I promise that I will do it, and I will try to convince everyone around me to do as well. :)

Github sponsors are already up and running! :)

Yeah, just noticed that when I hit 'Comment'. I am now sponsoring. Just $5 for now, but will look into sponsoring more if I can get my employer onboard.

You deserve ongoing support. I would happily do that. I don't know whether there's a "better" way to do that than Patreon or its cousins. I have my doubts about third parties becoming involved in you receiving financial support, although there is a lot to be said for outsourcing invoices/receipts and global sales tax/VAT formalities.

As a user of lazygit, and given that it's such an essential part of my workflow, my primary concern is "keep it working". Beyond that, I believe I would benefit most from periodic suggestions about features I might not be using. I would value this much more highly than new features. Screencasts and/or articles would be excellent and Patreon's "members only content" feature would fit this well. (Of course, there are other ways to do it.)

I don't say this often, but lazygit is one of those tools that I implore others to use; I would equally-loudly implore them to pay you for it. (And after donating once myself, I just now implored others to do the same.)

thanks @MikaelElkiaer and @jbrains, I really appreciate the donations (and kind words)!

On the topic of suggesting more features, that's a very good point. I'm going to start writing some how-to articles and uploading some more videos.

@lalitsharmaking for how-to questions you should create a new discussion in the discussions tab (https://github.com/jesseduffield/lazygit/discussions)

@lalitsharmaking for how-to questions you should create a new discussion in the discussions tab (https://github.com/jesseduffield/lazygit/discussions)

@jesseduffield thank you brother I am new in this so didn't knew it

ezoic increase your site revenue