To Encode or Not Encode?

It’s a decision every PHP developer has to make when releasing software for public use. Do you encode it in an effort to protect your hard work, or do you leave it human-readable with useful comments so that your users are able to fully utilize it in whatever way necessary? It’s not always an easy choice, especially when it’s for a commercial venture.

On the one hand, if you release your software in its natural state, unhindered by the encoding process and fully open for your users to modify, debug, update, examine, et cetera, you may find ne’er do wells take advantage of your generosity and re-purpose it in ways that not only you did not intend, but that your license explicitly forbids. It may take only one jerk to sour you on the whole idea and outweigh all the other happy customers who have benefited from being able to update and modify the code for their specific needs.

If on the other hand you release it encoded, you may find your feature request queue will grow a lot bigger, a lot faster than anticipated. Customers who would otherwise simply make the change themselves will be unable to and now require you to add capabilities they need for a future version. How often are you comfortable telling people “Sorry, I can’t do that.” or “If we see enough demand we will consider it.”, knowing that you are not only potentially alienating them from being future customers but perhaps killing their word of mouth as well?

In many ways the debate mirrors the one that took place in the 90s with the rise of the Open Source movement. Many established software companies and pundits took public stances that Open Source could never work. It was too like anarchy or too like communism, depending on who you asked, and the only way to be successful as a software company was to grip your source code tight to your chest and sue the pants off anyone who caught a glimpse of it without authorization. Looking at the software world today, it’s almost hard to believe that is a position that was ever taken seriously. But is the question of whether or not to encode your software really that much different? Or is it the same issue, just wearing a slightly different hat?

The success of Linux and the Web in general (where everyone’s HTML, CSS and JavaScript are always visible to every user, not just paying customers) seems to indicate that being totally open is entirely viable. The questions of infringement and abuse will always be there, and there are other and better ways of dealing with them than holding on to your code with an iron fist. Indeed, when shared with the community, you can reap the benefits of additional effort, intelligence and insight being poured into your project.

Learn more about the high speed PHP and Linux Hosting and capabilities available from A2 Hosting.

About Dave Matteson

David is a Lead Developer at A2 Hosting. He has been writing code professionally for nearly twenty years, and enjoys writing and reading about programming. David does his coding from his house in the woods with his wife and dogs