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 are clearly labelled by being in the Task::BeLike
> and PluginBundles::Author namespaces. This is still bad.

I like Task::BeLike:: modules a lot. I check them from time to time to
see what other people are using. It's a great way to discover modules
you might be missing. In fact, a cool service would be collecting all
those modules, and provide a list of the most popular.


>> 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.

That's a lousy argument :)

With that atitude nothing will ever get done.Stuff get's done when
somebody is unhappy with something and has the access and time to do
it.


>> 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.


>> > 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 using CPAN to put your personal stuff. You're
> using CPAN to replace Github.

No. I'm using CPAN to store perl modules. I using CPAN because I know
I can use it on any system or service that says "We support Perl
projects". I'm using CPAN because everything I upload there can be
used as a dependency.


>> 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".
>
> That's a fair point. I will stipulate that if anything, the Author::
> namespace is probably nicer than all those that already exist.
>
> Still, the point wasn't "could we move stuff from one point to another", but
> "if you're raising the idea of putting even another namespace for even more
> things, I'd like to draw your attention to the fact that I think that whole
> my-personal-CPAN-inside-CPAN is a bad idea".

Yeah, I understand you POV. I just think you are wrong to think that,
just because it's personal, it doesn't have value to others.


>> What do you think?
>
> I appreciate you very much, but I find this idea bad, and I hope people stop
> doing such things.
>
> I've discussed it with several people at YAPC (both ::NA and ::EU) and
> overall I got the same tone: "it's nice that we can have it, but it would be
> nicer if people wouldn't do it".

Well, I will not upload stuff to Author unless I see acceptance here,
that goes without saying. I don't like that there isn't a solution
using CPAN for this. It seems wasteful to me to use other stuff when
CPAN already covers this.

Thanks for the time you took to reply to me, appreciated.

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

Reply via email to