Re: RFC: the Author:: namespace

2012-11-23 Thread Aristotle Pagaltzis
* sawyer x xsawy...@gmail.com [2012-09-07 12:50]:
 On Fri, Sep 7, 2012 at 12:43 PM, Pedro Melo m...@simplicidade.org wrote:
  I would like to propose the Author:: namespace as a place for all of
  our personal modules that don't fit into any other namespace, for
  public experimental modules, and for author metadata.
 

 I don't understand why people upload things to CPAN that are specifically
 exclusively without-a-doubt on-purpose *just for them*?

Neither DZPluginBundles nor Author::JRH::ContributingPolicy are “just
for me”, they are necessary for everyone who might want to collaborate
on the respective author’s modules. Giving these things one single home
within the CPAN hierarchy would be an improvement on the current
situation where they just exist anyway but are strewn all over the place
and pollute the search results with no easy way for the CPAN search
engines to hide them from people who aren’t looking for them (except by
special-casing every single such namespace that has been established).

* Alders Olaf o...@wundersolutions.com [2012-09-07 18:40]:
 On 2012-09-07, at 12:20, Dave Rolsky auta...@urth.org wrote:
 I think it's also worth noting that every extra upload has the
 potential to show up in search results. If the thing you're uploading
 isn't useful to anyone else but it shows up in a search result,
 you've just made the search result a little less useful.

 Very true. Although putting this stuff in its own namespace makes it
 easier to exclude from search results. I also don't find most of the
 author specific stuff to be useful, but if it has to be there it would
 be cleaner to segregate it into its own namespace.

Funny, you swayed me. Coming into this thread (always playing the
archæologist to other people’s parties as I am) I was thinking exactly
what Dave wrote.

But what you countered makes me realise that an explicit such convention
would actually make search results better. The CPAN search engines would
offer an “include Author:: distros” checkbox (off by default) and we
would standardise on that for things like BeLike and DZPluginBundle.
Then when looking e.g. for dzil plugins you would no longer get flooded
with dozens and dozens of useless results. At the same time specifically
looking for these things would get easier too.

I like.

It’s probably not gonna happen, but count me in favour if it ever does.

Regards,
-- 
Aristotle Pagaltzis // http://plasmasturm.org/


Re: RFC: the Author:: namespace

2012-09-16 Thread Sawyer X

  
  
I felt like I
  put this aside without wrapping up my point of view, which is
  unfair and impolite, so I'll try to do that (hopefully
  respectively) now.
  
  On 09/09/2012 02:18 AM, Pedro Melo wrote:


  Hi,

On Sat, Sep 8, 2012 at 6:18 PM, sawyer x xsawy...@gmail.com wrote:

  
On Sat, Sep 8, 2012 at 9:49 AM, Pedro Melo m...@simplicidade.org wrote:


  On Fri, Sep 7, 2012 at 11:47 AM, sawyer x xsawy...@gmail.com wrote:
 * the author can include that module as a dependency on his projects
like he does with all the other CPAN dependencies.

The second one is the most important to me. Just because it is a
module that you might not use, it might be a module that is installed
on your system as a direct dependency of other modules I have on CPAN.




That's a terrible thing to do! Please, for the love of all that is good and
holy, never put any project to depend on a personal distribution of your
favorite modules. I will most likely refuse to use it entirely for that
reason alone. Declare what you're using, not what you like to have
installed!

  
  
huhs?? I'm telling you that I'm reusing modules under A::M::something
on other CPAN distributions. It's not a "personal distribution", I'm
not depending any dist on my Task::BeLike::MELO. I just have small
reuseable modules, that I don't think have a proper place on CPAN
right now, that I want to use on other dists I do have on CPAN…


It seems like we're discussing a few different situations, so here
are my thoughts of them. Obviously you can ignore whatever doesn't
apply to you. Also, when I say "useful" in context of "useful to
others", please infer that I'm also adding the words "possibly",
"perhaps", "hopefully" and the likes, not assuming that it
definitely will, but that under the right (albeit perhaps very
extreme) conditions, it might be useful to someone else.

1. Putting modules (My::Module) under the namespace
Author::PAUSEID::My::Module - I think that's a bad idea. If
My::Module is useful to anyone, it should be available under a
sensible name, such as My::Module.
2. Putting modules (My::Module) under the proper namespace but
enclosed within distribution of an author namespace
(Author::PAUSEID::ModulesIUseOrWrote) - I think that's a bad idea,
for two reasons. The first is that it forces the user to install
more modules. In the case of Task::* it makes sense, but when it's
not about a specific system (Catalyst, Dancer, Moose, WebGUI),
you're just pushing more deps down someone's pipe. If it's for a
system, simply use Task::*. The second reason is the other usage,
which are personalized bundles. That's item 3.
3. Making personalized lists of modules we use, we like, we care
for, etc. a la Task::BeLike::*, Dist::Zilla::PluginBundle::PAUSEID
and so on - I think that's a bad idea. Personalized bundles are
personal things. Although you can learn from them, they
aren't meant for teaching, they are there because
people want their own repo inside CPAN to put their personal
preferences. While it's possible, I don't think that's a polite
usage of this community resource. As I said previously, I'm also not
the only asshole who thinks people should probably not do this.

If in any way I completely missed what you're trying to do, by all
means, accept my apology and completely ignore me.


  



  

  Other use cases I have: Moo/Moose roles. I have a couple of roles that
I reuse on a lot of projects, including some modules that eventually
will be uploaded to CPAN.

Are they worth moving to Moo(se)X::Roles::Something? Maybe they are,
maybe they aren't. At this point I don't really know, and instead of
polluting that namespace, I would upload them to my Author namespace,
and use them as dependencies.




