David R. MacIver's Blog
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:
- Managing the Hypothesis community and answering peoples’ questions about how to use it
- Fixing bugs, although probably not even close to as rapidly as I have historically done
- Improving the documentation
- Giving talks about Hypothesis
- 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.
Comments
Michel Alexandre Salim on 2015-08-08 19:47:44:
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
Jay Kint on 2015-08-09 07:15:48:
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.
Dimitris Leventeas on 2015-08-09 10:44:01:
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.
Filipe Farinha on 2015-08-09 10:59:03:
David you are one of many FOSS developers facing the same issue.
I’d like to see you and others like you fairly rewarded for their work, which is why I’ve put forward a proposed solution with the Value Distribution Protocol (VDP).
Kevin Yeo on 2015-08-09 15:47:40:
Good on you, you can’t keep giving and receive nothing back. Excellent library.
Steve Holden on 2015-08-09 16:54:02:
Sad news. Would like to know more. Can you get in touch? (My website’s contact page would let you do that).
George on 2015-08-09 20:03:55:
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.
david on 2015-08-09 20:36:40:
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.
pozorvlak on 2015-08-10 13:58:05:
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.
david on 2015-08-10 14:06:16:
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.
pozorvlak on 2015-08-11 08:47:20:
Oh, right :-( On the upside, you’ll now always be The Guy That Wrote Hypothesis - that should enhance your already considerable employability.
Shame as the currency of Open Source | Virtuous Code on 2015-08-10 14:41:30:
[…] Throwing in the towel by David R. MacIver […]
Ivo on 2015-08-10 21:54:37:
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 :)
Josh Wedekind on 2015-08-10 23:43:43:
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.
Shame as the currency of Open Source - InfoLogs on 2015-08-11 20:01:26:
[…] Throwing in the towel by David R. MacIver […]
A vague roadmap for Hypothesis 2.0 | David R. MacIver on 2015-08-12 13:47:16:
[…] As mentioned, there are a whole bunch of things I’d like to work on in Hypothesis still, but it’s a bit of a full time job and I’ve had enough of doing that on Hypothesis for now. […]
Jan Paricka on 2015-08-14 09:21:41:
I feel your pain bro as I’m somewhat in the same position with my project http://github.com/jparicka/cloudly
Might morphing power strategies | David R. MacIver on 2015-08-31 20:16:47:
[…] top of it yet. It’s also what powers a really new cool new feature I released today (I know I said I wasn’t doing new features, but I couldn’t resist and it only took me an hour), which is essentially a form of do […]