views:

94

answers:

5

I was thinking - say you are put thousand of man hours and come up with a state-of-the-art CMS or something. How do you ensure that whoever get it from you does not pirate it? I could insist the buyer to give me their URL and I hash it and use it as a checksum everywhere within the software, but that sounds like a weaker form of security.

Are there any other methods? One could be to have the customer to send a POST to my server for authentication before serving any pages, but that sounds unfair.

(Of course, I could insist on hosting the software myself..)

+2  A: 

If you are distributing the platform, something like Zend Guard, typically. However, that also means it's harder for your customers to add in their own desired modifications.

A lot of software nowadays takes the SaaS route and is self-hosted by the companies that make it.

That said, I'd echo the sentiments of other answers here - it's better to make people not want to pirate your product (and give them incentives not to) than it is to try people to not do so.

Amber
In a sense, one may argue, by discouraging customers from making their own customisations means better business. However, I agree with not making the cusomters unhappy. After all, there many OS PHP solutions out there.
Extrakun
The thing is that oftentimes, disallowing customers from making modifications means that if your software won't fit their purposes out of the box, they won't be your customers, resulting in a net loss of customer base.
Amber
+5  A: 

Typically, instead of trying to find a technological solution to this problem, a legal solution is preferred. Using a legal framework of contracts and/or license agreements, make it unattractive for the customer to try to pirate or resell your software.

If your software is sufficiently desirable, people will find a way to pirate it (eg. Photoshop). If your customer is happy with their business arrangement with you, then they are unlikely to jeapordise that by pirating your software.

Greg Hewgill
+1  A: 

Provide support and upgrades only for those who have bought the software. It doesn't prevent copying it, but any serious users will buy it.

Another option is to host it yourself. But at least don't choose the obfuscation route. Even it won't exactly prevent anything, but it will irritate your loyal customers.

Joonas Pulakka
+1  A: 

Just ask for money.

I would advise to expend more time thinking of marketing and less worrying about code obfuscation.

One approach I like is the one used by jamroom.net. They are fairly open, providing full code to subscribers, changes/customizations are allowed and encouraged to some extent. No efforts wasted on obfuscating code.

They cash-in with extensions, installation/maintenance/ops services. I don't know how well they fare. Seems that a respectable sized community builds around their product. By community I mean both customers and third-party developers. That's a bonus, their Biz model even scales!

scyldinga
+1  A: 

As always, Joe Blow Blogger may pirate your software...but real business customers aren't going to take that kind of legal risk. It's best, as others have said, to just provide quality software for your paying customers. Piracy is best combatted through social and legal means, rather than technological ones.

phoebus