|Jesse Vincent||Oct 31, 2009 10:19 am|
|David Golden||Oct 31, 2009 12:33 pm|
|Curtis Jewell||Oct 31, 2009 1:22 pm|
|David E. Wheeler||Oct 31, 2009 3:48 pm|
|jesse||Oct 31, 2009 4:53 pm|
|jesse||Oct 31, 2009 4:58 pm|
|jesse||Oct 31, 2009 5:10 pm|
|David Golden||Oct 31, 2009 6:42 pm|
|jesse||Oct 31, 2009 8:31 pm|
|David Golden||Nov 1, 2009 5:07 am|
|Jesse Vincent||Oct 31, 2011 3:27 pm|
|Abigail||Oct 31, 2011 3:41 pm|
|Leon Timmermans||Oct 31, 2011 3:43 pm|
|Ricardo Signes||Oct 31, 2011 3:49 pm|
|Paul Johnson||Nov 1, 2011 3:47 am|
|Dave Mitchell||Nov 1, 2011 4:14 am|
|Alberto Simões||Nov 1, 2011 6:28 am|
|David Golden||Nov 1, 2011 6:33 am|
|Craig A. Berry||Nov 1, 2011 5:02 pm|
|Jesse Vincent||Nov 1, 2011 7:51 pm|
|Shlomi Fish||Nov 7, 2011 7:48 am|
|Subject:||Re: The Great Pumpkin|
|From:||David Golden (xda...@gmail.com)|
|Date:||Oct 31, 2009 6:42:48 pm|
On Sat, Oct 31, 2009 at 7:59 PM, jesse <jes...@fsck.com> wrote:
I can already tell you that the CPAN Meta Spec 2.0 design process is wrapping up around then and there will be major changes to the toolchain modules to support it probably in the month of December. You'll need to decide if you want to get those changes (or some of them) into Version 12 or let them slip to 14. No decision needed now, but I want to put in a placeholder for discussions later.
My inclination is "big changes moments before we'd like to ship" are something I'd like to avoid. That said, as your design process finishes up and implementation begins, keep p5p in the loop. If there are things we can do to ease the transition to the new toolchain, or help users not get hurt, well, I like my users unhurt. Then they won't try to hurt me. [see below]
Here's the timeline:
* tomorrow: I declare the "public comment" period closed * before Dec 1: CPAN Meta Spec working group debates patches until we have sufficient consensus on a new spec * We implement the new spec
So... assuming the patches converge quickly and the working group can decide quickly, we could accelerate the implementation process. (sigh... November was already looking like a hellish month for me).
Major areas of implementation:
* CPAN spec writer/parser/validator -- as it looks like we're moving to JSON as the format for 2.0+, we'll need to bring the (perl) JSON distribution into core and create a simple META file wrapper around it it and Parse::CPAN::Meta, depending on the file format. That should be relative quick and I think we can get it done in time for Version 12.
* CPAN/CPANPLUS -- need to be updated to look for (and prefer) META.json files and to use the new META spec handler module. Their behaviors may need to be altered in subtle ways to be consistent with the spec. E.g. it looks like there is going to be a new "prefers" prerequisite type that is not an absolute "requires", but should be installed except on resource constrained systems or if a user opts out. This allows authors to say 'requires Params::Validate' and 'prefers Params::ValidateXS' and the like.
If that doesn't get done in time for Version 12, or is deemed too risky, it can probably slip. It means people may not benefit from META 2.0 changes in newly released distributions unless they upgrade CPAN/CPANPLUS, but there will be a period of adoption anyway before META 2.0 becomes widespread
* Distribution generators (M::B, EU::MM, M::I) -- need to be changed to generate legal 2.0 META files. This will be the most significant effort as there will be many subtle and not-so-subtle changes. But as this only affects authors, they can reasonably upgrade their tools before releasing new distributions.
As a side note, it would be great to get all three of M::B, EU::MM and M::I generating the new MYMETA files for CPAN toolchain to communicate dependencies in a standardized way. CPAN.pm already supports it in core; I don't know about CPANPLUS; Module::Build dev supports it; there's been some work on M::I and EU::MM, but I don't know the status.
If I had to prioritize an area of work for November, I'd actually pick MYMETA over the 2.0 spec. It's lower risk and higher reward.