Encoding Source Code

by Matt Mecham on November 29, 2004

in Uncategorized

To encode, or not to encode: Whether ’tis nobler in the mind to suffer, The zips and rars of hacked distributions. Or to take arms against a sea of pirates, And by opposing upset customers?

Bad lampooning aside, there is a real question here: To encode our source code and possibly upset customers or to continue to allow readable source code and continue to battle piracy?

Pros and Cons

Readable source code is the default method of choice for downloadable code written for the likes of PHP, Perl and ASP. This is largely because readable source code can be run without the need to install server level decoders and is how scripted files were designed to be used. You write the code, save it and run it. No need to compile it or fuss around with it in any other way.
The big downside with readable source code is that it’s, well, readable. You can’t add any real restrictions in the code to prevent it from being abused as the code can simply be found and deleted. Another negative is that your code is available for everyone to see and steal.

Encoded source does away with those problems. The code is compiled and encoded and then available for download. The encoding is pretty solid and is hard to "crack". The downside is that the customer has to be running the decoder on their server for it to run. Fortunately, Zend offer a free optimizer/decoder which is very simple to install and IonCube offers a server level version and local file based versions. The IonCube approach is excellent as it allows (virtually) everyone to use encoded software without the need for root level access to the server, which is a real problem on shared and virtual server accounts.
The big downside with encoded source code is that you can’t modify it to suit your needs – and that’s the crux of the problem.

For years, PHP and perl applications have been available as readable source and this means that, with a little knowledge, you can tailor the application to suit your own needs. This side benefit has now boomed into its own little industry with modification communities springing up for popular products. In a competitive industry, readable source code is another selling point and may be a customer’s deciding factor.

Software Piracy

Piracy is a problem in every industry. Even compiled applications get cracked and put on peer-to-peer networks for free downloading so encoding PHP source code isn’t going to remove it totally but it will reduce it. As the industry stands now, it takes no skill to pay for one copy of a piece of software and make it available for everyone. Most commercial software has license keys and other data to make it a little harder, but any such code can be removed quickly making it useless.

This brings us back to the original question. There is an argument to say that when you purchase an application, you purchase the application – not the right to have access to the source code to tweak it for your own use. This is certainly true for desktop software. There is an argument to say that encoding files will kill the modifications community and market, and this is where I think we can find a compromise between allowing code modification and encoding source code. 

Necessity is the mother of invention

If we can rethink the concept of a modification and how the
modification is applied then we can create a new way of allowing
additional code to be run alongside our existing code. Indeed, an often
asked request is a way to automatically "add" code modifications into
the product to avoid having to search for x and replace with y.

If we can find a way to allow people to write and add modifications
without touching a line of the original code then we can kill two birds
with one stone. We, at IPS have already made a start with our modules
system and synchronization system and we plan to extend that. With
custom settings, HTML logic and a modules system, most modifications
can be rewritten to use these systems.

I definitely think the future is with encoded source. Many applications already encode their source, Modernbill is a good example. If modifications don’t need to alter the existing code and it makes it easy to install modifications, then there really can’t be any complaints, can there?

{ 70 comments… read them below or add one }

51 mgben December 9, 2004 at 10:09 pm

And totally of the subject… the time… it seems somewhat… wrong. It’s actualy 10:08pm

52 Karl December 10, 2004 at 1:30 am

I love Matt

53 Michael December 12, 2004 at 2:07 pm

“YES, we (the end user) may be unhappy about not being able to do what we want with a free version, but, neither would we be happy if we were in the seat of ipb developers.”

What free version? The only free version of IPB is the free trial which is already encoded.

54 mgben December 13, 2004 at 11:47 pm

It used to be free, obviously I posted my comment a little late. but that does not make it any less relavent.

55 Air December 14, 2004 at 7:54 pm

“People are only giving you a big clue : they don’t want an encoded IPB, they say it loud now before it’s too late.”

You have a point. Before it’s too late, yesss..

56 Anonymous December 24, 2004 at 12:51 pm

