0

This is not something I want to do myself, but it's a question/problem I can't get out of my head.

If you distribute open source-program/classes/libraries, how can you make sure the user has purchased a license? Would it not be very easy for programmers to just remove the license-part of the product and distribute it or use a pirate-version?

Take Invision Power Board for instance. It is written in PHP (i.e completely open and editable) and you have to buy a license to be able to use it. How can they make this limit? Do they authenticate the forum towards their servers? If they do, would it not be easy to simply remove this function?

Another example that I have even more problem understanding is HighCharts, a JS library to draw graphs. They offer a free version with their name on each graph. If you purchase the product, the label is gone. How do they do this?

I know this question is a bit wide and open, but I am just asking for a way to prevent people from simply editing out the license/blockade? What is the essence in this?

OptimusCrime
  • 14,662
  • 13
  • 58
  • 96
  • I thought anything and everything can be cracked. One prevention would be law suits. Other than that the limited understanding of users can limit edits. A beginner programmer may have troubles changing code. A non-programmer won't even try. There is also a possibility that the developers just don't care. They could be hoping for good will from the public. I'm not including this as an answer. Just speculation because I'm not totally sure. – Quentin Engles May 09 '13 at 13:25
  • You need to understand this from the start, and if you ever start to doubt it then you are no longer being honest with yourself. There is only one way to prevent a product from getting pirated, and that is to meet **both** of the following conditions: 1) use a licensing system that is not easily defeated ***AND*** 2) create a product that no one wants to use. – Sam Harwell May 09 '13 at 13:27
  • @280Z28: even that won't help. There is no licensing system that's not easily defeated by the combined might of the internet, and it's amazing how many people will pirate things just for the sake of pirating them. If you want to be honest, you have to understand that there is *no way* to prevent piracy, but there are lots of ways to discourage it. Really your best approach is to make software (or provide a service) that people want to pay for. – Dan Puzey May 09 '13 at 13:36

1 Answers1

2

There are no license purchases for true "open source" libraries or programs, because the essence of open source is that the code is free and you can build/deploy it yourself at will.

What you're talking about is commercial software that might use a codebase that is easily visible/editable. It's not marketed as "open source," but the source code is easily accessible and potentially easily modified.

There are various mechanisms for obfuscating or hiding the content of the code that some products would choose to use, which make modifying the code more difficult. For example, there are various ways of pre-compiling PHP code rather than distributing the raw files (see this question for examples).

However, the biggest thing that you lose out on with most software of this sort is support. If you're a serious user of a complex piece of software, especially a business user, you would typically want to know that you have a commercial support plan in place for any critical software. The kind of user that would crack/pirate such software (that is, individuals or small companies) aren't likely to be as significant to the vendor.

On the internet there's a further obvious avenue: if a significant public site were using Invision Power Board, they would soon notice and could demand suitable license (or take legal action).

Ultimately, this kind of abuse is very difficult to prevent if someone is determined enough: you are very much at the whim of your users.

Community
  • 1
  • 1
Dan Puzey
  • 33,626
  • 4
  • 73
  • 96