PEAR Group Meeting 17th January 2010

Minutes

Attendees

David started things off at 17:06 UTC.
Bill logged the meeting on IRC and sent a copy to absent members of the PEAR Group.
Mike compiled the minutes.

Main Topic: PEAR2 Incubator

The majority of the meeting discussed the planned incubator channel to be available in PEAR2. Discussion was prompted by the recent launch of pearfarm and pearhub – two projects which have a similar goal.

The PEAR2 Incubator has been in discussion for two years. A brief summary of what it is:

The PEAR2 incubator is a channel in the PEAR umbrella that is easy to add packages to. The PEAR2 Incubator is intended as a channel for developers to get code in PEAR without first going through PEPr and with the easy option of later going through PEPr.

QA Of Incubator

It was decided QA in the incubator would be relatively hands-off. This is because PEAR does not have the resources to review all code in the incubator. PEAR would still have the power to pull releases when security issues arise. PEAR QA-group would not actively address bug reports in the incubator like they do for full PEAR packages.

Differences from pearhub/pearfarm

The reason for the PEAR2 Incubator to exist with the arrival of competing services was discussed. From a developer perspective, Incubator will offer similar low-friction package releases. The reasons to continue the Incubator initiative were listed as:

Developers will choose the incubator if they intend to get their packages in PEAR.

Users won't need to use channel discovery to be install packages from the incubator.

Developers may potentially see PEAR as a way to get community recognition.

Packages will be ranked on the website by the PEAR community with user-contributed ratings.

Other reasons for the incubator, specific to PEAR's needs were outlined as:

Gives developers a way to show initiative with new packages without having to go through PEAR's rigorous approval process.

Allows PEAR distribution of code that otherwise might not be packaged.

Democratizes packaging for developers. Good code will bubble to the top.

Provides a place to mature code and apply for full PEAR status when the developer wants to.

Helps PEAR lose its elitist image.

Can We Just Change Our Policy?

It was suggested that instead of a separate incubator channel, PEAR policy could be changed so only packages moving from alpha to beta or stable must go through the PEPr process. Though generally liked, this idea was declined as it would be possible for many dead-end projects to pollute the namespaces of the default channel. Additionally, having a clear differentiation between the expected quality of the main PEAR channel and the incubator was seen as important.

For comparison, both Debian and Ubuntu have separate channels for similar reasons.

Sub-Channels

Sub-channels based on PEAR usernames was an idea proposed as a way to prevent namespace collisions. The idea was decided against as it would potentially make packaging more difficult and would require channel-discovery for installation.

PEPr

In PEAR2, PEPr will be a bridge between the Incubator and the main PEAR channel. New developers will no longer be required to use PEPr to release packages in PEAR. They will have the option of immediately releasing their code in the Incubator. When a developer wishes to have their package in the main PEAR channel, they will use the existing PEPr approval process.

All attendees of the meeting agreed this is a good idea.

PEAR Accounts and Github

Releasing code in the Incubator must be as simple as possible. As such, acquiring a PEAR account must also be made easy.

It was suggested that integrating with Github would allow outside developers to easily contribute patches back to code in the Incubator. This would also eliminate the need for developers to apply for and receive PHP SVN accounts. The cost of Github for large projects was discussed as a potential limitation.

Timeline

Incubator was discussed as being part of PEAR1. Idea was dismissed as if part of PEAR1, PEAR2 will be even further delayed. All members agreed to work harder to finalize the RFCs for PEAR2 so that work on the Incubator can begin as soon as possible.