Throwing in the towel

Effective immediately, there will be no further feature development from me on Hypothesis for the foreseeable future.

This is not the end of Hypothesis. I will still be:

  1. Managing the Hypothesis community and answering peoples’ questions about how to use it
  2. Fixing bugs, although probably not even close to as rapidly as I have historically done
  3. Improving the documentation
  4. Giving talks about Hypothesis
  5. Reviewing and merging pull requests. If anyone else wants to do feature development on Hypothesis you are extremely welcome to and are more than welcome to ask me questions in the course of doing so.

Which is actually still quite a lot of work.

Hypothesis isn’t going anywhere. But, for now at least, 1.10 is as good as it’s going to get. This is now a side project, and you can expect a commensurate level of support. If you want more than that, or there’s some feature you desperately need, get in touch. We can talk rates.

At some point in the future I will doubtless resume feature development, but it won’t be soon.

Why?

Partly because Hypothesis 1.10 is good enough. It’s basically as good as or better than any open source equivalent in any language, and it’s certainly light years beyond what this time last year anyone in the Python community could reasonably expect would ever exist. There are exciting things I could work on, but they’d be another huge time sink and basically not all that helpful for the problem of making development on Hypothesis sustainable.

But mostly because I’m tired and I’m angry, and I’ve done a reality check and found reality wanting.

I’ve been trying to figure out a way of making Hypothesis development sustainable, and the answer is basically that I can’t, despite the fact that it’s clearly going to save people at the bare minimum millions of dollars over the course of its lifetime.

Yeah, I could probably eke out a living. Particularly if I was prepared to burn a lot of bridges and sacrifice most of what actually makes me want to work on it, but basically we’ve built an industry on free labour, and we’ve concluded that we’d much rather make people work for free in their spare time to produce adequate software and shame them into supporting it when somehow it surprisingly doesn’t do exactly what we want than fairly compensate for their labour and get good software out of it.

This makes any attempt to get money for tooling such an uphill struggle that it’s really not worth the effort. Plans which are predicated on changing the world before anyone will pay you any money are decidedly bad plans.

I think Hypothesis will make the world a better place, and I have a lot emotionally invested it, so as stated above I’m not abandoning it entirely, but I’ve really lost all desire to continue giving away so much of my labour for free, so I won’t.

There will be more on the subject of what happens next when I have collected my thoughts better and am slightly less angry.

In the short term though, if you’ve got any contracting work that you think would be up my alley and is either remote or reachable from London, that would be great.

This entry was posted in Hypothesis, programming, Python on by .

18 thoughts on “Throwing in the towel

  1. Michel Alexandre Salim

    Ouch. I feel your pain, it can definitely feel like one is being taken for granted when working on open source.

    Unfortunately my workplace is mostly a Java shop, but let’s see if I can push Hypothesis use in Fedora Project. Who knows, if Red Hat takes up an interest in it there might be consulting opportunities

  2. Jay Kint

    So, you’re not throwing in the towel, you’re pivoting.

    Well, maybe not a pivot, but you’re shoring up the areas where it has been neglected. And frankly, the items you’ve mentioned are the difference between a professional product and a side project. After you’ve got those items done, I’d seriously look into making it a commercial project like GitLab (or a hundred other products), a free version and a more professional version that people can pay for.

    You’ve invested a lot, now let others invest in you.

  3. Dimitris Leventeas

    Thank you for your awesome work. You made something great. The world now needs some time to catch up and popularise this kind of testing.

  4. George

    Understandable but sad. I was just looking at integrating Hypothesis into a project. (Maybe I still will but I’m afraid of libraries that aren’t actively developed.)

    Have you looked into Patreon? I’d personally subscribe to you for a few bucks a month. If other users did the same maybe it would produce at least a little cash.

    1. david Post author

      As I said at the beginning: Hypothesis will continue to be actively developed, it is just effectively feature complete for now.

      I have looked into Patreon and briefly had one running, but I just don’t think it’s a viable model. It works much better for things with a much wider audience than th is sort of thing.

  5. pozorvlak

    Sorry to hear that you’ve been unable to find a way of getting paid to work on Hypothesis, and I agree that it sucks that so much of our critical infrastructure depends on unpaid labour. Coordination problems are hard. But I don’t think you should think of this as throwing in the towel! You’re declaring that Hypothesis is now finished, which IMHO is something that more library authors ought to do.

    1. david Post author

      It’s more that I’m throwing in the towel on making this work commercially.

      Hypothesis is definitely not finished. At some point there will be more features, and there will definitely be bugs fixed (because there are definitely bugs). It’s just going to be some time before I feel the inclination to work on those features.

      1. pozorvlak

        Oh, right :-( On the upside, you’ll now always be The Guy That Wrote Hypothesis – that should enhance your already considerable employability.

  6. Pingback: Shame as the currency of Open Source | Virtuous Code

  7. Ivo

    One response: Hypothesis is young. Few people have discovered its value. Fewer companies have adopted it and probably none rely on it yet. Nobody is saving enough money using it yet to invest in making it better. You may have to find different things to work on for a while before Hypothesis starts being commercially viable.

    Another response: sorry, tragedy of the commons.

    A third response: you want to make money from an open source library: that means you are an entrepreneur. Being an entrepreneur means you need to sell your product, because usefulness is not an intrinsic property of a product that is automatically recognized by anyone that comes across it or even successfully uses it. You didn’t set out be an entrepreneur and you probably have a healthy dislike of ‘selling’, but if you want to make this work, you’ll have to do dirty work. Evangelize, hustle, sell. Reality is seriously wanting, but you can change reality!

    Choose your own adventure :)

  8. Josh Wedekind

    Just an idea.

    Most developers generally hate writing tests, and honestly, it’s because most of us are terrible at it. You are clearly an expert.

    What if you established a consulting company, and offered your services as an expert-level software test writer? Then, register Hypothesis as a 501c3. Finally, make it a condition of hiring your firm that at least 1 hour of developer pay must be donated to your non-profit organization for every 3 hours of consulting.

  9. Pingback: Shame as the currency of Open Source - InfoLogs

  10. Pingback: A vague roadmap for Hypothesis 2.0 | David R. MacIver

  11. Pingback: Might morphing power strategies | David R. MacIver

Comments are closed.