I charge per hour. So people pay for my time, not my code. Still, in general, I try to get in writing that the buyer is free to do with it whatever they want, but so am I. This usually doesn't work - most clients request that nothing be disclosed. That's fine with me too, but then it ends up more expensive for them, because I have to do everything from scratch.

The ultimate form of code-reuse, even if you get paid for it, is CPAN. DBIx::Simple started as part of a paid project. I discussed the possibility of opening its source with my client, and after hating it at first, he loved it when I explained that this would mean he'd get updates for free. It has worked out very well practically, but not financially. I got paid for the initial versions, but not after that, while it made almost all my other work much easier. When paid by the hour, that isn't an advantage :)

Whatever you do, discuss the options and make sure everything is in writing. Some of my early projects were all done with complete ignorance of the juridical aspects of programming, and that has bitten me many times already. It really is a problem if it is unclear who owns the code, especially when you code modularly and want to re-use prior work.

Again, modules are great when you look at practice, but they do lower income by much. I'm still looking for a good solution to this problem.

Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }


In reply to Re: On Code Ownership by Juerd
in thread On Code Ownership by mrborisguy

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.