
On 20/10/2020 2:47 pm, Steven D'Aprano wrote:
A very interesting proposal.
A couple of thoughts...
Can we have an executive summary of how your proposed approach differs from those of PyPy, Unladen Swallow, and various other attempts?
https://github.com/markshannon/faster-cpython/blob/master/tiers.md should cover it.
You suggest that payment should be on delivery, or meeting the target, rather than up-front. That's good for the PSF, but it also means that the contractor not only takes all the risk of failure, but also needs an independent source of income, or at least substantial savings (enough for, what, eighteen months development per stage?). Doesn't that limit the available pool of potential contractors?
We only need one. I don't think financial constraints are the main problem. I think domain knowledge is probably more of a constraint.
I think there's always tension between community driven development and paid work. If the PSF pays person A to develop something, might not people B, C, D and E feel slighted that they didn't get paid?
The PSF already pays people to work on PyPI
On the other hand, I guess we already deal with that. There are devs who are paid by their employers to work on Python for N hours a months, for some value of N, or to develop something and then open source it. And then there are devs who aren't.
You have suggested that the cost of each stage be split 50:50 between development and maintenance. But development is a one-off cost; maintenance is an forever cost, and unpredictable, and presumably some of that maintenance will be done by people other than the contractor.
Any new feature will require ongoing maintenance. I'm just suggesting that we budget for it. Who is going to pay for the maintenance of PEP 634?
A minor point, and I realise that the costs are all in very round figures, but they don't quite match up: $2 million split over five stages is $400K per stage, not $500K.
I meant four stages. Did I write "five" somewhere?
1. I already have working code for the first stage.
I don't mean to be negative, or hostile, but this sounds like you are saying "I have a patch for Python that will make it 1.5 times faster, but you will never see it unless you pay me!"
I believe that's how business works ;) I have this thing, e.g an iPhone, if you want it you must pay me. I think that speeding CPython 50% is worth a few hundred iPhones.
I realise that is a very uncharitable way of looking at it, sorry about that, it's nothing personal. But $500K is a lot of money.
Remember the contractor only gets roughly half of that. The rest stays with the PSF to fund maintenance of CPython. $250k only pays for one engineer for one year at one of the big tech firms. Cheers, Mark.