[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