在我看来,如果您使用解释性语言编写软件,那么销售软件肯定很困难,因为购买它的任何人都可以轻松编辑/更改/转售它。
你如何解决这个问题?我有几个 PHP 应用程序我不愿意卖给人们,因为他们似乎太容易更改/阅读/编辑/出售我制作的内容。
在我看来,如果您使用解释性语言编写软件,那么销售软件肯定很困难,因为购买它的任何人都可以轻松编辑/更改/转售它。
你如何解决这个问题?我有几个 PHP 应用程序我不愿意卖给人们,因为他们似乎太容易更改/阅读/编辑/出售我制作的内容。
几乎没有人出售代码。我们出售创建、编辑、支持和理解代码的能力。
作为您的应用程序的潜在买家,我可能会发现这些功能很有吸引力:
... 是的 ...
这三个都是特征。
第三个可能是您无法提供给我的功能。通过法律措施而不是技术措施来解决这个问题。这就是许可的用途。您还可以出售允许转售的更昂贵的许可证。
您可以采取一些措施来删除前两个功能,但请记住,这样做会降低产品对某些人的整体价值,从而降低其售价。
对许多人来说,使用开源软件的主要原因不是它不花钱——而是你可以获得源代码。
人们一直在出售创建网站的服务。此外,即使是编译语言也可以更改,只是更加困难。
大多数情况下,用户群不了解如何进行更改或如何处理脚本,因此您实际上是在出售有关如何安装和更改脚本的知识。
不卖软件,卖“许可证”。
我将尝试更好地解释,构建 Web 应用程序但为其提供托管。这样您的客户将永远不会“持有”源代码。
如果你真的必须提供源代码,那么混淆是要走的路;)
可能的路线:
例如,Splunk主要是用 Python 编写的,并分发字节码。EVE 在线客户端使用Stackless Python 编译为可执行二进制文件。
建个网站,收费使用。
他们获得源,但不能合法地修改或重新分发源。
任何人都可以更改代码,但您是其事实上的权威,您可以通过销售支持、咨询和定制服务来赚钱。
您还可以考虑多种方法的组合。例如,将您的解决方案分成几个独立的包,然后将其中的一些开源,并出售其他部分的字节码版本。然后您销售的是完整的解决方案以及其他服务,有些人可能会受益并增强解决方案的其他部分。
许多公司从解释语言的应用程序中赚钱,并愉快地与它们一起分发源代码。不要个人认为,但您的程序可能不会流行到足以拥有大量海盗。任何盗版您的软件的人可能一开始都不会购买它。如果他们不能盗版,他们就会盗版别人。
无论您做什么,请不要混淆您的代码。这不是防止侵权的有效手段,除了让您和您的客户的生活变得悲惨之外,它不会做任何事情。
保护你的秘密比特变得越来越困难。
恕我直言,您的解决方案实际上取决于您的目标市场。如果您的目标是业务,只需向他们提供具有良好许可证的代码,并且可能存在某种类型的缺陷,这样您就可以确定谁泄露了您的代码,如果发生这种情况。企业大多会为您的应用付费以保持合规性;这不值得法律上的麻烦。如果一个人免费获得你的应用程序,那可能是一件好事,因为他们会试图说服他们现在和未来的雇主购买它。
如果您以个人为目标,并且可以将其作为 Web 应用程序(显然您使用 PHP)进行,则将其作为托管服务进行,并出售每月订阅或允许免费访问并找到另一种货币化方式。
如果您出于某种原因确实需要或想要将其分发给个人,您可以免费赠送,并尝试通过自定义、加载项和其他支持功能获利。
这是一个已经被讨论过很多的问题,几个小时的真正专注的谷歌搜索应该会揭示所有当前的哲学。
我希望这有帮助。
混淆可能是一个好方法
对于 PHP,您可以选择使用Zend Guard for PHP。我相信它以类似于 php 解释器的方式编译源代码,因此它也应该提高性能。当然,600 美元的价格可能对你来说太贵了 ;-)
无论如何,我认为您没有理由不使用开源许可证分发您的代码(有关可用许可证的列表,请参阅开源计划)。您可以找到一个禁止您的客户重新分发您的应用程序的方法。
编辑:
正如 Novelocrat 在他的评论中指出的那样,禁止分发的许可证是根据定义而不是开源许可证,开源一词不仅仅指源代码的可用性。(另请参阅此相关问题的答案以进行进一步讨论)。