If anyone would be able to use them, then YES, they are worth splitting into
a role! DEFINITELY! Please do that! I will be happy to help! By providing a
role, you're at least saying "hey, you can use this shit! It's for you too!
I hope you find it useful, and if not... that's cool too!" -- That's a good
reason right there. I won't go into the goodness of decoupling your code
properly, which you already know and appreciate.

  
  
This is the thing: they are worth splitting for me. I reuse them
across dists.

If they are worth using them in production, they might just be
worthwhile for someone else. Separate them into proper namespaces
and distributions and upload them for others to enjoy.


   I don't know (nor frankly I do care that much) if others
find them useful. I do. Thats why I think uploading them to
A::MELO::Moo::Roles::Something seems to me a better solution.

I'm pretty sure CPAN's approach is "I don't know (nor frankly do I

Re: RFC: the Author:: namespace

2012-09-09 Thread Eric Wilhelm
# from Pedro Melo on Friday 07 September 2012:
... personal modules that don't fit into any other namespace, for
public experimental modules, and for author metadata.
...
You can skip indexing them on search/metacpan, or index them and not
include them on general search results. Make that opt-in.

You can more aggressively remove old versions. You can delete old
versions to Backpan. Or even send skip sending them at all to Backpan.

And you can skip them when you create your local CPAN mirror, pulling
only your own namespace.

It sounds like you're mostly talking about experimental modules (or 
experimental forks of existing ones) -- which is not what I would call 
personal, so I think that's the wrong term for this discussion (and 
somewhat loaded/possessive.)

I think the notion of using your PAUSE ID as a sub-namespace is pretty 
well-established for BeLike c (for better or worse.)

As for the plan of having somewhere to put experiments or forks, 
Author::EWILHELM doesn't seem right, and it's also too long, and what if 
I wrote it, but at some point in the future, someone else is going to 
maintain/co-maintain it?  This problem of what to name a fork is 
partly an artifact of not having namespace/authority support in 
require(), no?  Why not name the first fork of Foo, X1::Foo and if 
someone wants to fork it again, X2::Foo, etc?  The same could work for 
experiments like x201209090002.pm

If you're tempted to prefix a distribution with your name, why is that?  
What if we just had a tmp:: namespace and deleted anything in there 
older than 2 years?

I think there's some way to control indexing with meta.ymlson, though 
one would probably want to go read the mldistwatch code and see.

As for what's in a backpan: that's an rsync cron job running on many 
servers (some of which may have been drywalled-over by now) and not 
likely to change much unless disk space gets much more expensive.

--Eric
-- 
---
http://scratchcomputing.com
---


Re: RFC: the Author:: namespace

2012-09-09 Thread Smylers
Pedro Melo writes:

 On Sat, Sep 8, 2012 at 6:18 PM, sawyer x xsawy...@gmail.com wrote:
 
  On Sat, Sep 8, 2012 at 9:49 AM, Pedro Melo m...@simplicidade.org wrote:
  
* the author can include that module as a dependency on his
projects like he does with all the other CPAN dependencies.
  
   The second one is the most important to me. Just because it is a
   module that you might not use, it might be a module that is installed
   on your system as a direct dependency of other modules I have on CPAN.
 
  That's a terrible thing to do! Please, for the love of all that is
  good and holy, never put any project to depend on a personal
  distribution of your favorite modules. I will most likely refuse to
  use it entirely for that reason alone. Declare what you're using,
  not what you like to have installed!
 
 huhs?? I'm telling you that I'm reusing modules under A::M::something
 on other CPAN distributions. It's not a personal distribution, I'm
 not depending any dist on my Task::BeLike::MELO. I just have small
 reuseable modules,

Hi Pedro. If you have a small reusable module which is used by several
other Cpan distributions then of course it belongs on Cpan.

What I don't understand is why you want to have your username as part of
the module's name.

Surely it's better to upload it with a name that simply indicates what
it does, then your other distributions can use it on that basis -- and
perhaps other people will see that, like it, and start using it too?

I'd feel wary about using anything which is named with its author's
username (except in a situation like Dist::Zilla or BeLike where I'm
explicitly trying to be like a particular author), cos that sounds like
it's personal to that author.

 that I don't think have a proper place on CPAN right now,

What do you mean by that?

If you aren't sure whether something would be worthwhile, upload it
anyway. If necessary write in the Pod that the interface is subject to
change and anybody using it should e-mail you to let you know.

Cheers

Smylers
-- 
New series of TV puzzle show 'Only Connect' (some questions by me)
Mondays at 20:30 on BBC4, or iPlayer: http://www.bbc.co.uk/onlyconnect


Re: RFC: the Author:: namespace

2012-09-08 Thread Sven Dowideit
As someone that has avoided making CPAN modules in part because there 
are so many ways to do things, but who has finally given up (dithering) 
and started the journey, I'd like to make this plea:


__PLEASE upload personal things to CPAN (or BackPAN, or AuthorPAN)__

the reason is simple - every single Perl developer seems to have a 
modified, but cargo culted approach to the tools they use to build, test 
and release.


Without sharing them, we can never undertake a survey of these diverse 
practices, and steal those we love (and maybe reduce the cutpasterot).


