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

2018-01-14 09:17:13 +08:00
 SoulSleep

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

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

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

各位出出主意。

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

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

3027 次点击
所在节点    程序员
9 条回复
nicevar
2018-01-14 09:49:38 +08:00
必须要提供所有源码?商业上可以谈判,部分不提供源码,比如公司积累的一些比较有价值的库
好的方式也就是你说的 license,技术上 java 项目给了 jar 其实跟源码差别不大了,重要的是合同上写清楚,通过法律来约束
bumz
2018-01-14 10:21:23 +08:00
ProGuard Shrink 和 Obfuscate 下提高逆向工程的难度? 233
t123yh
2018-01-14 10:37:25 +08:00
是不是可以在某个页面加一点小改动
wdlth
2018-01-14 10:39:37 +08:00
如果有合同明确交付源代码,源代码就是甲方的资产,即使是外泄了,也是甲方的资产外泄,除非合同中有违约赔偿条款,不然权益得不到保障。
abcbuzhiming
2018-01-14 10:40:21 +08:00
源代码都提供了你还指望加什么密啊,你们商业合同怎么谈,如果商业合同没限制人家直接就可以把代码拿到别人机器上去运行的,你限制什么?你限制那叫违约懂不,你给的源码都不完整,别人可以告你的
mooncakejs
2018-01-14 10:44:08 +08:00
一部分通用功能改成代码生成器生成,不同的分发渠道变量名之类有所不同同时有一定规律,这样能认出来哪个渠道泄露的。
ixiaohei
2018-01-14 11:24:09 +08:00
搞成 bs 结构的? 你们的服务器把握核心逻辑,这样给出去的代码没有服务器其实啥价值也没有。比如暗黑三的 ai 逻辑全在服务器。破解客户端只能打木桩。另外要么就别用 java,java 反编译几乎就是源代码,技术上几乎做不到别人破解。
somebody
2018-01-14 11:34:34 +08:00
用 proguard
hanbing135
2018-01-14 13:46:03 +08:00
合同就是把源代码给人家 你不给难道不违约么 当花钱的是傻子?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/422729

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX