Looking docs on a site. QA

From: Date: Sun, 07 Nov 2004 15:32:54 +0000
Subject: Looking docs on a site. QA
Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-34249@lists.php.net to get a copy of this message
Hello PEAR, There can be some misunderstandings in my point of view, but I belive I've made it consistent though a little bit cluttered. http://pear.php.net/pepr/pepr-proposal-show.php?id=60 After reading this text I can't say it there's a right summary: >To summarize the problem >- No QA team = can't claim Quality >- Nobody has defined how the QA team is supposed to work, how it >should be structured and what its rights (karma) are supposed to be. These are not the problems - these are consequences. The problems are: 1. - No operative support for PFC; 2. - Useless stuff in repository; 3. - Long standing bugs / patches / RFE's; 4. - CVS access must be limited; 5. - ...add other here to complete the list.. After reading the QA pages it seems, that the primary objective is to create a QA team which will have access to everything. It isn't clear if that QA is created to support PFC or to control whole PEAR repository? If it is the second issue, then you must first meet a whole bunch of requirements to make everybody happy. For example if you remove a package there must be at least 20% of votes among all developers and about 70% from active only to be present (if the maintainer is agreed, of course). I don't know exact numbers of active and not-so-active developers, so I can't say if that percent is correct. Voting can be held monthly by special mail letter from PEAR community. About karma I believe, that some devs can have trusted relations. Then I for example should be able to provide access to my class only for people who I do like. I've got some karma for them. =) Also smb. can be a very asocial maniac, but if he makes a good coding for himself and hence for whole PEAR community why don't give him more of that karma to do that he like? Urgent bug fixes can be made in a CVS separate branch, so developers can review them when the time permits and release a new, not -QA version. Another issue is that developer can forget about this branch, so a good notification system also must be in a place. As I can see the most of the problems you have are because of poor notification system. That is desirable to my mind: - notifications about changes made by someone to your CVS repository; (if (s)he have a karma or he is from QA or he just commits the patch and you can approve or disapprove it - that means click yes/no on a commit notification). Convenient? =) That needs to be a system, so like every system it must have a model. This is for 4th & 3rd problems. I think that system should be done before. To grant a Quality of service for developers first and only after that for end users. That will prove that QA is a real force what is capable to solve even most complicated tasks and thus win developer's confidence. You need to start with a general support mechanizm for Pear packages. (Do you remember the rules to submit a package to PEAR?) After that you can outline a place for QA so _everyone_ can agree with this. From "Requirements for contributing code": > 5. The contributor ("you") must be willing to provide support for the > package and must be willing to release future versions that at the > very least fix bugs. > If you are not willing to maintain your code over a long period of > time, it makes little sense to contribute it. PEAR is the standard > repository of PHP packages, and this comes with great responsibility. > Maintaining means more than just providing support via the various > mailing lists: >You must be willing to not only fix bugs, but also integrate useful >enhancements contributed by users of your packages, if they fit the >design specifications of your package. You should expect to release >new versions of your package regularly with bug fixes. If you will be >unable to maintain your package for an extended period of time, it is >expected that you will announce this to the PEAR developer mailing >list, and assign another temporary lead maintainer or publicly >document the fact that your package is temporarily unmaintained, and >the approximate date that users can expect to receive support and bug >fixes, if possible. "the approximate date that users can expect to receive support and bug fixes" - can I set this option for my project? >Warning >Code can be removed from PEAR if the lead maintainers are not willing >to maintain the code anymore and if there is no other person that is >willing to take over the maintainership. ..by QA TEAM based on the voting held monthly and announced by special mailing list. More info is <here>. QA TEAM can also... "How the initial members are chosen".. Strange question. I'd like to hear the answer "Any who'd like", but first you need to make it clear that duties the QA Team must live with. There also must be a responsibility even greater than for PFC devs. Voting is not enough. I don't think that limiting the number of people in QA is good. Membership must depend on activity. That's my point of view. If QA member is going on vocation (s)he can set this status to Hibernated. =) There should be some period of lethargy after which QA members are automatically become ordinary members. About voting time frame - it can be 5 days, but generally it is more correct to have a week minimum and determine necessary time frame depending on the status of issue being voted. Notification system is a must. Critical issues should be mailed immediately, package removal status or not-co-critical once per month to collect all possible votes. News about package is about to be deleted must go into it's RSS at the same time with a voting note. QA should be able to release crtitical package fixes with a -QA appendix, so it will not afect release process and have an ability to "hide" (not to delete!) some release until a new version come. In this case developers should get notification about package release being hidden and package page should also clearly state so. And another advice - wait for a precedent before expanding QA freedom and limit others. If a first thing is to provide Quality - use the words Usability, Accessibility at first and Access and Karma at last. I don't like people control other people because I can be one of the first and even less if I'm one of the least. As for the 2/3 votes of existing QA Team for a new member if there is 1/3 against - it is not a TEAM anymore. And that TEAM have a very little chances to make a job done, so consider this too. If there is an active man and he does the job well he can be 8th, 10th or even 100th of a QA TEAM as long as there are enough issues to work with. If there are no issues to resolve then QA karma isn't necessary, so QA TEAM can also only have two or three devs. So why do you need that Q to be resolved by any means? It is not a problem now. Make a precedent first to limit a freedom. And make it happen three times. Three is the magic number. Some core QA team must be voted. How many people are here - it depends on opened issues. I can't see any tracker for that issues. Perhaps smb. should start with it? >Any member of the QA team may call for a vote at any time. All voting >is done on the QA mailinglist. Hmm. That's buggy. Voting should be approved by QA team in order not to annoy developers and require at least 10 voices registered in a pearweb voting system. I still think it is more convenient to receive a separate letter about current votings since sometimes it is not possible to monitor a ML activity. This letter should also include results of a previous votings. All QA actions must be public with a clean reason for each action. I think QA must not be too zealous to work on issues where it really doesn't necessary to interfere or if there are other things to do. =) >If the issue isn't fixed with in two weeks QA will email the >maintainers about the issue (if the bug system won't have auto bug >report notices every X week in the future) and if the problem isn't >fixed within one week from that, QA will send yet another email to the >maintainers and if no answer nor fix to the problem is provided within >one week, all members of the core QA team will get the permission to >modify any file needed to fix that QA issue as well as make a new >release. Again. How'd QA TEAM is going to fix issues if it can't even make bug reporting notices and it doesn't have any tracker system to work with issues. Many questions arise - what for do you need that Power then? To be a QA? To annoy developers and tell they are bad because they aren't fixing their bugs? To mess with others CVS? To block everyone's else right to release a package? I think QA should start with PEAR developers support service. I must admit that a great work is done to build PEAR and it is not a QA TEAM work to be in charge of all of this. I don't QA to be like that even if everyone else will tell me it is necessary. All modification in Orphaned Packages must be on a QA CVS branch. And what to do if I want smb. to buy me a cake before making some major enchancements? Do I have a right to do so? How QA is going to handle this? QA and manual. Definitely! That is the main function of QA to me. QA should not approve stable releases. It should monitor stable releases and make developer know if something is wrong in a release, but it can recommend to developers to ask for testing a package. The only exception is PFC. QA should be as polite as possible and annoy developers only if there's an absolute necessity. It is not a regulating/controlling team - it is Quality Assurance. >Notes: >The QA team must always inform the current lead maintainers of any >changes that are done to a given package using the currently configured >email addresses on pear web. ...must always inform about changes they are going to do. Information about what is done must be sent to developers automatically including pearweb and CVS changes (tunable). Repeating once more that QA must release it's own package which will be listed as "latest" packagename-version-QA.ext on a package pearweb page. Full access to QA can be granted only if public status of every action done will be preserved. I can't trust QA programmers which can't write a tracker for AQ. =) > the core QA team will get more permission to fix issues and make release > of packages if reported problems are not fixed in a specific time frame Only in PFC. In other packages only if lead is agreed or QA is lead. CVS should be done on a QA branch. > the core QA team assumes lead over orphaned packages Only PFC. In other packages four months or more of developers inactivity if there are bug standing isssues or his agreement. You can't claim the authorship if a developer is on vacation. Release a QA, but don't mess with others who made a great thing by contributing his code to the world. It is not yours. Do you a have a precedent? Explain it and make a vote. > the core QA team gets the rights to delete releases of packages if > it determines that the release has severe issues "hide" release or make -QA version of it temporary >the QA team is allowed to add QA related notes to package homepages > QA team needs to approve an first stable release for a given major > version number (done by votes) Only for PFC. For others - Never. If you will not have time to monitor that releases you will not have it to test and make a wise decision. That will delay a release and make the releasing process too bureaucratic. Bureaucracy is that makes the bad people "good". >the entire QA team will identify QA problems, will help writing QA > related documents, will help people resolve their QA problems and > such things That's a good thing! And must be the first point to address! Will HELP, but not dictate. >More focus is needed on writing QA related things in the manual and > make then more visible +1 >Make a little QA corner at pear.php.net so QA is more visible for >people and package devs are more aware of the QA team and how it works. +1 Another main point. >keep track of what QA does regarding packages that QA doesn't have >permission to edit through a wiki of some sort Tracker. ..QA does regarding every package. Don't think about Quality Assurance like of a sugar work. It is the work that reqires most Quality. >Actions Required if accepted. >----------------------------- >Forming of the QA team, electing the persons who should for the core of >the QA team. >Giving the core dudes full CVS karma on the pear CVS module, as well as > full access rights to package management part of pear web Make more flexible karma regulating and trust system among package developers. Make QA tracker. Make notification system. Make voting system. That will improve the quality of developers support a lot and will ease the tasks for QA. >Make that little QA pear page >Improve the QA manual pages >Discovering which packages' lead(s) allow QA to help keeping their > package QA approved Make an option somewhere in package management system. >Better coordination of the work which is done, who is going to do > what. Know in advance who is going to write some more entries to > the manual and so on. Tracker. >Make a wiki page of some sort for the info tracking regarding QA > editing package that QA doesn't have permission to edit. Do something. -- TiP, unemployed maniac asocial =)

« previous php.pear.dev (#34249) next »