in reply to Module::Build and the PPM

Im with tilly on this one. In principle Module::Build is a good idea. In follow through its been terrible. Breaking the CPAN build process was a _big_ mistake and IMO has essentially ensured that Module::Build will _never_ replace ExtUtils.

3. Why has Module::Build decided adding 'PPM-' to the beginning a good idea?
4. Why has Module::Build suddenly decided to affect CPAN without conferring with the module authors list, or the CPAN/PAUSE maintainers, or considering the bigger effects.

Personally I think the answers to these two questions are plain and simply Hubris. They think that its up to them to decide aspects of the future of perl without consultation with as much of the community as possible. Once they realize that there are tons of hackers out there who will ignore their work because of their attitude I'm hoping that they'll see the light and start playing ball. Splintering the community for the reasons they have is just plain bad for perl. Its sad.


---
demerphq

    First they ignore you, then they laugh at you, then they fight you, then you win.
    -- Gandhi


Replies are listed 'Best First'.
Re: Re: Module::Build and the PPM
by autarch (Hermit) on May 18, 2004 at 21:56 UTC

    4. Why has Module::Build suddenly decided to affect CPAN without conferring with the module authors list, or the CPAN/PAUSE maintainers, or considering the bigger effects.

    Personally I think the answers to these two questions are plain and simply Hubris. They think that its up to them to decide aspects of the future of perl without consultation with as much of the community as possible.

    Actually, the answer to #4 is really, really simple. Barbie is on crack. Module::Build has nothing to do with people uploading PPMs to CPAN. Module::Build has some code that attempts to build a PPM. If that code has problems, patches and/or bug reports should be sent. If people are uploading PPMs to CPAN and this is causing problems, then the person doing the uploading should be contacted and/or PAUSE/CPAN should be modified.

    As for #3, I don't get that naming scheme myself, but I don't think anyone working on Module::Build did it as some sort of "Perl domination scheme", contrary to your rather fevered imagination. If there's a better (aka more standard and accepted) naming scheme, I'm sure Ken would like a patch, especially considering that he doesn't use PPMs himself.

    The paranoia and anger in this whole thread is really wacko. Instead of assuming Ken & co. have some horrible plot, or are motivated by some sort of overwhelming ego, maybe you should consider that Module::Build is still being built, and that for the Win32/PPM side there has been very little input from Win32 people besides Randy Sims and a few others, and basically nothing out of ActiveState. I suspect that those problems Barbie found which are the fault of Module::Build are problems created simply by lack of resources and input.

    Have any of the people doing the complaining in this thread actually chimed in on the Module::Build mailing list?

      Have any of the people doing the complaining in this thread actually chimed in on the Module::Build mailing list?

      Yes. Bug reports and complaints were ignored. When the subject of releasing packages into CPAN _without_ a Makefile.PL came up the reaction was not pleasant. This decision singlehandedly has turned a large part of Perl community against Module::Build. Encouraging people to release unbuildable modules on CPAN was a _bad_ idea, especially as for quite some time no-one on PM on a Win32 box (the single largest group of users of Perl) could even get it installed.

      The paranoia and anger in this whole thread is really wacko.

      Thanks for your comments autarch. With an attitude like that its no wonder you dont get the issues being raised here. Maybe if folks like yourself took the concerns of folks like us a little more seriously Module::Build would be in wider use, and recieve wider encouragement. I know that from observing the CB there is almost nobody championing Module::Build here, and I think that is a reflection of the poor comunity relations (and decisions) made by the group responsible.

      I wish I could be more positive about this actually. I had breakfast with Ken once and I know he is a nice guy. But M::B has definately managed to turn me completely off, and I say that as someone who thought Kens ideas when he presented them were good. (Although iiirc I made the point that breaking the existing Build process was a bad plan even then.)


      ---
      demerphq

        First they ignore you, then they laugh at you, then they fight you, then you win.
        -- Gandhi


        Yes. Bug reports and complaints were ignored. When the subject of releasing packages into CPAN _without_ a Makefile.PL came up the reaction was not pleasant.

        Are you claiming you actually got flamed? I find this hard to believe. Unfortunately, the list archives only appear to be available via the horrid sourceforge archive system, so it's hard to find the thread(s?) you're referring to.

        Regardless, I don't recall seeing many instances of people releasing modules to CPAN with only a Build.PL file and no Makefile.PL of any sort whatsoever, so it appears that the people who've decided to use Module::Build have decided that it's best to include both. Certainly, that's what I do with my modules.

        Thanks for your comments autarch. With an attitude like that its no wonder you dont get the issues being raised here. Maybe if folks like yourself took the concerns of folks like us a little more seriously Module::Build would be in wider use, and recieve wider encouragement.

        Maybe you shouldn't start by accusing the people working on it of being arrogant and criticizing them for things they have no control over (like someone uploading PPMs to CPAN!). That sort of stuff makes it a little harder to listen, since it's hard to find the substance amid the noise being generated.

        For example, if you dislike the PPM- prefix used by default, maybe suggest something else (actually, Barbie did, and his suggestions seem reasonable). It's worth noting that there really doesn't appear to be a standard for this. ActiveState appears to use something like "Foo-Bar-0.01.zip" and Randy Kobes' repository uses "Foo-Bar.tar.gz". If Module::Build were to generate something like this, it would obviously be much more problematic than prefixing it with "PPM-".

        But really, this whole thread starts from a basic misapprehension of Barbie's, which is that somehow that Module::Build (aka, its developers), by making PPM building easier, is therefore responsible when someone uploads it to CPAN. If PPMs don't belong on CPAN (and I'm thinking that they probably don't) then ask the person doing the uploading to stop. Problem solved.

      I recently moved one of my modules over to Module::Build because I don't like make and all the things it entails, and ExtUtils::MakeMaker turned me off due to its complexity and uglyness for expansion.

      The first thing that really annoyed me was, that there was no pass-through Makefile.PL included and that I had to hunt down one of your distributions to find a Makefile.PL so that the make && make test && make install dance still works. I don't like make, but it is a very convenient way to unify my automated nightly testing scripts. For something that claims to be the next best thing, this was a bad decision.

      Recently, I've gone to writing some meta-packages that automate the installation of other modules, and while battling it out with ExtUtils::MakeMaker, I found it actually not that convoluted and ugly, as long as it is about generating one-shot makefiles and not some ingenious framework to do it all.

      I think that the lack of Win32 feedback mostly stems from people shortly evaluating Module::Build under Win32 and then deciding that it's not worth the bother. If you want acceptance, you will have to actively seek out the people there, and not supporting a proper, automatic CPAN installation will not make people like Module::Build, at least, it made me not like it.

        The first thing that really annoyed me was, that there was no pass-through Makefile.PL included and that I had to hunt down one of your distributions to find a Makefile.PL so that the make && make test && make install dance still works. I don't like make, but it is a very convenient way to unify my automated nightly testing scripts. For something that claims to be the next best thing, this was a bad decision.

        Module::Build has come with Module::Build::Compat for quite some time. Just do this:

        Module::Build->new( module_name => ..., create_makefile_pl => 'passthrough', )->create_build_script;

        There are other options that can be passed to "create_makefile_pl". See Module::Build::Compat for details.

        The nice bit about this is that Module::Build will simply re-generate the Makefile.PL each time you run "./Build dist". So if Module::Build improves compatibility, you just install the new improved version and next time you create a distro tarball, you get the improved version of the Makefile.PL script automatically.

      Barbie is on crack.
      The paranoia and anger in this whole thread is really wacko.
      Only in your post. If people happen to disagree with your point of view, resorting to personal attacks and vitriol only does a disservice to the discussion. At no point in my original post did I personally attack you, Ken or any of the other developers, so why do you feel the need to unleash your venom on me? For the record, despite my past, I don't do and have never done drugs.
      Module::Build has nothing to do with people uploading PPMs to CPAN.
      I think you need to carefully think that reasoning through. People use Module::Build to create distributions so they can distribute them to a wider audience. Part of that distribution process, in many cases, involves uploading to CPAN. Why should it be automatically assumed that someone who creates a ppm package, using M::B, will not follow the same route as they have for other distributions? While it might not directly upload to CPAN, it is part of the process that people use to upload their modules onto CPAN.
      If people are uploading PPMs to CPAN and this is causing problems, then the person doing the uploading should be contacted and/or PAUSE/CPAN should be modified.
      Why deal with the symptoms, which could cause a myriad of unforeseen problems, rather than look at the root of the problem? Blankly assuming you are right and everyone else is wrong, is not going to solve any issues there might be.
      I don't think anyone working on Module::Build did use the naming scheme as some sort of "Perl domination scheme"
      ...assuming Ken & co. have some horrible plot.
      I never said they did, or implied they did. I said that the discussion, both on the M::B list (it would appear) and to a wider audience, was not very well thought through, and the ideas perhaps too quickly implemented. I actually think the bigger aims of M::B are worth achieving, but the steps getting there are increasingly leading to frustration from the wider community. I also wanted to know whether my setup was an isolated case, or whether others has experienced similar problems. It would appear that they do. If I was to ask on the M::B list whether M::B was the latest and greatest, I wouldn't have expected a balanced view. I was hoping that those that have had problems were more likely to be residing here than on a module list, for which they have little or no interest in joining.
      Have any of the people doing the complaining in this thread actually chimed in on the Module::Build mailing list?
      Wildly claiming I am "on crack", have a "fevered imagination" and an "overwhelming ego" is nothing short of a personal attack. I am extremely doubtful Ken and the other developers share such vitriolic ideas towards me, and they are not deserving of this discussion. Inferring doubts over my mental stability and implying I'm a drug addict is both personally insulting and insulting to the community and M::B developers. Why should I join a mailing list to seek further discussion and hopefully a resolution, when I am now likely to be flamed with personal abuse, which has nothing to do with the problems of M::B and anyone's efforts to find a solution? I would suggest you take a long hard look at how you approach your responses in future and leave the personal insults alone.

      If you want people to get involved with the development, there are better ways of achieving this than your efforts here in this thread.

      --
      Barbie | Birmingham Perl Mongers user group | http://birmingham.pm.org/

        I think you need to carefully think that reasoning through. People use Module::Build to create distributions so they can distribute them to a wider audience. Part of that distribution process, in many cases, involves uploading to CPAN. Why should it be automatically assumed that someone who creates a ppm package, using M::B, will not follow the same route as they have for other distributions? While it might not directly upload to CPAN, it is part of the process that people use to upload their modules onto CPAN.

        I don't see how M::B will ever be able to create PPMs if the functionality isn't just put in there in some form. I still think it's a big jump to go from that to assuming people will upload PPMs to CPAN, and an even bigger jump to think that this should be discussed by the M::B developers before implementing the functionality. When I wrote some of the initial PPM/PPD-related code way back when, my only interest was in trying to make it easier to make PPMs/PPDs for the DateTime modules.

        Why deal with the symptoms, which could cause a myriad of unforeseen problems, rather than look at the root of the problem? Blankly assuming you are right and everyone else is wrong, is not going to solve any issues there might be.

        But there have always been tools to create PPMs. The only difference is that now a tool that creates regular CPAN-ish tarballs includes that functionality. This is not a huge radical change. Regardless, if PPMs don't belong on CPAN at all, there not much to be done besides asking people not to upload them there.

        Wildly claiming I am "on crack", have a "fevered imagination" and an "overwhelming ego" is nothing short of a personal attack.

        Well, I only wildly claimed you were on crack. The fevered imagination I attributed to demerphq, and, the "overwhelming ego" quote you've taken way out of context. I wrote "instead of assuming Ken & co. have some horrible plot, or are motivated by some sort of overwhelming ego ...". That wasn't directed at you or anyone else. If you want to be offended, at least be offended at what I actually said. I'm not even particularly irritated at you, though I think your original post is off the mark, since this problem has a lot more to do with one person uploading something to CPAN than Module::Build. I am irritated at the various responses which seem to just go along with that assumption and then blame that on the fact that there is some sort of attempt by Module::Build to take over the Perl community, or some other ridiculous theory.

        As I've said, if there's a problem with the PPM generation of Module::Build, I think that people who actually use Windows would be greatly welcomed if they have ideas and/or code to contribute, because I know that I, for one, have no freaking clue about Windows, despite having written some of the PPD-related code.