You have piggy-backed off the countless eons of work by others writing, developing and debugging Perl and various CPAN modules to produce a useful application for your job. You know it has commercial value because you have distributed it at work and people like it for reasons that can be generalized (i.e. these reasons are not specific to the task itself). You have also been asked many times by your employers not to disappear when you leave and take your Perl magic with you.

Have you been in a situation like this? What did you do? What should you do? Note that the sort of app I'm talking about is not when that would necessarily benefit the Perl community but rather its value is derived by its dependence on things done out in the world of business and academia. The actual number of people with Perl (or programming) abilities in its target audience is likely to be minuscule.

I'm not ashamed to say that my first thought was: can I profit? (Note that I have no agreement with my employer, a non-profit, that they own any part of my code.) If so how should I sell it? As shareware? Open source it and ask for donations? Directly sell to potential customers? The program itself is not terribly exciting and is rather niche. We're not talking anything earth-shattering here, just a nice Perl touch to a task that's usually done over and over again manually, making things easy and saving hours of work.

Aside from asking for good stories, obviously I'm also asking if there's earnings potential in writing useful code, and how you should go about achieving it. I know I'm jumping into a shark's tank here with a question like that but I believe people should be rewarded for their work if it has real value. I know there's an argument that you should open source everything and get a job based on your code's notoriety, but I'm not exactly in that position as I'm not a professional programmer, nor do I intend to become one. I thank everyone who shares their opinion.

Update:++ to all who answered, they provided exactly the discussion I was looking for. My attempt to summarize their advice is as follows:

And yet (and I didn't think this would happen), several people who emphasized the appeal of open source have convinced me, in this case. My app is too small to net any amount of serious \$\$ - at best it would provide me with "pocket change." As stated I am not a professional and there are likely to be bugs and shortcomings, and I and I alone would be under pressure to fix them. Marketing and distributing it and getting people to pay me would require a serious effort that probably isn't worth it in this case. And, above all else, there are two major benefits of open source:

  1. I get to consult with smarter people than I, making the end result that much better (that is a major goal for me - I want the software to be good).
  2. Freeing the code to spread is likely to result in a much wider distribution in this case, and if I achieve a small degree of notoriety with the program it could still help with non-programming job prospects because it demonstrates that I am a productive worker.
Again I thank everyone who answered, please feel free to correct me.

In reply to Selling your Perl app by whakka

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.