“Information wants to be free,” or so they say.
The reality is, businesses as well as individual developers often want to protect their work from being shared or stolen, which is why they use software such as IonCube.
For this reason, more and more businesses are looking at ways to protect their source code from their competitors, even if it means restricting code that is based in open source philosophies.
IonCube is one such encoding solution designed to protect PHP programming code.
What is PHP Programming Code?
PHP is an open source programming language. PHP stands for PHP: Hypertext Preprocessor, which is a “recursive acronym.” This is an acronym that refers back to itself, much like a paradoxical time loop in science fiction.
PHP is generally a scripted language that is not compiled prior to use but run through an interpreter. For this reason, PHP code is easily available in its entirety on any server it is running on. If you have access to the server where the PHP code is, then you can see, copy, and replicate that code.
It is because of this openness that businesses want to find a way to lock down PHP code. This is not just because they don’t want code to be stolen. Sometimes, they don’t want the code to be messed with, because that could screw up an application.
Why Open Source Philosophy Matters
Before we talk a bit more about IonCube, it is worth taking a look at the philosophy of open source and whether using a solution such as IonCube is in line with this philosophy.
What is Open Source Philosophy and Free Software?
The idea of open source code is that people and even businesses benefit more in the long run from sharing rather than hoarding or blocking access to code and information.
These principles are exemplified by the Free Software Foundation, which has been promoting open source and free software since the early days of the Internet.
PHP, as a programming language, is itself open source and part of this movement to “keep information free.”
Here is just part of the open source philosophy from the GNU Project of the Free Software Foundation:
Free software means that the software's users have freedom. (The issue is not about price.) We developed the GNU operating system so that users can have freedom in their computing.
Specifically, free software means users have the four essential freedoms: (0) to run the program, (1) to study and change the program in source code form, (2) to redistribute exact copies, and (3) to distribute modified versions.
Software differs from material objects—such as chairs, sandwiches, and gasoline—in that it can be copied and changed much more easily. These facilities are why software is useful; we believe a program's users should be free to take advantage of them, not solely its developer.
People who are for open source code are very passionate about it. It perhaps sounds idealistic and, on the surface, unrealistic, but the lofty goal of free software is freedom for people.
Why You Should Care About Open Source Philosophy
By using proprietary software such as an IonCube to lock down programming code built with a free open source language like PHP, you are directly violating the spirit of what built PHP in the first place.
By some users and developers, you might be seen as a cynical exploiter of other people’s work and generosity, since you are using open source platform (PHP) to create closed source proprietary code.
Depending on the project you are working on, locking down your PHP code could potentially cause more problems than it solves. It could potentially create negative feelings about your software product, turn off talented developers who might contribute to your project, or reduce the innovation you might receive by keeping your code open source.
At its worst, using PHP code lockdown software like IonCube could potentially attract hackers who are determined to mess with your project just to be ornery and contrary towards anyone violating the spirit of open source.
While this last scenario is not very likely, it is worth considering whether the public relations aspects of violating open source philosophy is worth the additional code “security.”
The Benefits of Going Open Source
Going open source may be scary for some businesses, but we have already seen very successful examples of companies that both embrace open source while profiting from it.
Supporting open source in a spirit of collaboration instead of competition or scarcity has a number of benefits. This includes increasing the speed of innovation as well as potentially attracting new developers to contribute to your project. (They might even do this for free.)
Many companies offer open source code while making money off of premium support and enterprise services. This includes the companies that are behind major open source powerhouses Drupal and WordPress, both content management systems that are available for free.
For example, Acquia is company behind Drupal, and they have more than 3500 customers and 800+ employees, all in the business of providing enterprise solutions based off the open source Drupal content management system.
In other words, open source software can be big money, and you do not need to hide your code to make a mint off of it.
For these reasons, it is important that you take a serious evaluation in your company about your entire software development strategy. By reviewing the benefits and potential pitfalls of open source versus closed source, you can make a better decision about whether to go with a solution such as IonCube.
Now, onto PHP source code protection and IonCube itself.
What are PHP Source Code Protection Solutions?
Quite a few free and commercial PHP source code protection software applications exist. They have different ways of protecting the code and fall under three main types:
This solution won’t stop an experienced developer from figuring out the full PHP code. It might stop a newbie or a client from reading it.
This type of code translates PHP into something that is much harder to understand. You can find free online tools to do this.
Once again, this does not provide a strong level of security.
Encoders basically take raw PHP code and turn it into a “compiled” version of the code so you can’t access or modify the original source. This makes the PHP software more like a PC program, which is an “executable” standalone program that does not require an interpreter to run.
IonCube is a PHP encoder.
The problem with encoders is that they can make PHP slower and not as fast or elegant as the original interpreted version.
No free or open source encoders exist because, by their very nature, these types of encoding software require proprietary keys. This goes against the philosophy of open source, which is why you cannot find a free encoder.
What is IonCube?
IonCube is a PHP encoding service that hides your PHP source code from prying eyes. It basically locks down the code so only the developer has access to it.
As of this writing, the IonCube software costs $199 for the basic version, $299 for the Pro and $399 for the top level called “Cerberus.” The more advanced versions can restrict PHP code to run only on certain computers and can even time limit the code from running after a certain date.
IonCube runs on Windows, Linux, macOS, and works with PHP versions 4.3.4 to 7.1. It includes a graphical interface as well as a command line utility. You can also use it to obfuscate PHP code.
As only a few PHP encoders are available on the market, if you are looking for one, IonCube is a decent enough service. Other commercial options you might want to review include NuCoder, SourceGuardian, PHTML Encoder, and Zend Guard.
Is IonCube Really Worth It?
Our opinion is that open source language should generally be respected and not turned into proprietary, locked down code. If you want to do that, use a commercial platform instead. Many successful examples of open source supporting businesses exist, and paranoia over software stealing is a backwards way of looking at code.
If you do choose to encode your PHP, IonCube is one of a few companies that offers the service, and will probably do the job for you.