【问题标题】:Encoding Ruby on Rails code?编码 Ruby on Rails 代码?
【发布时间】:2010-01-19 05:55:35
【问题描述】:

是否有任何应用程序可以让我对我的 Ruby on Rails 代码进行编码,以便其他人无法阅读它?我打算卖几个小应用程序,但我真的不希望每个人都知道我的代码。

谢谢。

【问题讨论】:

标签: ruby-on-rails ruby encoding


【解决方案1】:

我在野外看到的唯一示例是来自 ThoughtWorks 的 Mingle,它在 JRuby 上运行,我认为他们必须以某种方式对其进行修改才能运行加密代码。

http://www.thoughtworks-studios.com/mingle-agile-project-management

我认为他们可能使用了类似 AOT 编译器的东西: http://kenai.com/projects/jruby/pages/RailsAOT

这看起来也很有希望: http://www.infoq.com/news/2008/10/rubyencoder

查看此答案以了解其他想法。 Can you Distribute a Ruby on Rails Application without Source?

【讨论】:

    【解决方案2】:

    如果您希望人们能够运行您的代码(如果您不这样做,那么您为什么首先编写它?),那么他们的 CPU 需要能够执行您的代码。为了能够执行代码,CPU 需要能够理解它。

    由于 CPU 是愚蠢的,而人类不是,这意味着人类也可以理解代码。

    通过技术手段保护代码的唯一方法是,如果您“拥有”整个执行路径:您需要构建自己的 CPU、自己的计算机、编写自己的操作系统和自己的 Ruby 解释器。然后,只有这样你才能保护你的代码。 (但请注意,即使是最细微的错误也会使您的所有保护措施失效。微软、苹果、索尼、音乐行业和电影行业都可以证明这一点。)

    或者,您可以什么都不做,这意味着您的代码将自动受到版权法的保护。

    【讨论】:

    • 您在技术上是正确的,但出于所有实际目的,这是错误的。通过使其难以阅读和修改,代码通常得到了足够好的保护。我所说的足够困难是指:雇用人员从头开始开发比对代码进行逆向工程的成本更低,而且在这两种情况下,这都需要足够长的时间,以至于简单地为软件许可证或服务付费是值得的。人们分发受保密协议保护的开源软件的领域(例如密码学)很少,这本身就是一个法律问题。
    【解决方案3】:

    感谢您的所有回答!目前我正在研究 jRuby 和 Ruby 编码器选项,但如果我发现两者都不是我想要的,那么我认为我应该只是出售代码并更专注于获取客户。将所有这些时间和金钱花在无论如何都可以轻松破解的加密上确实没有任何意义。

    【讨论】:

    • 整件事毫无意义,RoR 制作网络应用程序...托管网络应用程序...利润...
    【解决方案4】:

    也许您可以自己托管应用程序。

    这样,任何人都无法访问您的代码,而您的客户将通过 Internet 在任何地方使用该应用程序,并且还会为您支付支持费用。

    为了以最简单的方式托管 rails 应用程序,您可以尝试 http://heroku.com/ 甚至使用 apache 和 mod_passenger 设置一个小型 VPS。

    【讨论】:

    • 我今天越来越多地考虑自己托管它。唯一的缺点是每月的托管费用,但我可以获得最小的服务器,然后看看人们是否喜欢这些应用程序然后扩展。非常感谢您的输入[:
    • 如果每月托管费用是一个问题,那么我怀疑该应用程序的想法并不是一个赢家。 RoR 是一个 Web 框架,完全可以自己托管它并对这些服务收取订阅费。这是一种行之有效的商业模式,如果您的应用很好并且人们想要使用它,那么它就是您要走的路。
    • 这当然不能回答问题。
    【解决方案5】:

    不,没有办法让可执行代码无法读取。难以阅读是的,不可能阅读是……不可能。你能做的最好的就是混淆,网络上有很多例子(但我不知道有任何图书馆可以为你做这件事)。

    【讨论】:

      猜你喜欢
      • 2012-02-17
      • 1970-01-01
      • 1970-01-01
      • 2011-03-15
      • 1970-01-01
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多