1. 19

Over the years I have been moving more towards OSS tooling for my everyday life. Because I’m spending less on proprietary software (and I also just want things to be better), I have been looking for a way to get nice improvements of stuff I’m using.

I know there’s stuff like open collective for libraries, but I don’t see much of that for things like Gnome applications or Emacs plugins.

Some examples of things I would gladly pay money for:

I try to donate to projects that do have pages set up, but sometimes I really just want to get someone to fix a bug once and for all.

Does anyone have experience with hiring people for this level of work? I know that for web development there’s a lot out there but I don’t know what this looks like for applications like the above.


  2. 10

    The usual suspects:


    1. 7

      I’ve made “donations” (legally and w.r.t. tax, my company pays a third party entity for a service) to get bugs that affect my work “bumped” in terms of priority. I’ve had good experience with it, and would do it again.

      My usual approach is to just be direct. Find a medium where (one of) the maintainer(s) is likely to see messages, and ask if you can “throw some money at <problem x>”.

      If you’re just doing it personally (and thus don’t need a tax invoice etc) then it’s probably even easier, because the recipient of the money doesn’t need to be already setup for proper contract work.

      1. 2

        I’ve made “donations” (legally and w.r.t. tax, my company pays a third party entity for a service)

        That’s really important to make clear. In many (most?) jurisdictions, you cannot receive any goods or service in exchange for a donation. There are some grey areas. For example, you can donate to an open source foundation and express an opinion at the same time that an area is important to you, but if the donation is contingent on their delivering improvements in that area than you’re probably breaking the law.

        All of that said, matched funding agreements are often completely fine and foundations can often help coordinate funding. A Foundation may be willing to pay half (or a quarter or whatever) of the cost of something, if other individuals or companies are willing to pay the rest. It’s not a donation - even if the foundation handles the money, it’s payment for a service - but it can be a great way for a foundation to amplify their donations by only paying for a fraction of the work.

        As you say; however, paying someone to work on an open source project is completely fine. I’ve been paid to work on several open source projects. You need to be careful. You want to get the code upstreamed but it’s high risk for anyone to take a work-for-hire contract on the basis that the code will be upstreamed. Ideally, you’d get a design agreed with the community first, then offer to pay someone to do it.

        1. 1

          You need to be careful. You want to get the code upstreamed but it’s high risk for anyone to take a work-for-hire contract on the basis that the code will be upstreamed.

          Right so maybe I wasn’t as clear about that part. I don’t just find someone reasonably experienced and say “hey can you work on/fix X for me”.

          I spoke to the person who is the original author/maintainer for the library/thing in question, and said basically “Hey X is kind of annoying, can I throw some money at you to fix it”. I think if you’re paying someone who isn’t in a maintainer/“core developer” type role on a project that you want an improvement for, you have to expect you’ll end up with a fork for at least a little while. It’s foolish to imagine patches will be upstreamed any quicker than the experience you’ve personally had getting patches (i.e. in other projects) upstreamed, and so far I’m about 20/30/50 % with “< 1 month response”, “>1 month response” and “no response yet after 12+ months”, respectively

      2. 3

        Some kind of websites where people can post feature bounties for OSS projects??

        Now we just need a name.

        1. 3

          https://www.bountysource.com/ or https://www.donationcoder.com/ ? There surely must be more alternatives

        2. 2

          I wonder if putting projects like that on those rent-a-coder sites would get good results? It’s probably a faster way to get things done than a generic contribution to the project in question, but then there’s the question of getting the changes accepted…

          I’m basing this on absolutely nothing, but my guess is that there’s a fairly high likelihood of the solutions proposed by many of the coders on such sites being quick-and-dirty and thus hard to get accepted. But I’m gladly proven wrong, and specifying that the work needs to follow project guidelines and such might go a long way. Making payment depend on actually getting the changes into mainline is probably not fair though, since that might be due to various reasons out of the control of the coder working on it.

          1. 3

            Maybe you could specify that the payment depended either on getting patches into mainline or no response from upstream for two or three weeks or something.

            1. 3

              There might be reasons unrelated to the work done that could get it rejected by mainline, e.g. “it’s not the direction we want to take the project”, and that wouldn’t be fair for the one who took the job. So IMHO the work should be paid for once done, and getting it accepted elsewhere should be the job of the one who ordered it. It gets a bit tricky if the reason for rejection is “needs cleanup to adhere to project standards” and things like that of course.

              And before doing something like this it’s probably a good idea to discuss the matter with the mainline maintainers and offer to pay them to do it, and if they’re not interested in doing the work ask if they’re open to accepting the proposed changes if they’re performed by someone else.

            2. 1

              agreed on that very last part.

              To be honest I have never really personally purchased fixed-term contract work, I know of some “serious” people who take those kinds of contracts but one experience through $JOB lead to a bunch of not-so-great code…

              I think I might experiment with this though, it might be the right price/instantaneousness balance