Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Software::License::CusUser3Contributed Perl DocumeSoftware::License::Custom(3)

NAME
       Software::License::Custom - custom license handler

VERSION
       version 0.103012

DESCRIPTION
       This module extends Software::License to	give the possibility of
       specifying all aspects related to a software license in a custom	file.
       This allows for setting custom dates, notices, etc. while still
       preserving compatibility	with all places	where Software::License	is
       used, e.g. Dist::Zilla.

       In this way, you	should be able to customise some aspects of the
       licensing messages that would otherwise be difficult to tinker, e.g.
       adding a	note in	the notice, setting multiple years for the copyright
       notice or set multiple authors and/or copyright holders.

       The license details should be put inside	a file that contains different
       sections. Each section has the following	format:

       header line
	   This	is a line that begins and ends with two	underscores "__". The
	   string between the begin and	the end	of the line is first depured
	   of any non-word character, then used	as the name of the section;

       body
	   a Text::Template (possibly a	plain text file) where items to	be
	   expanded are	enclosed between double	braces

       Each section is terminated by the header	of the following section or by
       the end of the file. Example:

	  __[ NAME ]__
	  The Foo-Bar License
	  __URL__
	  http://www.example.com/foo-bar.txt
	  __[ META_NAME	]__
	  foo_bar_meta
	  __{ META2_NAME }__
	  foo_bar_meta2
	  __[ NOTICE ]__
	  Copyright (C)	2000-2002 by P.R. Evious
	  Copyright (C)	{{$self->year}}	by {{$self->holder}}.

	  This is free software, licensed under	{{$self->name}}.

	  __[ LICENSE ]__
		      The Foo-Bar License

	  Well... this is only some sample text.  Verily... only sample	text!!!

	  Yes, spanning	more lines and more paragraphs.

       The different formats for specifying the	section	name in	the example
       above are only examples,	you're invited to use a	consistent approach.

METHODS
   new
	  my $slc = Software::License::Custom->new({filename =>	'LEGAL'});

       Create a	new object. Arguments are passed through an anonymous hash,
       the following keys are allowed:

	 filename - the	file where the custom software license details are stored

   load_sections_from
	  $slc->load_sections_from('MY-LEGAL-ASPECTS');

       Loads the different sections of the license from	the provided filename.

       Returns the input object.

   section_data
	  my $notice_template_reference	= $slc->section_data('NOTICE');

       Returns a reference to a	textual	template that can be fed to
       Text::Template (it could	be simple text), according to what is
       currently loaded	in the object.

MORE METHODS
       The following methods, found in all software license classes, look up
       and render the template with the	capitalized form of their name.	 In
       other words, the	"license" method looks in the "LICENSE"	template.

       For now,	the "meta_name"	and "meta2_name" methods return	"custom" if
       called on the class.  This may become fatal in the future.

       o   name

       o   url

       o   meta_name

       o   meta2_name

       o   license

       o   notice

       o   fulltext

       o   version

AUTHOR
       Ricardo Signes <rjbs@cpan.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2016 by Ricardo Signes.

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.24.1			  2016-04-23	  Software::License::Custom(3)

NAME | VERSION | DESCRIPTION | METHODS | MORE METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Software::License::Custom&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help