Re: Compiled PHP Questions
From: Ashmodai (ashmodai_at_mushroom-cloud.com)
Date: 01/28/05
- Next message: DaRemedy: "Re: Poll and filesize help"
- Previous message: HawkEye: "Re: Dynamic Pages"
- In reply to: Lord Hasenpfeffer: "Re: Compiled PHP Questions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Fri, 28 Jan 2005 23:49:49 +0100
Lord Hasenpfeffer scribbled something along the lines of:
> My concern is being able to protect my source code from everyday prying
> eyes so that I can deploy custom web-applications on a customer's
> web-server without giving it all away to those who could casually steal
> my code in the future if it was available in plaintext form.
That is the problem with PHP. PHP was developed as an open-source
language with sharing of code in mind. Thus it was never intended to be
compilable, to my understanding.
I think the best way to prevent complex web applications from being
stolen is to write them in a compilable language (such as C++ -- which
might be overkill here -- or Java languages) and call the compiled
binary via PHP wherever you want to do magic nobody else should be able
to comprehend.
Usually most customers are not skilled enough to actually "steal" parts
of your codes and will attempt to copy large portions and work the new
code around them or just "customize" (i.e. make adjustments to) your
code and sell it as theirs.
It is quite easy to tell they are violating the license (or acceptable
use policy) in that case and a nice letter asking them to cease their
illegal actions or face the consequences will work quite well under
those circumstances -- this is how vBulletin managed to stay commercial
(Google is your friend).
Only few people will actually be capable of learning from your code and
incorporating unique solutions into their future works and that will
usually be kinda hard to prove (or to notice).
The simple fact their code contains elements similar to yours (even more
so when the variable names are different) doesn't prove they are copying
your work. As long as software patents are not introduced in your
country there will be no basis for any legal action.
> I realize that anything I compile can be reverse-engineered given the
> prerequisite amount of time, tools and know-how but that is not my
> concern. I'm really just seeking a better level of protection than no
> protection at all which is what I'm working with now.
Reverse-engineering is happening all the time and unless someone is
trying to make a cheap copy of your work and releases it with the same
brand name (if it is trademarked), you'll have a hard time taking legal
action against them.
Usually reverse-engineering will not be your problem. Especially not if
we're talking about PHP applications. There are few things in PHP which
are not available as open-source projects, so most people you might
suspect of reverse-engineering your work could just happen to be using
an open-source version doing the same thing which existed long before
you released yours.
The only things that can sell a PHP application -- IMO -- are
documentation, customer service (installation, guidance, maintenance,
etc), professionality and customizability (you customizing the product
for them, not them doing it on their own).
In other words, you need to provide the things most open-source projects
don't provide (at least in the eyes of the general public).
> Having always worked in a PHP as Apache-module environment, I'm just
> confused as to how to "make the jump" to working with compiled PHP and
> what I can expect to encounter once I acquire a PHP compiler (i.e. what
> I will and will not be able to do with compiled PHP that I currently do
> routinely with PHP in plaintext).
As I understand it, most applications for compiled PHP are commercial.
Not like there wouldn't be some kind of logic behind it, everything else
would strike me as irony.
Compiled PHP instantly stops being PHP. Just as C++, once compiled,
doesn't have much in common with its original form anymore.
Compilation not only makes the original code incomprehensible for every
normal human being but also converts it into another form, namely a
binary stream.
That means it has already been interpreted, converted and then stored.
I haven't read the PHP module's source, but as far as I know the same
(just that the storing is temporary in the form of caching) happens when
a normal PHP script is executed on a server.
As the PHP module is open-source you could (AFAIK) modify it or at least
write a plugin in order to allow processing pre-compiled PHP code
alongside non-compiled PHP code, but that's only if what I think to have
read about the workings of PHP is accurate and the format the commercial
compiler produces is identical to the one cached (compiled) PHP code has.
Good luck anyway. I hope you can find an easy solution to your problem
-- although I'd think using a different language would be the easiest one.
-- Ashmo
- Next message: DaRemedy: "Re: Poll and filesize help"
- Previous message: HawkEye: "Re: Dynamic Pages"
- In reply to: Lord Hasenpfeffer: "Re: Compiled PHP Questions"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|