Beefy Boxes and Bandwidth Generously Provided by pair Networks
There's more than one way to do things

Replacment for Data::Diver due missing license

by werner (Acolyte)
on Jul 31, 2013 at 11:50 UTC ( #1047239=perlquestion: print w/replies, xml ) Need Help??
werner has asked for the wisdom of the Perl Monks concerning the following question:

Hi all,

I've just finishing the biblatex-biber package and I'd like to submit this for our distribution[1] here. Now after hunting down problems with perl 5.18 comptiblity (compare with [2]) I'm running onto the problem that the perl module Data::Diver does not have any license information and this will not allow me to submit the package perl-Data-Diver to the distribution project as the leagal people will not accept packages without license or with a proprietary license. Even if the perl module Data::Diver is shown in the perfaq4 manual/documentation page, this module is a nogo for any distribution ([3]). I've tried to contact the author and also get one answer [4] but it seems that the author does not like to change/add a license. As a desperate bid I'm now looking for a replacement of the Data::Diver module.


  • [1]
  • [2]
  • [3]
  • [4]

Replies are listed 'Best First'.
Re: Replacment for Data::Diver due missing license
by tobyink (Abbot) on Jul 31, 2013 at 12:36 UTC

    tye said he'd update it; just be a little more patient.

    Maybe you could make it a little easier on him by forking the repository, adding the Perl 5 licence, and submitting a pull request? Then he just needs to accept the pull, make dist and upload.

    package Cow { use Moo; has name => (is => 'lazy', default => sub { 'Mooington' }) } say Cow->new->name
      I've done this with ... let's see if Tye will like and accept this. AFAIK I'm not the only one having trouble with Data::Diver. Maybe both openSUSE and Debian people have to drop biber due the missing license of Data::Diver

        I have included this comment on your pull request as well, but it would probably be a good thing to check out the meta-spec as well and update the META.yml file.


Re: Replacment for Data::Diver due missing license
by daxim (Chaplain) on Jul 31, 2013 at 11:59 UTC
Re: Replacment for Data::Diver due missing license
by n.preining (Initiate) on Aug 29, 2013 at 06:18 UTC
    Hi Werner,

    as expected, you also stumbled on that. I was fed up with the old biber in Debian so I decided to give it a shot and remove Data::Diver from the biber code. It only uses the Dive function, and none of the exotic features of Data::Diver.

    I have created a Dive function in Biber::Utils.p, and removed all the references to Data::Diver in Build.PL, META.*, lib/Biber/, lib/Biber/

    The function is trivial, it does not implement everything, but I guess it is enough for biber at the moment.

    If anyone wants to comment on it, here it is:

    sub Dive { my ($ref, @keys) = @_; return unless defined($ref); for my $k (@keys) { if ($k =~ m/^-?\d+$/) { $ref = $ref->[$k]; } else { $ref = $ref->{$k}; } } return $ref; }

    Unfortunately Debian is going through perl transition to 5.18 now, so many of the necessary modules are still not updated, so I cannot run tests with actual biber, but I tried the calls in the POD docs of Data::Diver and they worked as expected.

    Let us extended that function a bit and provide a replacement for Data::Diver if the author does not want to provide a license.

    Norbert, TeX Live Team & Debian TeX Team

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1047239]
Front-paged by Corion
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (5)
As of 2018-05-22 08:45 GMT
Find Nodes?
    Voting Booth?