now - having seen gitpan (and that its been dead for a few years) does 
anyone have a git repo out there with all CPAN modules in it that I can 
clone? I have some datamining wrt xt/ practices I'd like to do to see 
how I can optimise mine (Text::XT doesn't excite me much)


Sven

On 08/09/12 15:16, Serguei Trouchelle wrote:

sawyer x wrote:

I don't understand why people upload things to CPAN that are 
specifically exclusively without-a-doubt on-purpose *just

for them*?


Because it's convenient for them.

People always say hey, if it's useful for even one person, it should 
be out there, but these are things that are on

purpose only useful and meant for the author. Why upload them?


You can address this question to every Acme:: author. 95% of Acme:: 
modules aren't even useful, though no one complains about this (usually).


CPAN is not our private repository. It's not our backyard shed, it's 
not our personal storage. Why keep doing this?


I've never seen any description what CPAN is -- apart from the fact 
it's a collection of some Perl modules and scripts. Some of them are 
not even free.


I seriously don't understand it, and I think people should stop doing 
it. I personally have my personal stuff either on
my personal Git repository or on my Github repository. It's *my* 
stuff. I try to upload stuff to CPAN that can (might)

be useful for others too, hopefully.


Personally I try to not care about things that have no direct impact 
on me.
If someone wants to establish a CPAN Police Force, they can better do 
something with obviously malicious things like this one: 
http://search.cpan.org/dist/CPAN-Index/






Re: RFC: the Author:: namespace

2012-09-08 Thread Pedro Melo
Hi,

After a good night sleep, I´ve regrouped and though about the
arguments presented, and I would like to reply to them.

On Fri, Sep 7, 2012 at 11:47 AM, sawyer x xsawy...@gmail.com wrote:
   I don't understand why people upload things to CPAN that are specifically 
 exclusively without-a-doubt on-purpose just for them?

Two reasons:

 * it is very convenient to install, just use the commands you already
know about;
 * the author can include that module as a dependency on his projects
like he does with all the other CPAN dependencies.

The second one is the most important to me. Just because it is a
module that you might not use, it might be a module that is installed
on your system as a direct dependency of other modules I have on CPAN.

Other use cases I have: Moo/Moose roles. I have a couple of roles that
I reuse on a lot of projects, including some modules that eventually
will be uploaded to CPAN.

Are they worth moving to Moo(se)X::Roles::Something? Maybe they are,
maybe they aren't. At this point I don't really know, and instead of
polluting that namespace, I would upload them to my Author namespace,
and use them as dependencies.

If others find them useful, I can then rename them to a more official
namespace and adjust my own distributions.


 People always say hey, if it's useful for even one person, it should be out 
 there, but these are things that are on purpose only useful and meant for 
 the author. Why upload them?

Just because it's only useful to the author, it doesn't mean it only
be installed by the author.

CPAN is there to promote reuse. I have modules that I want to reuse
but I don't know if they should be real full blown CPAN modules. So I
uploaded them to my Author namespace, and reuse them on other modules.

Personal modules does not imply single use or private use only.


On Fri, Sep 7, 2012 at 12:30 PM, David Precious dav...@preshweb.co.uk wrote:
 Public experiments, IMO, would be better done on GitHub et al, with the
   code uploaded to CPAN if it reaches a point where it's useful.

Without exposure on CPAN, how would you evaluate usefulness? Our tools
make it trivial to install modules from CPAN, and uploading something
to CPAN proves a certain level of commitment to the work.

I can throw something half-assed to github as a proof of concept.
Sending it to CPAN is whole new ball game, I won't upload stuff that
I'm not terrible proud of.


On Fri, Sep 7, 2012 at 4:48 PM, sawyer x xsawy...@gmail.com wrote:
 It's not about putting weight strain on CPAN mirrors (though I'm not sure 
 it's impossible to make such a claim), but of the pollution of CPAN.

About this two points, strain and pollution of CPAN.

The fact that they are clearly labeled Author modules actually helps
with the strain on CPAN. Right now, a lot of personal modules
(Task::BeLike and dzil PluginBundles::Author) exist and are mixed with
more useful modules. But if they are clearly labeled, then you can
target them with a policy to reduce the strain on CPAN.

You can skip indexing them on search/metacpan, or index them and not
include them on general search results. Make that opt-in.

You can more aggressively remove old versions. You can delete old
versions to Backpan. Or even send skip sending them at all to Backpan.

And you can skip them when you create your local CPAN mirror, pulling
only your own namespace.

Regarding pollution of CPAN, moving personal stuff that *is already on
CPAN* to a personal namespace actually reduces the pollution of CPAN.


 When I reach a new machine, I clone both and set things up. I used to also 
 have a bash script that ran cpanm $MODULES to install the modules I use 
 frequently.

Me too. The cpanm part is actually: cpanm Task::BeLike::MELO

I would love to move that to Author::MELO::Stack (with possible new
::Stack::Runtime and ::Stack::Devel).


On Fri, Sep 7, 2012 at 5:20 PM, Dave Rolsky auta...@urth.org wrote:
 I think it's also worth noting that every extra upload has the potential to
 show up in search results.

As I said above, the fact they are clearly labeled on the Author
namespace makes it possible to remove them from default search
results.

Right now, personal modules are spread throughout CPAN and they
already pollute the search results.


***

I still think this is an idea worth considering. You can see it as
just another garbage namespace, but if you do, I can only argue Good,
maybe a lot of the garbage already on CPAN can be moved to their
proper place now.

I still need to upload a policy module that will be included with all
my modules. I can pollute the Pod::Weaver::PluginBundle::Author
somemore but I rather not.

Just because its personal, doesn't mean its not meant for reuse. Even
if it just personal reuse, it is still reuse. And IMVHO, reuse is what
CPAN is all about.

What do you think?
-- 
Pedro Melo
@pedromelo
http://www.simplicidade.org/
http://about.me/melo
xmpp:m...@simplicidade.org
mailto:m...@simplicidade.org


Re: RFC: the Author:: namespace

2012-09-08 Thread Yanick Champoux

On 12-09-08 02:49 AM, Pedro Melo wrote:

Just because its personal, doesn't mean its not meant for reuse. Even
if it just personal reuse, it is still reuse. And IMVHO, reuse is what
CPAN is all about.

What do you think?


	Fwiw, I tend to agree that as long as it can be useful for somebody 
else, it's worth putting on CPAN.


	I happen to have a Task::BeLike::YANICK and a 
Dist::Zilla::PluginBundle::YANICK[1]. The latter, I would argue, needs 
to be on CPAN as its absence would seriously impede contributions and 
collaborations on my modules on GitHub.  The former I see as a living 
list for anybody curious to see what tools I'm using in my day-to-day 
hacking -- not exactly the most vital piece of information CPAN will 
ever have, I concede, and will doubtlessly be made obsolete by upcoming 
metacpan features, but hey, with a tarball of 20k it's hard to go wrong.


	Now, as for the choice of namespaces, Author::* versus *::*::Author, I 
agree that the first is more neat.  But only as long as we have the 
right search tools to include those in global searchs (I'm thinking of 
cases where I want to look at, say, all dzil plugins, public and 
personal alike)


Joy,
`/anick

[1] Alas, they both pre-date the Author:: discussion and so are missing 
that part in their namespaces, mea culpa.


Re: RFC: the Author:: namespace

2012-09-08 Thread sawyer x
On Sat, Sep 8, 2012 at 8:16 AM, Serguei Trouchelle s...@cpan.org wrote:

 sawyer x wrote:

  I don't understand why people upload things to CPAN that are specifically
 exclusively without-a-doubt on-purpose *just
 for them*?


 Because it's convenient for them.


Well, that's pretty obvious, even to me. :)
But just because it's convenient isn't good enough of a reason to do it, in
my opinion (of course).



  People always say hey, if it's useful for even one person, it should be
 out there, but these are things that are on
 purpose only useful and meant for the author. Why upload them?


 You can address this question to every Acme:: author. 95% of Acme::
 modules aren't even useful, though no one complains about this (usually).


No, I can't. Acme:: is people sharing jokes, which in most cases aren't
supposed to be useful, they're JOKES. Author::PAUSEID,
Task::BeLike::PAUSEID and Dist::Zilla::PluginBundle::PAUSEID are by people
*not* sharing *anything* with *anyone* except using CPAN as their private
repository. So, yes, there's a major difference.



  CPAN is not our private repository. It's not our backyard shed, it's not
 our personal storage. Why keep doing this?


 I've never seen any description what CPAN is -- apart from the fact it's a
 collection of some Perl modules and scripts. Some of them are not even free.


Obviously CPAN is a place to upload modules so others can view, share and
use them.

By your claim, I can use CPAN to upload my last YAPC trip pictures (and
hell, replace Flickr), because I've never seen any description of what
CPAN is. So, no, there isn't a given description, but I think it's pretty
obvious to both of us and anyone on this list and on CPAN. Using generic
excuses as there's no sign on what goes in the pool, so I can pee in it
don't help us much here.



  I seriously don't understand it, and I think people should stop doing it.
 I personally have my personal stuff either on
 my personal Git repository or on my Github repository. It's *my* stuff. I
 try to upload stuff to CPAN that can (might)

 be useful for others too, hopefully.


 Personally I try to not care about things that have no direct impact on me.


That's perfectly fair. I was just replying to a request for feedback.


 If someone wants to establish a CPAN Police Force, they can better do
 something with obviously malicious things like this one:
 http://search.cpan.org/dist/**CPAN-Index/http://search.cpan.org/dist/CPAN-Index/


Indeed, if anyone asked me is there anything you would like to fix on
CPAN, the personal authors distributions wouldn't be my first choice
either. I completely agree with you on that point.


Re: RFC: the Author:: namespace

2012-09-08 Thread sawyer x
On Sat, Sep 8, 2012 at 9:15 AM, Sven Dowideit svendowid...@home.org.auwrote:

 the reason is simple - every single Perl developer seems to have a
 modified, but cargo culted approach to the tools they use to build, test
 and release.


But these are just lists of authors' personal choices (that often conflict
with others) and that doesn't really solve your problem. You problem is
solved by reading blogs, twitter feeds, PerlMonks, slides on SlideShare by
prominent programmers, books (Modern Perl, anyone? Perl Moderne, anyone?)
and so on. There are a lot of ways to do it, and uploading personal used
modules is *definitely* not the right one, especially since some authors
still prefer awful modules they're simply still comfortable with.


Re: RFC: the Author:: namespace

2012-09-08 Thread Leon Timmermans
On Sat, Sep 8, 2012 at 6:59 PM, sawyer x xsawy...@gmail.com wrote:
 No, I can't. Acme:: is people sharing jokes, which in most cases aren't
 supposed to be useful, they're JOKES. Author::PAUSEID,
 Task::BeLike::PAUSEID and Dist::Zilla::PluginBundle::PAUSEID are by people
 *not* sharing *anything* with *anyone* except using CPAN as their private
 repository. So, yes, there's a major difference.

Dist::Zilla author bundles are useful if anyone wants to contribute to
your project.

 Obviously CPAN is a place to upload modules so others can view, share and
 use them.

 By your claim, I can use CPAN to upload my last YAPC trip pictures (and
 hell, replace Flickr), because I've never seen any description of what CPAN
 is. So, no, there isn't a given description, but I think it's pretty
 obvious to both of us and anyone on this list and on CPAN. Using generic
 excuses as there's no sign on what goes in the pool, so I can pee in it
 don't help us much here.

Not saying it's a good idea, but it has been done before, and not by
the least of us:
http://backpan.perl.org/authors/id/M/ME/MERLYN/index.html

Leon


Re: RFC: the Author:: namespace

2012-09-08 Thread sawyer x
On Sat, Sep 8, 2012 at 9:49 AM, Pedro Melo m...@simplicidade.org wrote:


 On Fri, Sep 7, 2012 at 11:47 AM, sawyer x xsawy...@gmail.com wrote:
I don't understand why people upload things to CPAN that are
 specifically exclusively without-a-doubt on-purpose just for them?

 Two reasons:

  * it is very convenient to install, just use the commands you already
 know about;


Not a good enough reason, IMHO. The fact that it's convenient or easy
doesn't make it okay. You're putting private things that you destine only
for yourself in a forum that's meant to be useful for others as well.
Again, possibly, hopefully, maybe.


  * the author can include that module as a dependency on his projects
 like he does with all the other CPAN dependencies.

 The second one is the most important to me. Just because it is a
 module that you might not use, it might be a module that is installed
 on your system as a direct dependency of other modules I have on CPAN.


That's a terrible thing to do! Please, for the love of all that is good and
holy, never put any project to depend on a personal distribution of your
favorite modules. I will most likely refuse to use it entirely for that
reason alone. Declare what you're using, not what you like to have
installed!



 Other use cases I have: Moo/Moose roles. I have a couple of roles that
 I reuse on a lot of projects, including some modules that eventually
 will be uploaded to CPAN.

 Are they worth moving to Moo(se)X::Roles::Something? Maybe they are,
 maybe they aren't. At this point I don't really know, and instead of
 polluting that namespace, I would upload them to my Author namespace,
 and use them as dependencies.


If anyone would be able to use them, then YES, they are worth splitting
into a role! DEFINITELY! Please do that! I will be happy to help! By
providing a role, you're at least saying hey, you can use this shit! It's
for you too! I hope you find it useful, and if not... that's cool too! --
That's a good reason right there. I won't go into the goodness of
decoupling your code properly, which you already know and appreciate.


  People always say hey, if it's useful for even one person, it should be
 out there, but these are things that are on purpose only useful and meant
 for the author. Why upload them?

 Just because it's only useful to the author, it doesn't mean it only
 be installed by the author.


And just because it *can* be installed by others, doesn't mean it will. It
probably won't. That's why people started creating even more author plugin
bundles that share other plugins with other author plugin bundles. Because
they realize hey, I like only *some* of the things you like and *some* of
the things you don't like. -- It leads to even more damnation fire!



 CPAN is there to promote reuse. I have modules that I want to reuse
 but I don't know if they should be real full blown CPAN modules. So I
 uploaded them to my Author namespace, and reuse them on other modules.


People can't depend on your test environment. That's why you give it a
proper name if you want others to be able to use it.



 Personal modules does not imply single use or private use only.


Yes, it does. By *all* means, it does.



 On Fri, Sep 7, 2012 at 4:48 PM, sawyer x xsawy...@gmail.com wrote:
  It's not about putting weight strain on CPAN mirrors (though I'm not
 sure it's impossible to make such a claim), but of the pollution of CPAN.

 About this two points, strain and pollution of CPAN.

 The fact that they are clearly labeled Author modules actually helps
 with the strain on CPAN. Right now, a lot of personal modules
 (Task::BeLike and dzil PluginBundles::Author) exist and are mixed with
 more useful modules. But if they are clearly labeled, then you can
 target them with a policy to reduce the strain on CPAN.


I disagree. I think they are clearly labelled by being in the Task::BeLike
and PluginBundles::Author namespaces. This is still bad.


 You can skip indexing them on search/metacpan, or index them and not
 include them on general search results. Make that opt-in.

 You can more aggressively remove old versions. You can delete old
 versions to Backpan. Or even send skip sending them at all to Backpan.

 And you can skip them when you create your local CPAN mirror, pulling
 only your own namespace.


All of this can be done, but none of it is, and probably none of it will be.



 Regarding pollution of CPAN, moving personal stuff that *is already on
 CPAN* to a personal namespace actually reduces the pollution of CPAN.


How about quitting uploading personal stuff? Seems easy, seems more
considerate too.



  When I reach a new machine, I clone both and set things up. I used to
 also have a bash script that ran cpanm $MODULES to install the modules I
 use frequently.

 Me too. The cpanm part is actually: cpanm Task::BeLike::MELO

 I would love to move that to Author::MELO::Stack (with possible new
 ::Stack::Runtime and ::Stack::Devel).


But that's the problem! You're 

Re: RFC: the Author:: namespace

2012-09-08 Thread John M. Gamble
On Sat, September 8, 2012 12:08 pm, Leon Timmermans wrote:
 On Sat, Sep 8, 2012 at 6:59 PM, sawyer x xsawy...@gmail.com wrote:
 No, I can't. Acme:: is people sharing jokes, which in most cases aren't
 supposed to be useful, they're JOKES. Author::PAUSEID,
 Task::BeLike::PAUSEID and Dist::Zilla::PluginBundle::PAUSEID are by
 people
 *not* sharing *anything* with *anyone* except using CPAN as their
 private
 repository. So, yes, there's a major difference.

 Dist::Zilla author bundles are useful if anyone wants to contribute to
 your project.

 Obviously CPAN is a place to upload modules so others can view, share
 and
 use them.

 By your claim, I can use CPAN to upload my last YAPC trip pictures (and
 hell, replace Flickr), because I've never seen any description of what
 CPAN
 is. So, no, there isn't a given description, but I think it's pretty
 obvious to both of us and anyone on this list and on CPAN. Using generic
 excuses as there's no sign on what goes in the pool, so I can pee in
 it
 don't help us much here.

 Not saying it's a good idea, but it has been done before, and not by
 the least of us:
 http://backpan.perl.org/authors/id/M/ME/MERLYN/index.html


That example doesn't actually support that statement. It's an index file
in an HTML directory, and all of the links in it reference outside of
CPAN. There are no personal single-use modules, random code, or YAPC trip
pictures. I don't know if it's proper, but CPAN is clearly set up to use
it (one clicks on MERLYN in the CPAN line of
http://search.cpan.org/~merlyn/). So this really has nothing to do with
the subject at hand.

 -john




Re: RFC: the Author:: namespace

2012-09-08 Thread Pedro Melo
Hi,

On Sat, Sep 8, 2012 at 5:59 PM, sawyer x xsawy...@gmail.com wrote:
 On Sat, Sep 8, 2012 at 8:16 AM, Serguei Trouchelle s...@cpan.org wrote:
 sawyer x wrote:
 People always say hey, if it's useful for even one person, it should be
 out there, but these are things that are on
 purpose only useful and meant for the author. Why upload them?

 You can address this question to every Acme:: author. 95% of Acme::
 modules aren't even useful, though no one complains about this (usually).


 No, I can't. Acme:: is people sharing jokes, which in most cases aren't
 supposed to be useful, they're JOKES. Author::PAUSEID,
 Task::BeLike::PAUSEID and Dist::Zilla::PluginBundle::PAUSEID are by people
 *not* sharing *anything* with *anyone* except using CPAN as their private
 repository. So, yes, there's a major difference.

That is simply not true… I didn't create my own D::Z::PB::A::Melo from
scratch, I used the knowledge of others who came before me and wrote
their own. I used at least three of them to collect ideas and one of
them as the basis for my own.

Having those modules on CPAN is good, because you can learn a lot from them.


 CPAN is not our private repository. It's not our backyard shed, it's not
 our personal storage. Why keep doing this?


 I've never seen any description what CPAN is -- apart from the fact it's a
 collection of some Perl modules and scripts. Some of them are not even free.

 Obviously CPAN is a place to upload modules so others can view, share and
 use them.

Agreed.

And how is that description incompatible with
Author::MELO::Moo::Roles::Registry or A::M::M::R::UUID, two roles that
I reuse on several projects?

Can't you look at them and learn from them? Or even look at them and
learn never to write stuff like that again, what was he smoking, can I
get the phone number of your delaer-type of reaction?


 By your claim, I can use CPAN to upload my last YAPC trip pictures (and
 hell, replace Flickr), because I've never seen any description of what CPAN
 is. So, no, there isn't a given description, but I think it's pretty
 obvious to both of us and anyone on this list and on CPAN. Using generic
 excuses as there's no sign on what goes in the pool, so I can pee in it
 don't help us much here.

I don't believe anybody was suggesting uploading anything but Perl code to CPAN…

Bye,
-- 
Pedro Melo
@pedromelo
http://www.simplicidade.org/
http://about.me/melo
xmpp:m...@simplicidade.org
mailto:m...@simplicidade.org


Re: RFC: the Author:: namespace

2012-09-08 Thread Pedro Melo
Hi,

On Sat, Sep 8, 2012 at 6:18 PM, sawyer x xsawy...@gmail.com wrote:
 On Sat, Sep 8, 2012 at 9:49 AM, Pedro Melo m...@simplicidade.org wrote:
 On Fri, Sep 7, 2012 at 11:47 AM, sawyer x xsawy...@gmail.com wrote:
  * the author can include that module as a dependency on his projects
 like he does with all the other CPAN dependencies.

 The second one is the most important to me. Just because it is a
 module that you might not use, it might be a module that is installed
 on your system as a direct dependency of other modules I have on CPAN.


 That's a terrible thing to do! Please, for the love of all that is good and
 holy, never put any project to depend on a personal distribution of your
 favorite modules. I will most likely refuse to use it entirely for that
 reason alone. Declare what you're using, not what you like to have
 installed!

huhs?? I'm telling you that I'm reusing modules under A::M::something
on other CPAN distributions. It's not a personal distribution, I'm
not depending any dist on my Task::BeLike::MELO. I just have small
reuseable modules, that I don't think have a proper place on CPAN
right now, that I want to use on other dists I do have on CPAN…


 Other use cases I have: Moo/Moose roles. I have a couple of roles that
 I reuse on a lot of projects, including some modules that eventually
 will be uploaded to CPAN.

 Are they worth moving to Moo(se)X::Roles::Something? Maybe they are,
 maybe they aren't. At this point I don't really know, and instead of
 polluting that namespace, I would upload them to my Author namespace,
 and use them as dependencies.


 If anyone would be able to use them, then YES, they are worth splitting into
 a role! DEFINITELY! Please do that! I will be happy to help! By providing a
 role, you're at least saying hey, you can use this shit! It's for you too!
 I hope you find it useful, and if not... that's cool too! -- That's a good
 reason right there. I won't go into the goodness of decoupling your code
 properly, which you already know and appreciate.

This is the thing: they are worth splitting for me. I reuse them
across dists. I don't know (nor frankly I do care that much) if others
find them useful. I do. Thats why I think uploading them to
A::MELO::Moo::Roles::Something seems to me a better solution.


  People always say hey, if it's useful for even one person, it should be
  out there, but these are things that are on purpose only useful and meant
  for the author. Why upload them?

 Just because it's only useful to the author, it doesn't mean it only
 be installed by the author.

 And just because it *can* be installed by others, doesn't mean it will. It
 probably won't. That's why people started creating even more author plugin
 bundles that share other plugins with other author plugin bundles. Because
 they realize hey, I like only *some* of the things you like and *some* of
 the things you don't like. -- It leads to even more damnation fire!

I understand what you saying but not how it relates with what I said
previously. I'm missing something, for sure…

Shouldn't those plugin bundles be better off in the Author namespace,
given that they are personal preferences?


 CPAN is there to promote reuse. I have modules that I want to reuse
 but I don't know if they should be real full blown CPAN modules. So I
 uploaded them to my Author namespace, and reuse them on other modules.

 People can't depend on your test environment. That's why you give it a
 proper name if you want others to be able to use it.

It's not a test environment. They are production modules, that I use
on my own projects. I want to reuse them on several projects. I don't
really care if others do, but I do want to reuse them. I'm giving it a
name in the Author::MELO namespace because I don't want to pollute the
other CPAN namespaces.

I could install a local CPAN mirror and inject them, but then, when I
upload one app to dotcloud or some other app engine, I'm stuck,
because the dependency is not on CPAN.


 Personal modules does not imply single use or private use only.

 Yes, it does. By *all* means, it does.

No, it really doesn't. It's not private because I'm publicly making it
available, on CPAN, easy for anyone to reuse. It's not single use
because the main reason for me to upload them to CPAN was to reuse on
multiple dists I have or plan to upload to CPAN.


 On Fri, Sep 7, 2012 at 4:48 PM, sawyer x xsawy...@gmail.com wrote:
  It's not about putting weight strain on CPAN mirrors (though I'm not
  sure it's impossible to make such a claim), but of the pollution of CPAN.

 About this two points, strain and pollution of CPAN.

 The fact that they are clearly labeled Author modules actually helps
 with the strain on CPAN. Right now, a lot of personal modules
 (Task::BeLike and dzil PluginBundles::Author) exist and are mixed with
 more useful modules. But if they are clearly labeled, then you can
 target them with a policy to reduce the strain on CPAN.

 I disagree. I think they 

Re: RFC: the Author:: namespace

2012-09-08 Thread Pedro Melo
On Sun, Sep 9, 2012 at 12:18 AM, Pedro Melo m...@simplicidade.org wrote:
 On Sat, Sep 8, 2012 at 6:18 PM, sawyer x xsawy...@gmail.com wrote:
 On Sat, Sep 8, 2012 at 9:49 AM, Pedro Melo m...@simplicidade.org wrote:
 Regarding pollution of CPAN, moving personal stuff that *is already on
 CPAN* to a personal namespace actually reduces the pollution of CPAN.

 How about quitting uploading personal stuff? Seems easy, seems more
 considerate too.

 The premise of this statement is that personal stuff I upload is of no
 value to the community. I find that premise false.

Humbly of course :), forgot to add that. It's not because I think my
own code is the best one out there, it just because I'm sure I could
learn a lot by looking at other's Author::ID:: modules.

Even if it is to learn how not to do stuff…

Bye,
-- 
Pedro Melo
@pedromelo
http://www.simplicidade.org/
http://about.me/melo
xmpp:m...@simplicidade.org
mailto:m...@simplicidade.org


RFC: the Author:: namespace

2012-09-07 Thread Pedro Melo
Hi,

I would like to propose the Author:: namespace as a place for all of
our personal modules that don't fit into any other namespace, for
public experimental modules, and for author metadata.

Each author would release under his own PAUSE ID. My own namespace
would become Author::MELO and my modules would be placed under that.

Modules under the Author namespace would be available to include as a
dependency on each author projects, but not under other CPAN
distributions outside the same Author namespace. If you wish to use a
Author module, you should work with the author to move it to one of
the current namespaces.

I think this would allow us to remove a lot of per-user modules that
have popped up in the past (stuff like Task::Belike::* and Dist::Zilla
Author plugin bundles).

It would also open the possibility to include author metadata in the
form of a module. For example, one module I want to release is
Author::MELO::ContributingPolicy that keeps the text I want to add to
all my modules POD with instructions on how to best contribute to my
modules.

Other interesting concept to be explored would be a
Author::MELO::Preferences which would give access to some personal
information (what author.json currently has), and provide hints to
other modules (which browser I prefer, or which bug tracking system I
rather use, and so forth).

Thanks for your time,
-- 
Pedro Melo
@pedromelo
http://www.simplicidade.org/
http://about.me/melo
xmpp:m...@simplicidade.org
mailto:m...@simplicidade.org


Re: RFC: the Author:: namespace

2012-09-07 Thread sawyer x
On Fri, Sep 7, 2012 at 12:43 PM, Pedro Melo m...@simplicidade.org wrote:

 Hi,

 I would like to propose the Author:: namespace as a place for all of
 our personal modules that don't fit into any other namespace, for
 public experimental modules, and for author metadata.


I don't understand why people upload things to CPAN that are specifically
exclusively without-a-doubt on-purpose *just for them*?

People always say hey, if it's useful for even one person, it should be
out there, but these are things that are on purpose only useful and meant
for the author. Why upload them? CPAN is not our private repository. It's
not our backyard shed, it's not our personal storage. Why keep doing this?

I seriously don't understand it, and I think people should stop doing it. I
personally have my personal stuff either on my personal Git repository or
on my Github repository. It's *my* stuff. I try to upload stuff to CPAN
that can (might) be useful for others too, hopefully.

s.


Re: RFC: the Author:: namespace

2012-09-07 Thread sawyer x
On Fri, Sep 7, 2012 at 3:37 PM, Leon Timmermans faw...@gmail.com wrote:

 On Fri, Sep 7, 2012 at 12:47 PM, sawyer x xsawy...@gmail.com wrote:
  I don't understand why people upload things to CPAN that are specifically
  exclusively without-a-doubt on-purpose just for them?
 
  People always say hey, if it's useful for even one person, it should be
 out
  there, but these are things that are on purpose only useful and meant
 for
  the author. Why upload them? CPAN is not our private repository. It's not
  our backyard shed, it's not our personal storage. Why keep doing this?
 
  I seriously don't understand it, and I think people should stop doing
 it. I
  personally have my personal stuff either on my personal Git repository
 or on
  my Github repository. It's my stuff. I try to upload stuff to CPAN that
 can
  (might) be useful for others too, hopefully.

 I can see the use of having a Task::BeLike::ME distribution, so that
 whenever you need to set up an account in a new environment a simple
 «cpanm Task::BeLike::ME» will do the trick. It's not like such
 distributions really put much weight on the infrastructure.


It's not about putting weight strain on CPAN mirrors (though I'm not sure
it's impossible to make such a claim), but of the pollution of CPAN. CPAN
is meant to be a public repository, not a private stash. I have my bunch of
things that I like to use too: my bashrc file, my Git aliases, Git terminal
highlighting (a tweak I did off a tweak Pedro Melo did off a version Yuval
Cogman did, if I recall correctly), my base Dist::Zilla dist.ini file, my
ssh keys, and so on. I keep them on Github.com and on my private personal
repository.

When I reach a new machine, I clone both and set things up. I used to also
have a bash script that ran cpanm $MODULES to install the modules I use
frequently.

The point is plainly that CPAN is not our DreamHost/Linode/etc. account to
just upload files that we destine exclusively for our personal use. It's a
place to upload things *others* could use (maybe, hopefully). I think it's
just improper and should be avoided. We want to reduce the ratio is useless
to useful things, and this is a good place to start. :)

(also, Pedro is awesome, I just think it should be noted)


Re: RFC: the Author:: namespace

2012-09-07 Thread Dave Rolsky

On Fri, 7 Sep 2012, sawyer x wrote:


It's not about putting weight strain on CPAN mirrors (though I'm not sure it's 
impossible to make such a claim), but of the pollution of CPAN. CPAN
is meant to be a public repository, not a private stash. I have my bunch of 
things that I like to use too: my bashrc file, my Git aliases, Git
terminal highlighting (a tweak I did off a tweak Pedro Melo did off a version 
Yuval Cogman did, if I recall correctly), my base Dist::Zilla dist.ini
file, my ssh keys, and so on. I keep them on Github.com and on my private 
personal repository.


I think it's also worth noting that every extra upload has the potential 
to show up in search results. If the thing you're uploading isn't useful 
to anyone else but it shows up in a search result, you've just made the 
search result a little less useful.



-dave

/*
http://VegGuide.org   http://blog.urth.org
Your guide to all that's veg  House Absolute(ly Pointless)
*/


Re: RFC: the Author:: namespace

2012-09-07 Thread Alders Olaf


On 2012-09-07, at 12:20, Dave Rolsky auta...@urth.org wrote:

 On Fri, 7 Sep 2012, sawyer x wrote:
 
 It's not about putting weight strain on CPAN mirrors (though I'm not sure 
 it's impossible to make such a claim), but of the pollution of CPAN. CPAN
 is meant to be a public repository, not a private stash. I have my bunch of 
 things that I like to use too: my bashrc file, my Git aliases, Git
 terminal highlighting (a tweak I did off a tweak Pedro Melo did off a 
 version Yuval Cogman did, if I recall correctly), my base Dist::Zilla 
 dist.ini
 file, my ssh keys, and so on. I keep them on Github.com and on my private 
 personal repository.
 
 I think it's also worth noting that every extra upload has the potential to 
 show up in search results. If the thing you're uploading isn't useful to 
 anyone else but it shows up in a search result, you've just made the search 
 result a little less useful.

Very true. Although putting this stuff in its own namespace makes it easier to 
exclude from search results. I also don't find most of the author specific 
stuff to be useful, but if it has to be there it would be cleaner to segregate 
it into its own namespace. 
 

Olaf

Re: RFC: the Author:: namespace

2012-09-07 Thread Pedro Melo
So I guess the answer is no :)

Thanks for you comments, appreciated.

On Fri, Sep 7, 2012 at 10:43 AM, Pedro Melo m...@simplicidade.org wrote:
 Hi,

 I would like to propose the Author:: namespace as a place for all of
 our personal modules that don't fit into any other namespace, for
 public experimental modules, and for author metadata.

 Each author would release under his own PAUSE ID. My own namespace
 would become Author::MELO and my modules would be placed under that.

 Modules under the Author namespace would be available to include as a
 dependency on each author projects, but not under other CPAN
 distributions outside the same Author namespace. If you wish to use a
 Author module, you should work with the author to move it to one of
 the current namespaces.

 I think this would allow us to remove a lot of per-user modules that
 have popped up in the past (stuff like Task::Belike::* and Dist::Zilla
 Author plugin bundles).

 It would also open the possibility to include author metadata in the
 form of a module. For example, one module I want to release is
 Author::MELO::ContributingPolicy that keeps the text I want to add to
 all my modules POD with instructions on how to best contribute to my
 modules.

 Other interesting concept to be explored would be a
 Author::MELO::Preferences which would give access to some personal
 information (what author.json currently has), and provide hints to
 other modules (which browser I prefer, or which bug tracking system I
 rather use, and so forth).

 Thanks for your time,
 --
 Pedro Melo
 @pedromelo
 http://www.simplicidade.org/
 http://about.me/melo
 xmpp:m...@simplicidade.org
 mailto:m...@simplicidade.org



-- 
Pedro Melo
@pedromelo
http://www.simplicidade.org/
http://about.me/melo
xmpp:m...@simplicidade.org
mailto:m...@simplicidade.org


Re: RFC: the Author:: namespace

2012-09-07 Thread Serguei Trouchelle

sawyer x wrote:


I don't understand why people upload things to CPAN that are specifically 
exclusively without-a-doubt on-purpose *just
for them*?


Because it's convenient for them.


People always say hey, if it's useful for even one person, it should be out 
there, but these are things that are on
purpose only useful and meant for the author. Why upload them?


You can address this question to every Acme:: author. 95% of Acme:: modules aren't even useful, though no one complains 
about this (usually).



CPAN is not our private repository. It's not our backyard shed, it's not our 
personal storage. Why keep doing this?


I've never seen any description what CPAN is -- apart from the fact it's a collection of some Perl modules and scripts. 
Some of them are not even free.



I seriously don't understand it, and I think people should stop doing it. I 
personally have my personal stuff either on
my personal Git repository or on my Github repository. It's *my* stuff. I try 
to upload stuff to CPAN that can (might)
be useful for others too, hopefully.


Personally I try to not care about things that have no direct impact on me.
If someone wants to establish a CPAN Police Force, they can better do something with obviously malicious things like 
this one: http://search.cpan.org/dist/CPAN-Index/


--
S.T.