[pypy-dev] making PyPy production ready: followup

Martijn Faassen faassen at startifact.com
Mon Nov 19 18:10:09 CET 2007


Hi there,

I'll continue in my role as the unofficial nag of this project.

So we've had a useful discussion about making PyPy production ready. 
Excellent! Now we need to follow up on this. We need to distill a list 
of concrete tasks from it. We need to figure out who does what. Who in 
the PyPy project is going to make this list? Who will make sure that it 
gets done (or decides bits *won't* get done right now)?

This brings me to commitment again, and leadership.

I know I've asked about commitment before, in connection to the RPython 
for CPython modules facility. I got the answer "we'll need to discuss 
this at EuroPython", and there was some discussion there. I got the 
general impression that finishing the interpreter was considered to be 
of more importance. The current state of this support is rather in 
limbo: it's still there, but should be reworked to use new stuff that's 
there now, and it's unclear who will do it or when. Anyway, that's fine, 
as the main goal, I take it, is the interpreter. Good.

And then I heard nothing much more until this current discussion... 
Perhaps I missed something?

So what about the interpreter? What is the plan to bring it into 
production? Will the first goal be the PyPy-JVM idea that was thrown 
around at EuroPython? The C-backend? Something else?

Someone needs to show leadership and make a plan. There needs to be a 
certain level of commitment to this plan from the project and project 
members. Even explicitly saying you are not going to do X and Y (or not 
right now) is valuable, as it helps people to know what to expect and 
where to help.

Does the PyPy project commit to working on a Python interpreter in any 
shape and form that people can use in production at all? One that is 
released? If so, what's the timeline? When is the alpha going to be, 
when the beta? Do you only commit to this if you get volunteer 
contributors? Can you consider lowering ambition and do it without 
further volunteers? If you need further volunteers, will you give them 
the responsibility and authority to actually make hard decisions to make 
a release possible? Note that you'll get more volunteers that contribute 
if they have something to expect in the foreseeable future.

I already mentioned release management. If you don't have some form of 
leadership on this, you risk scenarios like:

* "we can't release right now as we're still working on X"

* X is done. in the mean time, someone started Y

" "We can't release right now as we're still working on Y"

* Y is done. in the mean time, someone started Z

* "We can't release right now as we're still working on Z"

* and so on.

You need to have someone or some group of people who are aware of these 
issues, who have the aim to make a release, and who can clearly say: 
yeah, I *know* we really need Y, but we are in stabilization mode right 
now, so please wait or do it on a branch.

Making a release is *hard*. It's lots of frustrating work. You know, as 
you made the releases for the research part of the project. After this, 
the releases stopped. If you want a successful open source project, you 
need to make regular releases that people can use. You need to make new 
release announcements, as people read them. You also need to show some 
commitment towards production use to the public, and releases in this 
direction is the best way to do it.

I believe doing this will be of tremendous open source marketing value 
to the project. You've gone all the way up to 1.0, but you've stated 
explicitly it's not intended for production use. Now is the time to let 
the world know you're progressing beyond this. Let the internet know 
that the PyPy project is a serious contender in the Python interpreter 
world, instead of an experiment.

So, what's the plan?

Regards,

Martijn

P.S. I'm leaving the funding discussion out of this explicitly. I assume 
you want to make PyPy work as an open source project. I'm also assuming 
that there is a way to get a production-ready interpreter by volunteer 
effort without external funding. If the project decides that there is 
*no* such way, then please let everybody know that too.




More information about the Pypy-dev mailing list