This is a request for comment.  

Please cc any replies to [EMAIL PROTECTED] for my archival as I am not subscribed to 
[EMAIL PROTECTED], in addition to replying directly to [EMAIL PROTECTED]

I have ambitious plans (short term and long term) for my "Rosetta" framework, which is 
represented on the module list by the registered module "Rosetta", and I would like to 
have some official control over naming of modules closely related to mine.

Specifically, while Perl itself does not make any implications that "Foo" is related 
to "Foo::Bar" or "Foo::Bar::Baz", I would appreciate it if the official module list 
recognized "Rosetta::*" as a reserved name space hierarchy which I control.  This is 
so that I have the ability to keep the framework clean and orderly, regardless of 
whether anyone else chooses to add modules to it.  The idea is that if anyone wants to 
register or have indexed modules in that hierarchy, then they must be approved by 
myself.

By contrast, if anyone wants to make unofficial extensions to the hierarchy, I 
recommend naming the module something outside of that namespace.  For example, they 
could use a common prefix of "RosettaX::*".

I don't believe that my request is unprecedented because the accomodation I am 
requesting is no different than what is already practiced with the "DBI" framework 
("DBI::*"/"DBD::*") namespace being reserved, and "DBIx::*" being recommended for 
unofficial extensions.

Moreover, whether it was made official or not, I have seen this kind of separation 
already being practiced with the "Mason" framework, with at least one "MasonX::*" 
module being listed on CPAN.

So, my main question is two-fold:

1. Given that it is normal CPAN Module List policy that frameworks each have their own 
self-named name space rather than using a generic space like "CGI" or "Text", is it 
implicitely recognized already that any modules whose names start with the module name 
in the form "FrameworkName::*" are under the control of the framework author, or is it 
assumed that all names are free for all for new modules by default if the name 
describes the module's purpose?

2. If control is not implicitely recognized, what are the best and/or most 
authoratative ways to make it known that I would like people to speak with me first 
before uploading a module whose name is "Rosetta::*"?

Actually, one more question which perhaps is more broad in scope:

3. Are there any plans for the future that would make registering a framework for CPAN 
as easy as an individual module?  For example, if someone wanted to register a "Foo" 
framework, then they would only have to upload modules like "Foo::Bar" and "Foo::Baz", 
which share a prefix of the framework name, but they would not need to include an 
actual module "Foo" if that module would have no purpose.  I think that implementing 
this idea would require an update to the CPAN indexing mechanism, so that if someone 
clicked on a registered module/framework name in the main directory, it would show a 
module listing for the framework, or otherwise a file specified in a manifest or 
something, if there is no individual module with the name of the framework.  Is this 
feasable, or would it be beyond what CPAN is intended to be doing?

Thank you in advance for any feedback to this RFC.

Please cc any replies to [EMAIL PROTECTED] for my archival as I am not subscribed to 
[EMAIL PROTECTED], in addition to replying directly to [EMAIL PROTECTED]

Have a good day. -- Darren Duncan

Reply via email to