V2EX 首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

Java 源代码如何保证不被分发

  •  
  •   SoulSleep · 3 天前 · 1758 次点击

    背景:需要把源代码提供给甲方,传统的 Spring+Hibernate 项目,Maven 管理的

    当然严格的文件复制无法阻止,我们想做的就是,假如代码在非甲方公司出现 /执行,这可以是一个证据证明是由甲方公司外泄我们提供给甲方的源代码

    一直没做过这种项目,要把产品的源代码提供给甲方。

    各位出出主意。

    考虑过的方式: 我们的工程有好多 module 加密其中一个基础的。 或者引入一个 jar,这个 jar 是带 License 的,没有这个 jar 项目无法启动 /功能错乱。

    请指教吧。。。不知道搜什么关键字合适

    9 回复  |  直到 2018-01-14 13:46:03 +08:00
        1
    nicevar   3 天前   ♥ 1
    必须要提供所有源码?商业上可以谈判,部分不提供源码,比如公司积累的一些比较有价值的库
    好的方式也就是你说的 license,技术上 java 项目给了 jar 其实跟源码差别不大了,重要的是合同上写清楚,通过法律来约束
        2
    bumz   3 天前   ♥ 2
    ProGuard Shrink 和 Obfuscate 下提高逆向工程的难度? 233
        3
    t123yh   3 天前 via Android   ♥ 1
    是不是可以在某个页面加一点小改动
        4
    wdlth   3 天前   ♥ 1
    如果有合同明确交付源代码,源代码就是甲方的资产,即使是外泄了,也是甲方的资产外泄,除非合同中有违约赔偿条款,不然权益得不到保障。
        5
    abcbuzhiming   3 天前   ♥ 1
    源代码都提供了你还指望加什么密啊,你们商业合同怎么谈,如果商业合同没限制人家直接就可以把代码拿到别人机器上去运行的,你限制什么?你限制那叫违约懂不,你给的源码都不完整,别人可以告你的
        6
    mooncakejs   3 天前 via iPhone   ♥ 1
    一部分通用功能改成代码生成器生成,不同的分发渠道变量名之类有所不同同时有一定规律,这样能认出来哪个渠道泄露的。
        7
    ixiaohei   3 天前   ♥ 1
    搞成 bs 结构的? 你们的服务器把握核心逻辑,这样给出去的代码没有服务器其实啥价值也没有。比如暗黑三的 ai 逻辑全在服务器。破解客户端只能打木桩。另外要么就别用 java,java 反编译几乎就是源代码,技术上几乎做不到别人破解。
        8
    somebody   3 天前 via Android   ♥ 1
    用 proguard
        9
    hanbing135   3 天前 via Android   ♥ 1
    合同就是把源代码给人家 你不给难道不违约么 当花钱的是傻子?
    DigitalOcean
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   鸣谢   ·   2178 人在线   最高记录 3541   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.0 · 46ms · UTC 11:22 · PVG 19:22 · LAX 03:22 · JFK 06:22
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1