I have a client whom makes use of a proprietary banking and transactional gateway through our systems, supplied by a third-party whom provided no source, only details on CLI methods of interface. To facilitate a more accessible method of interface for the software package, I wrote up a fairly comprehensive Perl module which offered a secure and vetted manner by which to interface the package CLI - It should be noted that this module was not written specifically for the client (nor was the client charged for the use of it), but developed rather as an 'in-house' project to improve the functionality of this system for both ourselves (we also use this banking and transactional system) and our clients.
 
(Note : The third-party company which supplied the banking and transactional software did also provide a Perl package to interface this script upon delivery, but the script was so haphazard and poorly written, it was quite obvious that the author did not know a great deal about Perl. This too factored into my motivation to rewrite a more flexible and secure interface API.)
 
Why is aspect of code quality and product ownership important? Well ...
 
This system has run smoothly for the last 6-12 months or so, with a few small patches written along the way to improve functionality or clean up return values. Anyhow, today I have been asked for a copy of all template pages and scripts associated with this client's account (this transactional interface was not the only code built for this client) and while the client has little to no programming knowledge or skill, I have no problems complying with this, except for the banking/transactional interface module. There are a number of reasons for my hesitancy to provide the banking/transactional interface Perl module to this client, some commercial and some simply practical reasons:
 

 
So now I am left torn ... Do I provide the client with this code and follow the ideals of open-source which I (purported) believe so greatly in? Despite the fact that it was never written specifically for them and its commerical dependency upon other elements for operation? Or do I refuse to provide this code, supplying them instead with everything but this module? I am especially upset that this scenario involves Perl, a language and community which I have grown to embrace so strongly and appreciate the open nature omnipresence throughout.
 
This is my dilemma - Your thoughts, ideas and even flames are welcomed as I grapple to come up with the fairest and most just solution for all (including my client).
 

 
Ooohhh, Rob no beer function well without!

In reply to Commercial Security versus Open Source Ideals by rob_au

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.