这不是我自己想做的事情,但这是一个我无法理解的问题/问题。
如果您分发开源程序/类/库,如何确保用户购买了许可证?对于程序员来说,只是删除产品的许可证部分并分发它或使用盗版版本是不是很容易?
以Invision Power Board为例。它是用PHP编写的(即完全开放和可编辑),您必须购买许可证才能使用它。他们如何制定这个限制?他们是否对服务器的论坛进行了身份验证?如果他们这样做,那么简单地删除这个功能会不容易吗?
我有更多问题理解的另一个例子是HighCharts,一个用于绘制图形的JS库。他们在每个图表上提供一个带有名称的免费版本。如果您购买该产品,标签就不见了。他们是如何做到的?
我知道这个问题有点广泛和开放,但我只是想要一种方法来阻止人们简单地编辑许可/封锁?这个的本质是什么?
答案 0 :(得分:2)
真正的“开源”库或程序没有购买许可证,因为开源的本质是代码是免费的,您可以随意自己构建/部署它。
您所谈论的是可能使用易于查看/编辑的代码库的商业软件。它不是作为“开源”销售的,但源代码易于访问且可能很容易修改。
有一些混淆或隐藏某些产品会选择使用的代码内容的机制,这使得修改代码变得更加困难。例如,有各种方法可以预编译PHP代码而不是分发原始文件(例如,请参阅this question)。
但是,对于大多数此类软件而言,最大的问题是支持。如果您是复杂软件(尤其是业务用户)的认真用户,您通常会想知道您已为任何关键软件制定了商业支持计划。破解/盗用此类软件(即个人或小公司)的用户不太可能对供应商有重大意义。
在互联网上还有一个明显的途径:如果一个重要的公共网站使用Invision Power Board,他们很快就会注意到并可能要求合适的许可(或采取法律行动)。
最终,如果某人有足够的决心,这种滥用很难防止:你非常喜欢你的用户。