There is another tack that a senior programmer at my job once suggested for our core software: consider it commercial but trust all of your customers to be basically honest. This is not hopelessly naive: it's based on the idea that those who really wanted to rip us off would anyway, no matter what we did, and that our customers were by and large big financial firms with regular internal audits. The upshot is that the monetary difference between "assume everyone's honest" and "lock the stuff down" was not big.

I'll note that this seems to be the approach taken by Sybase overall; the number of licenses that you have access to is just a number in a system table that anyone with "sa" access can update. I assume they've made a business decision that it's not worth a technological restriction.

Now, if your market is mostly small businesses, I can see why the "trust the customer" approach wouldn't immediately be too attractive. However, I would encourage you to consider it, or rather a simple variation: don't enforce your license with technological measures, but with legal ones. As you're doing custom development with each client (you're building them a site), I assume that you have some standard contract with that site. Add the license of the CMS into that standard contract, and make the customer sign it in person rather than having it be one of those click-through licenses that few people read.

Spell out exactly what they can and can't do, and then have a simple reminder in the source code about the terms of the license, in terms of legal boilerplate comments in each file. You might also want to add a bit in the source code so that the CMS knows which domain it's licensed for, and puts an ugly "This is unlicensed" banner at the top of each page when used on an unlicensed site. However, I wouldn't go overboard worrying technological solutions to this ultimately legal problem - legal solutions should be good enough.

--
@/=map{[/./g]}qw/.h_nJ Xapou cets krht ele_ r_ra/; map{y/X_/\n /;print}map{pop@$_}@/for@/

In reply to Re: Protecting our work by fizbin
in thread Protecting our work by bradcathey

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.