Beefy Boxes and Bandwidth Generously Provided by pair Networks
P is for Practical

Protecting Perl Code

by Anonymous Monk
on Mar 19, 2000 at 01:14 UTC ( #5617=perlquestion: print w/replies, xml ) Need Help??
Anonymous Monk has asked for the wisdom of the Perl Monks concerning the following question:

I use ActivePerl on Windows 95, and I noticed that it's too easy to highlight the file, right-click it, select 'Open With...' and open it with notepad. Is there any way at all to, I don't know, like, encode my code? Because Perl is an interpretive language, anyone can look at code and just steal it! Imagine working for months or even years on a gigantic project, just to have someone steal my code! And please don't say I can just copyright it, because what are the chances people are going to listen to it? Just change the copyright info, and voila! It now says it's someone else's program, and I have no proof that it's mine! Any help is appreciated and I thank you in advance

Replies are listed 'Best First'.
Re: Protecting Perl Code
by neshura (Chaplain) on Mar 19, 2000 at 01:38 UTC
    Send me a copy of your code and I'll tell you if it's worth stealing.

    No, okay, are you asking this question seriously? Really? Cross your heart and hope to die?

    Alrighty then. Theoretically, you could compile your code AND use a highly restrictive license AND not ever show anybody your work without an NDA. Others here have excellent arguments against these sorts of things, but it is possible. See the following:

    If you don't want to do that, then use another language. Perl is NOT for the insecure.

    e-mail neshura

Re: Protecting Perl Code
by turnstep (Parson) on Mar 27, 2000 at 22:47 UTC

    There is really no easy way to do it in perl. There are workarounds, but they are probably more trouble than they are worth. I assume these are scripts you are sending to other people? Two points:

    • 1) Use a C executable to stop "source-code" theft. Even that can be somewhat decoded.
    • 2) Why do you think a copyright would not work? If it took months and years, as you say, then it should be very, very unique and easily identifiable as yours. Sure, someone may steal it and use it, but if you find someone (e.g. a business competitor) doing so, you can sue them and get them to stop.

    Frankly, you are not going to find a lot of support in the Perl community, as perl has a very open (and open-source) philosophy than encourages sharing your source code, learning from others, and a deep dislike for all things secret and propreitary.

    As a final note, you could always at least make it *difficult* for people to steal and modify your code by obfuscating it. See the Obfuscated Code section for some bad (or good, depending on how you look at it) examples.

RE: Protecting Perl Code
by justinNEE (Monk) on Mar 19, 2000 at 07:53 UTC
    I bet you already have the PDK installed? read PDK Documentation on PerlApp. It can bundle(bind?) your stuff for you... you have to purchase a license from activestate if you want to make freestanding applications.
Re: Protecting Perl Code
by Anonymous Monk on Mar 19, 2000 at 11:01 UTC
    I remember the shoulders you are standing on...
Re: Protecting Perl Code
by Anonymous Monk on Mar 19, 2000 at 20:24 UTC
    Hey, make sure you encode your script with MD5. It is really secure and makes a very compact storage record too. _Nobody_ will be able to get at the code.
      Oh, and be sure to securely delete the original from your storage media. Can't be too safe against people breaking in to steal things...

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://5617]
Approved by root
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others taking refuge in the Monastery: (5)
As of 2017-05-30 04:10 GMT
Find Nodes?
    Voting Booth?