|Affiliates | Links | Site Map|
Myths About Protected Source Code (Encoded Software)
Let's dispell some myths about encoded scripts:
"Encoded scripts may be vulnerable and my websites can get hacked."
Almost all software packages have vulnerabilities but not all get hacked. Exposed source code can cause a lot of trouble. Let's see for example the classic open source packages like phpnuke or phpbb. Many vulnerabilities are discovered very often and published and hundreds of websites get hacked. That's because source code is available to hackers that spend their time searching for exploits. Without source code, finding exploits is much harder - sometimes almost impossible. A source code copy in the wrong hands or on a vulnerable server is enough for hundreds of hacker communities to get it and cause problems.
"An encoded script is hard to customize."
If a protected script can’t be modified to suit your needs, then unencoded version couldn’t be modified either! Encoding has nothing (or little) to do with the ability for script to be customized. If script is not made with the ability to be customized, skinned, modularized, then source code would be of little value to you. You would have to have a LOT of knowledge, programming skills and the time to write a lot of customization code.
"Encoded scripts are very slow."
Software speed is not only related to the PHP code, that there are many other points to be taken into account, and that PHP source is usually the last reason for speed of code.
Related article: Optimizing PHP
Sometimes, an encoded script is a lot faster than non-encoded version. That’s because when the script is encoded with a good encoder, it is also optimized/compiled.
"My encoded scripts are slow when deal with many users."
When you have 50.000 users, the script is (usually) not the main reason if your site becomes slow. Ask yourself this, if you were to try Office XP on Pentium 1, how fast do you think it would be? Does that mean Microsoft programmers have made a bad product? No, it means that you have to have appropriate hardware. In our case, that means SQL on separate machine, maybe something more powerful (and expensive) than MySQL, compiled php code (yes it’s also encoded) and several other things that have nothing to do with PHP scripting.
"Big companies provide source code with the software."
Does Microsoft, Macromedia, Borland, share their source so everyone can change whatever they want ?!?! No, that’s why software updates are for. And Open Source if you like. That's why most of the good commercial software packages are encoded: this reduces piracy loss - so companies are interested in developing it more and more.
"It's good to offer open source code so users can add new plugins and tweaks to the package."
Better listen for what your users want, and put it in the next version as quickly and as often as possible. Real, honest customers will be satisfied, only crooks will be sad.
If you give source code to anyone outside your office it will find its way to unauthorized users. The software will be available for free download on warez websites. Hundreds of clones will be opened with your software, offering all features for free. Months of development will be for nothing, and you’ll be ruined. Period.
"I need the source code in case I want to upgrade in few years to a better system."
If you realized that old script is not enough, that means that you are ready for a more powerful script. Go and buy one! Then hire a programmer that will transfer data from old script to new one with a simple script and that’s it. Database is always “open source”, so there is no problem there. Why do you expect to buy a 400$ script and that it should satisfy all your needs in years to come? Did you expect the same when you bought Windows 95? Did you refuse to buy Windows XP when it came out? Did you expect to be able to make Windows XP from 95 yourself? By being able to edit code ... come on!
1. Encoded programs are not evil by itself, you have a full computer of them. Encoding is just a way for developers to protect their intellectual property. If software is really what you want, don’t think twice, buy it. But be sure you really know what you’re buying, if you are unable to make that decision hire someone that can.
2. Ability to edit source code doesn’t guarantee you at all that you will be able to expand the included functionality.
3. If you intend to buy a script and than customize it don’t you forget something? Don’t you have to hire programmers to code for you. Good programmers are rare and not cheap.
Also, there is one tremendous hole in this scenario. If you temper with the code of the open source application, and when that application is updated with official version, you probably will not be able to update to new version without loosing your customizations! So you are again at the point that you have to hire someone to transfer data and customizations.
4. If you need custom script, hire a programmer to write one for you. If at the moment you’re 90% satisfied with the commercial script then buy it! Don’t forget that you’re buying something that costs 20x you’re paying, so it’s a good investment even if you have to buy new script several months from now. A commercial $400 script can cost upto $8000 when developed from scratch.
If you don’t consider encoded scripts you're missing a lot! There are numerously more good commercial scripts than open source.
If there is open source, well go for it. You will eventually have to hire programmers to customize, update that script. Programmers charge a lot more when they have to temper with code that is not theirs.
This article is inspired from public posts found on public forums. Thanks to all contributors.