The CPAN META Spec is the basis for the META.yml metadata files included in most modern CPAN distributions. Since the spec was last updated two years ago, there have been suggestions in many forums for how it could be improved in clarity or functionality, but nothing has been done.

To move from ideas to implementation, I have convened a working group of Perl/CPAN toolchain developers, maintainers, packagers and indexers -- the people responsible for the tools you use to configure, build, install or search for CPAN modules -- to review proposals, reach consensus and ultimately implement a new CPAN META Spec.

To ensure that we benefit from the best ideas in the Perl community, on behalf of this working group, I am issuing a public call for proposals.


Here is the process and timeline:

  1. Add proposals to the CPAN Meta Spec Proposals page on the Perl QA Wiki. Discussion and refinement is encouraged through the discussion page on the wiki or on the cpan-workers mailing list (see below for details)
  2. The Call for Proposals will close on Oct. 1, 2009.
  3. The working group will post proposals on the cpan-workers mailing list for public discussion
  4. Public discussion will close on Nov. 1, 2009.
  5. The working group will reach consensus on proposals to adopt or reject and release a new CPAN META Spec no later than Dec. 1, 2009.


Since the work of implementation requires volunteer effort, the working group is looking for incremental improvements rather than complete rewrites of the spec. Proposal are more likely to be adopted if they:


The current spec: Browse the current spec, as converted to HTML, here:

The repository: The official spec draft file, META-spec.pod, has been moved from the Module-Build repository into its own repository on github. Please feel free to include proposed patches as part of proposals:

The wiki: Proposals will be kept on the Perl QA Wiki:

The mailing list: Subscribe to cpan-workers by emailing List archives are available at


Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.