Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

CPAN Modules on Github -- Naming conventions?

by saintmike (Vicar)
on Jun 09, 2009 at 18:24 UTC ( [id://770042]=perlquestion: print w/replies, xml ) Need Help??

saintmike has asked for the wisdom of the Perl Monks concerning the following question:

Github is catching up fast as the preferred destination for CPAN module development. But I wonder: Have we agreed yet on how to name our projects? Shouldn't there be a de-facto standard?

Obviously there's no such thing yet, as there is

http://github.com/gisle/libwww-perl

which is the true name of the CPAN module (indeed, the distro name is called "libwww-perl", which is very unusual for CPAN), then there is

http://github.com/mschilli/log4perl

which uses a short (but unambiguous) name and

http://github.com/boumenot/p5-Net-Amazon

which adheres to the RHEL/FBSD school of thought. Another possibility would be the Debian way, something like "libnet-amazon-perl".

Clearly, there should be a "-perl" (or -cpan) suffix (or prefix) to distinguish CPAN modules from the same projects, written in a different language.

Thoughts on a naming standard?

Replies are listed 'Best First'.
Re: CPAN Modules on Github -- Naming conventions?
by Fletch (Bishop) on Jun 09, 2009 at 21:23 UTC

    IMHO, I like the port-ish p5-Foo using whatever the CPAN distribution name would be. It's an "obvious" mapping ("Hrmm, Foo::Bar should be p5-Foo-Bar on github"), and the prefix distinguishes it as perl (and leaves room for the inevitable p6-Foo reimplementation).

    (Which reminds me I should put my at-this-point abandonware modules up on github if I could ever remember what disk had my old CVSROOT on it . . . %)

    The cake is a lie.
    The cake is a lie.
    The cake is a lie.

Re: CPAN Modules on Github -- Naming conventions?
by JavaFan (Canon) on Jun 09, 2009 at 21:44 UTC
    Well, if I had it my way, I'd call my github projects the same as the (main) namespace of the project I'd write. But github doesn't let me. I can't name a project Foo::Bar. So I use foo-bar.

    As for -perl or -cpan suffixes, feel free to do so. Just don't expect me to do so. The added benefit is certainly not "Clear" to me.

    Thoughts on a naming standard?

    My only thought is a question, why is a standard needed, and what is its benefit? And furthermore, who's going to control it if you were to start one?

      The added benefit comes when you want to port a project you wrote in one language to another language.

      The possibility of interested people porting from Perl 5 to Rakudo (aka Perl 6) suggests that saying p5 is better than saying perl or cpan somewhere in the name. (Plus p5 is short. Short is good.) The fact that p5-... looks similar to existing naming conventions suggests to me that this is a good way to name things.

      Whether we should get all official and call it a "standard" is another thing entirely. But I'm definitely OK with calling it a "suggestion".

      Update: I left out a "p5".

      As for -perl or -cpan suffixes, feel free to do so. Just don't expect me to do so. The added benefit is certainly not "Clear" to me.

      The benefit is that "libnet" (a C++ project, maybe the original project) won't clash with "libnet-perl" (the CPAN module). Also, if you're searching for a CPAN module on github, it helps if you can apply simple logic to get to the name of the github project instead of trying three different possibilities.

      My only thought is a question, why is a standard needed, and what is its benefit? And furthermore, who's going to control it if you were to start one?

      I'm not proposing a compulsory standard (which would be impossible to control anyway), but a naming convention like on CPAN: Sure, a couple of extroverted personalities are squatting in the top level namespace (Mr Ingerson comes to mind), but the majority are good citizens who get along just fine.

      One could argue that github should take control of this, but I'm afraid the genie is out of the bottle already.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://770042]
Approved by marto
Front-paged by Arunbear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2024-03-29 01:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found