30 votes

People who contribute to libre projects - how do you find time for this?

First of all, I want to say very big THANK YOU for all who contribute to various libre, open source etc. projects. I'm so happy that people love sharing knowledge, skills and fruits of their work.

But to the topic - how do you find time for it?
Whenever I update my Debian or Axpos or any other libre software I see soooo many updates/changes made by (probably soooo many) people. And I always ask myself a question - when did they do that? Where have they found time for contributing? For me full time work makes me so tired that it's the last thing I think about after work hours. Especially in the office job, after x hours of sitting before my monitor I truly hate every next minute after work. I would love to contribute some code, I would realllly love to. Sometimes I find some bugs and try to report them and that's all I am able to do. What frustrates me the most is that I have abilities to code because it's my daily job, but I don't have energy to do that.

So, could you tell me how do you find time and energy to contribute to libre projects?

18 comments

  1. [6]
    0xSim
    Link
    Personally, time is not (really) an issue. I don't have spades of it, but if I need it, I'll find it. For the energy, there are a few points: It's easier to work on your own projects For other...

    Personally, time is not (really) an issue. I don't have spades of it, but if I need it, I'll find it.

    For the energy, there are a few points:

    • It's easier to work on your own projects
    • For other projects, it's easier to work on issues that you'll profit from. Gaining knowledge, solving a bug that is annoying you, adding a line to your resume, or even getting a tiny bit of rep within a community.
    • If you maintain a popular project, there's the satisfaction of solving other people's issues and making their lives a bit easier.

    What frustrates me the most is that I have abilities to code because it's my daily job, but I don't have energy to do that.

    Then don't. Developers are a weird kind, there aren't many people who have a hobby that is identical to their job, and that can be unhealthy. Writing code on the side should be an enjoyable activity, not a chore, otherwise you're just extending your work day without any compensation.

    29 votes
    1. hpr
      Link Parent
      Great points! Though I must say... I don't always find this to be true. When I'm lower on energy, I more often let myself slip / "be lazy" in a project that's "just" for my enjoyment than it would...

      Great points!

      It's easier to work on your own projects

      Though I must say... I don't always find this to be true.
      When I'm lower on energy, I more often let myself slip / "be lazy" in a project that's "just" for my enjoyment than it would be with other people and commitments in the loop.

      This often applies even if I know I would be having fun once I'm actually working on the project, it's just the "activation energy" that's harder to muster.

      6 votes
    2. [2]
      kjw
      Link Parent
      Not so easy loving libre projects and knowing I could contribute but can't. One thing I decided to do is to contribute financially to some of them. And another thing I dream about in the future is...

      Then don't.

      Not so easy loving libre projects and knowing I could contribute but can't. One thing I decided to do is to contribute financially to some of them. And another thing I dream about in the future is to change from full time to 4/5 time job. I would love to work 4 days and do non profit work for 1 day a week.

      5 votes
      1. fxgn
        Link Parent
        You shouldn't downplay this, financial contribution is also very important as libre projects are often very underfunded

        One thing I decided to do is to contribute financially to some of them

        You shouldn't downplay this, financial contribution is also very important as libre projects are often very underfunded

        11 votes
    3. ewintr
      Link Parent
      This poses a conflict for me. I have firsthand experienced that, yes, volunteering can be like extending your workday without any compensation, and I have stopped multiple attempts to contribute...

      Then don't. Developers are a weird kind, there aren't many people who have a hobby that is identical to their job, and that can be unhealthy. Writing code on the side should be an enjoyable activity, not a chore, otherwise you're just extending your work day without any compensation.

      This poses a conflict for me. I have firsthand experienced that, yes, volunteering can be like extending your workday without any compensation, and I have stopped multiple attempts to contribute just because of that.

      But at the same time I find free and open software incredibly important for society, I have almost exclusively run free software on my devices for decades, and that includes the software I use to earn my income. In short, free software is a major factor in how I live my life, and I am immensely grateful that it exists.

      Currently, I try to help out in other ways. I donate to projects I find important and I try to blog about the subject. On a local level, I try to nudge people around me to free alternative, but not too much as to avoid becoming that annoying 'digital vegan'.

      I am confident that that all counts as contributing. But like the OP, knowing that I possess the skills to contribute code, and knowing how much there is to be done, leaves me unsatisfied with myself. After all, software development is generally well compensated. Wouldn't it be fair to do a bit more work without more income?

      3 votes
    4. creesch
      Link Parent
      Often there is, other times it really can be the opposite if the people in question have been absolute assholes over it. But, you fix it anyway it is really better to do so, but you wish you could...

      If you maintain a popular project, there's the satisfaction of solving other people's issues and making their lives a bit easier.

      Often there is, other times it really can be the opposite if the people in question have been absolute assholes over it. But, you fix it anyway it is really better to do so, but you wish you could just tell them to bugger off.

      Overall you are entirely right though. The project I contributed most to was the one of the creators for, and this was also when I still had a use case for it. For context, moderator toolbox for reddit. I already effectively stopped moderating a year or so before leaving reddit and this is reflected neatly in the contributor graph.. Even before that you can see me slowly burning out on the project (and reddit).

      Most of the other OSS projects I have contributed to was when I had a need for something in the software. Or when I was using the software and spotted an outright bug. Sometimes it is as simple as fixing a bit of documentation.

  2. [2]
    Greg
    Link
    If I’m submitting a fix or a feature to a mainstream project, I’m probably doing it as part of my job - not in the sense that I’m paid to contribute per se, but because having that added to the...

    If I’m submitting a fix or a feature to a mainstream project, I’m probably doing it as part of my job - not in the sense that I’m paid to contribute per se, but because having that added to the tool / library / whatever I’m using will make the work I’m doing easier.

    For big repos I get the impression that’s making up a decent volume of the contributions from individuals, with an even larger volume coming from whatever core team are being paid directly to support the project.

    The genuine passion project repos I see tend to be unmaintained past the initial burst of enthusiasm - not that I’m complaining at all, I’ll happily take a starting point if someone’s published it - but if you’re looking at a regularly maintained and updated project the chances are people are getting the opportunity to focus on it within work hours.

    I do try to publish hobby projects too, or contribute to stuff I just think is cool, but sadly I often find the same thing that you do: lack of time and energy, even though I actively enjoy coding. So the balance in what actually makes it out into the world skews towards things that overlap with my job. Come to think of it, I still owe Tildes a proper writeup on the absurd computer cooling system that people here helped me figure out a few months ago…

    9 votes
    1. creesch
      Link Parent
      To add to what you said. With personal projects it can also be draining when you have a lot of users but barely any contributors. Which also makes it difficult to really continue with the project,...

      To add to what you said. With personal projects it can also be draining when you have a lot of users but barely any contributors. Which also makes it difficult to really continue with the project, certainly when your own use case is mostly satisfied. Even more so when you do get a fair amount of feature requests but nobody else willing to pick it up.

      1 vote
  3. BeanBurrito
    Link
    From some accounts I have seen over the years some open source developers are between paying jobs or draw salaries from donations to the project.

    From some accounts I have seen over the years some open source developers are between paying jobs or draw salaries from donations to the project.

    6 votes
  4. Wulfsta
    Link
    I’ve contributed a decent amount to Klipper, and that has always just been a result of identifying an issue, becoming increasingly dissatisfied, and then banging my head off embedded code and data...

    I’ve contributed a decent amount to Klipper, and that has always just been a result of identifying an issue, becoming increasingly dissatisfied, and then banging my head off embedded code and data sheets until it’s fixed. Generally any project I do isn’t because of desire to contribute to a project, it’s because I don’t have a solution to a problem or don’t like my current one.

    5 votes
  5. creesch
    Link
    Others already gave good answers, there is one more aspect to this. For many open source projects, the contributor demographic is relatively young. It highly depends on the sort of software, but...

    Others already gave good answers, there is one more aspect to this. For many open source projects, the contributor demographic is relatively young. It highly depends on the sort of software, but it certainly a thing. The reason is simple, students have a lot more time and energy to work on OSS.

    As I said, it does highly depends on the sort of software. They are more likely to start new projects, contribute the latest shiny thing and webbased or web related projects (electron based stuff for example). Which makes sense as the barrier of entry has historically been lowest there.

    2 votes
  6. kovboydan
    Link
    I just contribute when I happen to have the time, energy, and interest. There’s one project I’ve contributed to for about a decade, but I only look at bugs and submit PRs sporadically, over a few...

    I just contribute when I happen to have the time, energy, and interest. There’s one project I’ve contributed to for about a decade, but I only look at bugs and submit PRs sporadically, over a few days each year, when I happen to have time and energy.

    It usually starts with being bored and deciding to flip through issues/bug reports to flag duplicates or point out something can be marked closed because merge xyzxyz fixed it. Then when I don’t have the right amount of time, energy, and interest I disappear for another year.

    I’m team “contribute what you can, when you can.”

    2 votes
  7. [3]
    smores
    Link
    Yeah this is a good question. I have two very different kinds of open source projects that I maintain: Projects that I maintain as part of my contracting work, mostly a suite of small to medium...

    Yeah this is a good question. I have two very different kinds of open source projects that I maintain:

    1. Projects that I maintain as part of my contracting work, mostly a suite of small to medium sized ProseMirror libraries
    2. Storyteller, a large full-stack self-hosted system with mobile apps

    The first group I mostly end up being paid to maintain by clients. For each library, I usually end up writing them for a client, and try to spend time up front writing them with good docs and test suites. This lets me get them into "maintenance mode", where they can just be responsive to user needs and user reported bugs, but don't require a lot of proactive work.

    Storyteller is totally different. I spend a huge amount of time working on it, usually on off days, evenings, and weekends. It tends to come in waves, though I've been working on v2 for like one big continuous 5-month wave (finally in alpha testing!). It helps that my "full-time" is four days a week, and since coming back from paternity leave, I only work three. It's my primary hobby, essentially, and usually I try to balance work on it with everything else I do.

    1 vote
    1. [2]
      Gazook89
      Link Parent
      What do your clients do with ProseMirror, if I may ask? I contribute to the Homebrewery, which is built around CodeMirror 5. We are making slow steps towards upgrading to CodeMirror 6, and...

      What do your clients do with ProseMirror, if I may ask? I contribute to the Homebrewery, which is built around CodeMirror 5. We are making slow steps towards upgrading to CodeMirror 6, and sometimes I wonder if we'd be better served with ProseMirror. I see you are building React wrappers for it, which is what we'd use (all of the current contributors have learned React from this project as it's what the original now-gone creator used).

      1 vote
      1. smores
        Link Parent
        Oh very cool! All sorts of things. We're currently working with dskrpt, Moment, and Gamma. How important is the markdown aspect of the Homebrewery? You could probably get a much nicer editing...

        Oh very cool! All sorts of things. We're currently working with dskrpt, Moment, and Gamma.

        How important is the markdown aspect of the Homebrewery? You could probably get a much nicer editing experience with WYSIWYG rich text editing (with ProseMirror) — if you need to export as markdown, you could use that remark-prosemirror library to transform the ProseMirror document to markdown at save.

        It is also possible to do WYSISYG-ish with CodeMirror, if you wanted to stick with that. Our react-prosemirror library is considerably more battle-tested than our react-codemirror library, but unless you need collab editing, react-codemirror will probably do just fine!

        It might be nice to have some inline UI affordances for embedded media, etc, which I think would be more natural in ProseMirror.

        If you want to chat more in depth, I'd be down to hop on a call some time or join a Discord or whatever! I do love homebrew tools.

  8. FarraigePlaisteach
    Link
    I’m not in the league you’re addressing at all, but the only times I’ve contributed my work skills out of work were in ways that were as undemanding as possible. It usually involved repeating what...

    I’m not in the league you’re addressing at all, but the only times I’ve contributed my work skills out of work were in ways that were as undemanding as possible. It usually involved repeating what I was actively working on or researching at that time. That way, the work part was negligible, but anything around coordinating with people in real time such as meetings was what always beat me in the end.

  9. polle
    Link
    For me, this often starts as trying to achieve something with xyz program/library. I then run into some kind of issue/obstacle that is preventing me from achieving my objective. I will then debug...

    For me, this often starts as trying to achieve something with xyz program/library. I then run into some kind of issue/obstacle that is preventing me from achieving my objective.

    I will then debug things to figure out if things are failing because I did something poorly or if there is an actual issue with the tool/lib or a feature does really not exist.

    At the end of this, I will usually already have a good idea of what needs to be done to fix the issue / add the feature.

    I can then either create an ugly hack/workaround. Or I can contribute the fix to the project

  10. Gazook89
    Link
    I contribute mostly to a single project, the Homebrewery (github), and have basically learned the entirety of my programming from doing so over 6 years or so doing that. The other core group of...

    I contribute mostly to a single project, the Homebrewery (github), and have basically learned the entirety of my programming from doing so over 6 years or so doing that. The other core group of contributors have basically done the same, to varying degrees-- some were proficient and experienced developers, but not within React/the web ecosystem.

    I don't believe there is any professional tie-in for anyone in the project-- no one is using the project in their work lives. But it is tied closely to their leisure hobbies, namely D&D or roleplaying games more generally. Which I think is why some people have stuck with it for so long. What's more neat is that because the app gives users a Markdown/HTML/CSS editor, many of our users have had to learn those 'languages' here first and it ends up being a springboard to further coding experiences.

    As for where my time comes from: I'm an at-home parent while my partner works. Still in the early years with nap times and early bedtimes. I am finding that as the kids get older, though, I have less time, so we'll see if I can keep going or not.

    As for motivation: For a long time I was very active in the related subreddit posting lots of how-to guides, and answering many many questions (many times over and over). I liked to be helpful, and was eager to find questions that presented some kind of challenge. As I've spent more time actually contributing code, the answer questions has become less attractive, but I still try to do it-- I think our project gets a lot of credit for the responsiveness of the "devs" and the community writ large. I do enjoy working with the other core contributors, too.