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

揽了个私活, SVN 在客户提供的服务器上,怎样保护源代码?( Java)

  •  
  •   kingwang · 2015-09-06 23:17:18 +08:00 · 6620 次点击
    这是一个创建于 3126 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题

    32 条回复    2015-09-07 16:56:10 +08:00
    FrankFang128
        1
    FrankFang128  
       2015-09-06 23:22:31 +08:00 via Android
    后门啊,随时回传或者删数据库。
    maroon
        2
    maroon  
       2015-09-06 23:23:22 +08:00
    不提不行?项目完成,功能录视频给客户
    Mrun
        3
    Mrun  
       2015-09-06 23:26:14 +08:00
    本地用 GIT 进行版本管理, SVN 只用来 release ,发布已经混淆过的代码
    kingwang
        4
    kingwang  
    OP
       2015-09-06 23:28:10 +08:00
    @maroon 客户那边也有懂代码的,数据库什么的都在他给的机器上面
    hyzjshwo
        5
    hyzjshwo  
       2015-09-06 23:34:03 +08:00
    web app 直接上传 war 包
    desktop 直接上传 jar 包
    aa45942
        6
    aa45942  
       2015-09-06 23:37:30 +08:00
    自己维护一份,然后给客户无法维护的源码(酷壳那有几篇经典文)
    kingwang
        7
    kingwang  
    OP
       2015-09-06 23:41:13 +08:00
    @aa45942 求链接或关键字。
    aprikyblue
        8
    aprikyblue  
       2015-09-06 23:47:00 +08:00
    @kingwang “如何编写无法维护的代码”
    9hills
        10
    9hills  
       2015-09-07 00:13:03 +08:00   ❤️ 5
    lz 要有职业道德,如果客户花钱是买了你的源代码的,请提供易读易懂,风格良好的代码给客户
    如果客户花钱没有包含你的源代码,那你就不要放到客户的 svn 上,自己保存即可。
    yinheli
        11
    yinheli  
       2015-09-07 00:15:41 +08:00
    建议使用 coding.net
    aa45942
        12
    aa45942  
       2015-09-07 00:22:50 +08:00
    @9hills 私活的话有些客户要求是比较奇怪的,不按他的来不付钱都有可能。而且要源码的客户一般直接验收最后的源码和工程文件、编译出来的程序等,才不管你做的时候存哪里,更不会要求把代码放到某个 svn 。
    9hills
        13
    9hills  
       2015-09-07 00:25:29 +08:00
    @aa45942 合同里如果有写提供源码,那就老老实实提供源码呗
    aa45942
        14
    aa45942  
       2015-09-07 00:28:30 +08:00
    @9hills 有些私活不签合同的,有合同的话肯定要按合同来。
    echo1937
        15
    echo1937  
       2015-09-07 00:39:23 +08:00
    软件开发源代码属于客户,算是行业惯例吧,

    确认尾款到帐以后,源代码应该交付给客户,

    当然,也有卖 copy 或者授权的私活,少见。
    kslr
        16
    kslr  
       2015-09-07 01:32:09 +08:00 via Android
    源码是交易后才给的,你可以录个视频
    wdlth
        17
    wdlth  
       2015-09-07 09:51:09 +08:00
    没见过私活还有提供 SVN 的,要这样的话就把关键的东西写成 JNI Library ,然后再调用。
    leavic
        18
    leavic  
       2015-09-07 09:54:29 +08:00
    你收别人钱,工作成果就是别人的,这是基本职业道德。
    realpg
        19
    realpg  
       2015-09-07 10:16:07 +08:00
    @leavic
    未结清全款就给全套版本库,这不靠谱吧。
    源码应该在验收结束后统一交付。
    如果需要核验代码质量,可给一定量的代码截图
    864000951
        20
    864000951  
       2015-09-07 10:26:37 +08:00
    按进度、功能点完成度结款
    结款前提供该进度的 demo 演示,款清后将目前进度代码上传至 svn 服务器。
    hienchu
        21
    hienchu  
       2015-09-07 10:30:11 +08:00
    合同签详细点,找个律师看一下,应该问题不大吧,一旦出了问题,律师比你积极:P
    codeyung
        22
    codeyung  
       2015-09-07 10:30:36 +08:00
    首先是给演示过程 截图录像都可以 其次 war 实在不行也要给编译后的 不是熟人千万不要把东西给的太早
    learnshare
        23
    learnshare  
       2015-09-07 10:41:44 +08:00
    拿到源代码的钱就行了
    jarlyyn
        24
    jarlyyn  
       2015-09-07 11:13:50 +08:00
    不结清进度款代码不上去呗。
    JohnH
        25
    JohnH  
       2015-09-07 11:42:50 +08:00
    1.从不提交代码,或到达某一阶段后不再提交,直至最后交付
    2.提交部分代码, ignore 部分文件,但这样忽略掉的文件就没办法进行版本控制了,可能需要斟酌

    让写无法维护的代码的人简直是在作茧自缚

    更重要的还是应该跟客户说明白,为了保护个人利益,能否达成阶段交款或者不提交代码最后一次性交付
    JohnH
        26
    JohnH  
       2015-09-07 11:45:05 +08:00
    做后门的也是,人家要是有专门的技术人员去掉后门也仅仅是时间上的问题
    lshero
        27
    lshero  
       2015-09-07 12:11:50 +08:00
    有 SVN 估计也是想盯项目的进度吧
    所以还是按照进度付费吧
    dreamtrail
        28
    dreamtrail  
       2015-09-07 16:05:54 +08:00
    如果你有服务器的权限,你可以选择加密 svn 的 repository 。
    yjxjn
        29
    yjxjn  
       2015-09-07 16:24:24 +08:00
    如果是别人花钱买你的代码而不是你的产品,你要有职业道德,这是码农的最基本的素质,也是职业道德底线。
    sigone
        30
    sigone  
       2015-09-07 16:44:09 +08:00 via Android
    楼主应该是担心提交源码后,收不到银子!
    sding
        31
    sding  
       2015-09-07 16:46:36 +08:00 via Android
    这就和画画一样,画画的笔和纸都在人家的工作室,等你快画完时,人家把门一锁,自己的成果就没了
    LINAICAI
        32
    LINAICAI  
       2015-09-07 16:56:10 +08:00
    SVN 放别人服务器还想保密。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2883 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 11:20 · PVG 19:20 · LAX 04:20 · JFK 07:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.