You are for future procedures with your Kundenfeidlichen on a very dangerous way. People aren’t stupid and always see more according to alternatives to the IPB. I don’t understand her they want, the Ähra IPB end prepare one? First the promise that the IPB remains free now the encoding of the code, then the license duty. The patience and the licensee has arrived at a critical border. This is still interested in knowing that .das ibp is then dead … if these, these further carry it from such changes she then wants direction, it to be a capable coding which the Ipb like, us more gives it to nobody. This learns nothing and goes on you wrong way. One shall acquire a license and others must make the support for them. You don’t offer yet any Sprachpackete irgdetwas this license lasts for beerchtigt, you have, for what otherwise. They can most do only one, what it is thrown for people stones to the way and yours desire to drive and to license buyers away around customers. You should see eingendlich with thousandfold examples to be got this handle of other software products which doesn’t have the Softwar-Pitaterie. Success would you have this the first, last. So the whole nonsense shall on what costs of the sincere license buyers? All of us have, close costs and the ibp despite hers has a fault made for bzw liznzpflichtig, these can be just capable everything accepts one, however, so otherwise what still is coming now anyway is freely too many now and I unite step prophezeihe lied to them that the fall in the IBP beseigelts has if they don’t stop to be gone, promoted correctly into this wrong one.

57 Anonymous January 2, 2005 at 8:12 pm

Whatever IPB decides is fine. They may encode the source, but I have found another solution: I will go with another bulletin board. One that is almost exact to IPB, but not. It is just as advanced as anything in IPB. It is only the first release and already is very good. The name is IceBB.

58 kud0S January 3, 2005 at 11:37 am

I have read what everyone has said, and most of your guys make good points both ways. But it is quite obvious which is the best choice.

This is what it will break down to, if you encode the source:

The paying customers will be paying for a severely limited product. They won’t have nearly as many options with their product as they do now. Just in this fact alone makes encoding the source not worth it. If I were a customer I would leave immediately after this change had gone into effect.

Now, the pirated copy users. They will not be paying anything at all for the product. There will get a free, fully open source product. They will have all abilities and no limitation, such as a paying customer would have.

Now think about that… Does that make sense? No.. it doesn’t. It is clearly obvious that encoding source does nothing but attract “crackers” to come and reverse engineer the encoding, then BAM! They have a full open source script, which they can now easily disperse amongst the net.

I was, and still am, a great fan of IPS/IPB. I have been with you guys for a long time. I loved that you guys were free, but then that changed. I must admit, I never became a customer and bought the script. I think, that after offering it for free for such a long time, then changing your guyses mind and charging for it, I think that was just wrong… but hey, its your product, you may do as you wish. I think you guys lost much respect with that move.

I still love IPB though, I wouldn’t use any other BB software out there, but I will not pay for it, sorry.

If you guys start with encoding the source, then I will just wait until the cracked version comes out on warez sites. I might have to wait a few days or weeks, but I am in no rush.

Final words: Dude, don’t switch to encoding the source… It will like double the amount of users using pirated version instead of legit ones. PLUS, the most important one, you will lose many of your existing customers, as well as future ones who may have bought the product before finding out it was encoded. IPB is good, but not that good. You can easily find another BB, for FREE!, and use that rather than a source encoded, commercial script… Sorry man..

59 Anonymous January 7, 2005 at 8:01 pm

support fora lied to her and she taken advantage of how many users with false promises around open be the IPB for the one to to make this one, what it is today? How can you abolish the Life time license and make it out to be a success that everybody must pay now $ 30 more than this had been before? What comes as near? Approximately a Lifetime license only entitles to the lifelong use of the IPB and this after the support the updates get with costs now, too? Or that the IPB gets another name and appearances so that the licenses get valueless? I believe you capable of everything, you have made use and disappointed of the vertauen of many people and carry on that way as if nothing lasts happen. You can encode the IPB and himself moves another step in the direction of the precipice in which you at present are together with the IPB. Until the fall it is only still few steps …

60 kud0s January 8, 2005 at 9:47 am

Man, I have no idea what you said…

61 Anonymous January 10, 2005 at 8:44 am

LOL – the wonders of bablefish

