Absent du PHP Tour, le release manager de PHP 5.4 a néanmoins tenu à répondre aux questions des membres de la communauté PHP.
Au cours d'un chat qui s'est tenu le 2e jour du nouveau cycle de conférences organisé par l'AFUP, le PHP Tour, David Soria Parra est revenu sur les nouveautés de PHP 5.4, les responsabilités d'un Release Manager, et a donné de précieux conseils à ceux qui souhaitent s'investir dans la communauté PHP.
Voici le log réorchestré des échanges intéressants qui ont eu lieu au cours de cette discussion.
Pierrick Charron : Can we expect to have 5.4 as a christmas present ?
David Soria Parra : There are some critical open bugs left, if we fix them before RC3 then yes. This means we have a 2 weeks timeframe from today to fix those bugs in that case, yes Final will most likely happen before christmas. As we are an OpenSource project we cannot force people to do things, but you might want to give Derick wine for fixing outstanding Datetime issues
Ferenc Kovacs : Do you see any impediment in the way of the svn->git migration(php-src)?
David Soria Parra : For php-src no. But for phpdoc there might be some, that's why we start with php-src first. There are just a few things left that are not set in stone, mostly concerning where we store the available files. The only problem that I can think of is the Karma problem, everything else is pretty much proven to be working as expected as we are running mirrors since over a year now. One of the impediements at the moment is that we need to find a server where we host it, but that's it, and I think we can solve it :)
Pierrick Charron : What kind of help the PHP Team is needing right now, and is it accessible for everybody
David Soria Parra : It depends on your skill and what you want. The Q&A testing team always needs people. There is also a need for people in docs. I don't know how big the french translation team is bug I think it's particularly important to have good and up-to-date translations for french and spanish. Other than that, we always welcome core developers. Sure it's not an easy thing to get into it and you might want to code some pecl extensions first, but it's a great opportunity. There is something to do for everyone.
Pierrick Charron : About doc we have I think 4 or 5 "active" contributors but Yannick is doing almost all the work. I think the french one was the first one to reach the 100% few months ago
David Soria Parra : oh that's very nice.
Frédéric Hardy : I know that you are here about PHP 5.4, but have you got any idea about the future (unicode, PHP 5.5 ?)
David Soria Parra : No it's a moving target. PHP is OpenSource and what get into PHP and what is achieved has a lot to do with motivation of contributors.
Pierrick Charron : Frédéric Hardy you want to continue to blog about it don't you ?
Frédéric Hardy : yes i want to continue to blog about php 5.4+, but i have less time for that currently
Ferenc Kovacs : Frédéric, I think that you do a hell of a job, Zend had somebody in the past to post a summary from the changes/discussion happening on internals in a weekly basis, but they stopped a while. I think that would be soo awesome.
Jean-Marc Fontaine : Regarding the Q&A team, what is the correct way to provide unit tests?
David Soria Parra : I think the correct way to provide unit tests is to write a .phpt file that tests a bug or a feature and send it to the Q&A or internals mailinglist so that people can pick it up and comit it. It helps a lot. Finding reproducable testcases is not an easy task to do and it helps a great deal
Pierrick Charron : And if you're wondering which PHP feature is untested you can use gcov.php.net (PHP Code Coverage
Ferenc Kovacs : for writing phpt tests, qa.php.net/write-test.php is a good start, fixing failing tests can also help you to get your way around the phpt format.
David Soria Parra : and ci.qa.php.net/ tells you which tests fail at the moment.
Ferenc Kovacs : albeit it only covers the default extensions now (it is still work in progress)
Jean-Marc Fontaine : I reported to Q&A ML some time ago that the untested list is unaccurate. I proposed my help to fix this but got no answer yet. I'll sent another mail on this topic. I also have a few unit tests already written, that's why I ask.
Pierrick Charron : I think the fastest way is to shoot them on internals and someone will commit them
Ferenc Kovacs : Sure, bump the thread, or even better, open a bug, ot even better, attach a patch against svn.php.net/repository/web/php-gcov/trunk/
Ferenc Kovacs : maybe others would be curious: what are the tasks/responsibilities of a php RM?
David Soria Parra : As an RM you mostly read Internals and organize open todos. People will write your personal mails about certain topics and patches they are working on. So it's a lot of reading and organizing todos. Trying to figure out what needs to be done and who can it do to get a stable version out. I regularly check the bug tracker about critical bugs. Stas is mostly reviewing patches. During the RC phase, RMs review patches that might change API or behavior. For the actual release, we are tagging, doing the anouncements, giving people like Pierre a heads up so he can test the windows builds.
So most of the time it's communicating. Some people think RM stands for release master, I think it's Release "manager" with the emphasize on _managing_ todos.
Ferenc Kovacs : I would add that usually RMs have a say in what can get into a release (usually only used when the release is close).
David Soria Parra : yes if necessary, but we try to reduce the amount of those decisions
Bruno Chalopin : Is there a documentation on how to setup properly your machine to run 'make test' after compilation ? I mean, testing mysql or ldap extension probably need a mysql server or ldap server with specific datas ?
David Soria Parra : I'm sorry, I don't really know if there is a documentation
Pierrick Charron : I don't think there is. I did update this https://wiki.php.net/qa/temp/ext/curl for the curl extension but I think this would be a nice thing to create a wiki page with all ENV variables
Ferenc Kovacs : the tests should be self contained, I remember that you need to pass the mysql credentials as environment vars if you don't have a passwordless root for example.
Pierrick Charron : Ferenc, but you want to avoid people to have to read all the bugs :) It could be nice to provide a small script with all "required" ENV variables and put this on the wiki. The fact is there's a lot of tests that are skipped because of a misconfiguration
Ferenc Kovacs : there were a thread on the mailing list recently about how to run the testsuite against mysql, etc.
Pierrick Charron : I'll try to start something when i'll get some time
Ferenc Kovacs : David, as an RM what do you think about the current release process, what are the strong points, what needs to be improved upon? AFAIK this will be the first release based on the new Release Process RFC.
David Soria Parra : Personally, I think the best part of the Release RFC is that it gives people a fixed timeframe. You know when the next RC is happening and it's more or less clear when the final release will happen (+- a few weeks). So I think the release process helps particularly third parties who are bundling PHP. For example Linux distributions, but it also helps the developers to know when to submit patches to get their stuff into the next version. There is no real drawback from having a fixed release schedule.
David Soria Parra : I'll stay in the channel and might answer questions from time to time. But anyway, thanks guys. enjoy the conf. I'm really sorry to not be able to attend. Thanks Julien Pauli for giving the talk.
Julien Pauli : zend_first_try { talk_presentation_start(); } zend_end_try();