in reply to OT: Getting at source code of CGI scripts

On a properly configured webserver, there is no way to get at the source code of any CGI script. But you won't need any of that, as you only have to check out the latest version of the scripts you have in your source code management tool, and compare the output of this script against the output of the program running on the website.

The steps are quite simple:

  1. Get a printout (or diff) of the output of your script and the productive output online.
  2. Mark up where you think they modified your source code.
  3. Contact your legal counsel to see whether pursuing this has merit. Especially ask whether your existing contract preventing them from modifying your script is valid.
  4. Provided that your legal counsel says that you won't be laughed out of court, send them a notice that you suspect them to be in violation of your software license.
  5. Either they restore your old version of the software, or tell you they already use a completely different software manufactured by somebody else. In both cases, they'll tell you.
  6. End of the story.

Personally, I don't see why anyone would enter a contract for software creation where they don't have the right to modify the software that was customized to them, and I'm not sure whether your case would be a case in a court. You can simply cancel all support for them, and void your support contract with them, as they modified the software in a way that the support contract does not cover.

But nothing of this has anything to do with Perl, and only with contract law. And I am not a lawyer, and this is not legal advice.

perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web

Replies are listed 'Best First'.
Re: Re: OT: Getting at source code of CGI scripts
by graff (Chancellor) on Jan 19, 2004 at 18:26 UTC
    ... check out the latest version of the scripts you have in your source code management tool, and compare the output of this script against the output of the program running on the website.

    That might not be possible, if the script involves using data that is local to the server (e.g. a database, config files or whatever) to determine what the output should be. If the author doesn't have access to the currently running source code, then access to such other data is likely to be lacking as well.

    Something like l3nz's idea below might be applicable, unless one of the customer's modifications to the source involves removing the self-identification logic.