Re: RFC: the Author:: namespace
* 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
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
# 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.