62 B January 12, 2005 at 12:02 am

I’ve been using invision since 1.1, and have been customizing it ever since.

If the source goes encrypted, i go with it.

It’s the best software around. Don’t change it.
But, that’s my opinion.

63 Pita January 17, 2005 at 11:34 pm

As long as you provide an easy module system that allows easy integration and programming of modifications (such as IPB SDK), then I have no qualms.

Although I make no money from my software, being a student, I can see the headache it can cause… so as long as you provide some kind of access for mods, then it’s all good.

64 Chad January 19, 2005 at 3:22 am

What would be cool, is if IPB is programmed using PHP-GTK.
Then you could view IPB from a desktop app. :P

Not only that, you could “compile” the source into an executable. Then you could create something to make a custom made hardware to make you coffee.
God I love coffee when developing late nights.

I think encoding isn’t bad. It has its downfalls and upfalls(wierd word).

I’m actually tossing around the idea to have a piece of code thats encoded and then have the actual source thats not encoded.
This allows you to create security checks for piracy and what not.
However, I still need to work out how you can stop “developers” from just removing a few lines of code.
I have a few ideas running around about it.

I’ve noticed that I have to many ideas. :P

65 Anonymous March 3, 2005 at 2:11 pm

big scripts dump

66 Matt March 4, 2005 at 10:40 am

Thank you, anonymous, for your interesting and balanced viewpoint on this subject.

67 FuzzyOne April 4, 2005 at 10:40 am

At the end of the day, you have to balance up the amount of customers who will purchase the encoded version to the amount of customers you will lose from encoding.

My personel view would be not to encode, the chances of someone who has used a pirate version paying for a full legit version is slim.

68 Maz April 18, 2006 at 5:45 pm

As a user of Olate software, who encode all of their software releases, I’m all for it! In fact, not only am I all for it, I see it as an absolute must! Not only for IPS, but also for the skinners and modders.

It in extremely frustrating, knowing that encoding is out there, and yet look at that with one eye while watching your work get ripped off left, right and centre because IPB has absolutely no provisions for protecting either itself or its enthusiasts.

As far as I see it, v3 will be a telling time. It should and would be the ideal time for IPS to prove that they do actually care about security and encode the product. As far as I’m concerned, if they don’t take opportunity then, then the chances are they never will.

All of these people who are commenting about the lack of freedom that encoding provides, that is an absolute non-issue.

I can hand-on-heart say that using Olate products does not restrict me at all. Not one bit. The only restriction is that it must be run on the domain for which it is licensed to. I can mod the code to my heart’s content, and frequently do in fact.

Then there is the argument of losing “bums on seats” because of some imaginary rebellion over encoding. Wasn’t the same rebellion promised when IPB initially went commercial? Where is it?

The fact is that after the initial knee-jerk reactions people carry on with the best solution for their needs, not which one has encinding and which one doesn’t.

In the same way that some seem to apparently take offence at having encoding out upon them, I am increasingly taking offence at paying for products which others can so easily and so readily steal from all over the web. I want to know that IPS values my business and my investment. They just can’t do either while at the same time letting the piracy run at the level which it currently enjoys.

Encoding? Absolutely, yes! More and more piracy? Absolutely not!

69 David S April 19, 2006 at 9:32 pm

I would keep it open source personally. I think part of the reason why people pirate the software is because of the price. It seems like the most people who buy forum software are people between the ages of 14-20. Think about it though, people ages 14-20 will not have money or limited money so going out and spending $189 or $70 a year would be hard to manage. Let’s say if IPB was priced $20 a year or $75 perpetually, then I would assume less people would (try to) crack it. Lately, though, since IPB 2.1.5 I haven’t really seen any new cracking attempts. I’m geussing because of the auto-licensing tool.

70 kisko February 21, 2007 at 5:32 pm

Out of curiousity, Matt, what have you been changing in this article? It has popped up in my reader (Bloglines) almost a dozen times since it was posted, each time saying that the updated date had changed. http://www.torrentmania.info

Leave a Comment

Connect with Facebook

Previous post:

Next post: