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

公司问要源码应不应该给

  •  
  •   rareMango · 8 天前 · 10591 次点击

    情况是这样的,年前入职了一家新公司,搞的东西和我之前从业的方向大致相符,入职后发现新公司的代码是一坨屎山,于是按照之前的框架(是朋友从他们公司给我的一份学习代码)写了一套新的框架替代其中的某一部分,新框架的具体实现被我封装成库了,原因一是这部分代码算是核心代码,个人认为算是吃饭的本领,不愿意开源给别人。二是万一以后泄露可能会牵扯到朋友(虽然几率很小)。现在公司问我要具体代码实现,说万一出问题的时候没法调试,这个我也能理解,但我本人还是出于私心不太愿意给,一般碰到这种情况怎么处理?

    第 1 条附言  ·  8 天前
    1.原有框架是用 C 开发,用在裸机上的。来源肯定是不合规的,但说实话生活中不合规的事情多了去了,也没必要抓住这点不放。新的框架是用 Qt 实现的,核心思想和接口设计还是借鉴了原有框架,其中一些关键逻辑保留了之前的代码(因为已经很完美了,没有什么更改必要),主要是用到了一些 Qt 和 C++特性拓展了下功能。然后封装成静态库给新公司使用。

    2.关于大家最关心的法律问题,所在公司是一个几十人的小公司,这个功能框架是整个项目中的某一部分而已,而且个人认为这个事情也不算是大事情,应该不会至于说是上法院之类的。我上班时间比较短,经验不足,遇到这种事情,所以想在论坛上咨询大家看一般是怎么处理能比较圆滑?

    3.楼主是个新牛马,对编程比较感兴趣,所以一般下班那后到家也会写写代码,看看新东西之类的,所以讨论归属权什么的感觉没必要,公司也不遵守劳动法,而且真到了那一步了直接咨询律师就行了。
    第 2 条附言  ·  7 天前
    此贴就此完结
    1.打算先与领导协商,看后续以库的方式进行存在和维护是否可行?不可行的话打算用 ai 重新实现代码后提供给公司。

    2.讨论较多所有权的问题或者违法的问题,在上面回复我已经说过了,本身也不是很大的事情,而且是小公司上升不到这种程度。

    3.评论里很多人说我没有职业道德,我本身上班时间不长,从目前大环境和自身经历来说,公司普遍违法,我自己也没有什么高尚的职业道德或者开源精神一说,只想努力提升自己能力。有人会鄙夷偷朋友公司代码,但在我看来并没有谁是一干二净的,有的话我对那种人尊敬的,我自己做不到。从我上家公司接触到的一些项目来说,关键逻辑抽象出来的框架和算法基本都是封库。现在就职的公司没有封库纯粹是因为代码真的太屎了没办法封库而已。
    1  2  
    sagaxu
        1
    sagaxu  
       8 天前   ❤️ 18
    不给是违法的,给也是违法的
    iseki
        2
    iseki  
       8 天前 via Android
    是哪种框架,框架级别的源码是怎么藏起来的🤔
    rareMango
        3
    rareMango  
    OP
       8 天前
    @iseki 只是一个小的功能框架,抛出指定接口,按照接口规范使用就行了
    rareMango
        4
    rareMango  
    OP
       8 天前   ❤️ 1
    @sagaxu 这块我知道,公司付薪水,所有权之类的,这块先不讨论,毕竟我写代码的电脑都是自己花钱买的
    wbrobot
        5
    wbrobot  
       8 天前   ❤️ 9
    就说没有源码,以前公司就是这么用的
    gegeligegeligo
        6
    gegeligegeligo  
       8 天前
    @yanxxx08cn #4 违法问题不讨论吗?如果不讨论违法问题的话就只剩下道德问题了,但是在我看来道德问题不是啥问题。。。所以说,在不讨论违法问题的情况下,你想给就给,不给就不给了
    shutongxinq
        7
    shutongxinq  
       8 天前
    老哥你在危险边缘试探啊。这种情况一般直接开了。
    Linho1219
        8
    Linho1219  
       8 天前 via Android
    按说得给吧,毕竟是进生产环境的东西,不给的话公司也可以选择不用你的框架
    倒是可以用这个跟公司讨价还价一下看能不能捞点好处?
    yun
        9
    yun  
       8 天前
    你就不該用這個框架,除非你自己一點一點的開發,你其他怎麼做都是違法,公司也違法,而且你得不到任何收益。
    quqiu
        10
    quqiu  
       8 天前   ❤️ 6
    小伙才上班没几年吧?
    icy37785
        11
    icy37785  
       8 天前 via iPhone
    @yanxxx08cn #4 最该讨论的部分你说先不讨论那还讨论啥。应不应该给的依据就说法律上怎么定义的,你不谈这块。
    依据不谈,那就不存在应不应该。等于话题直接没了。还怎么聊呢?
    你还不如直接问“公司要源码,我不想给,怎么能不给”这起码还能有个话题。能聊下去。
    mumbler
        12
    mumbler  
       8 天前   ❤️ 1
    你还想拿着这个代码创业么
    crossx
        13
    crossx  
       8 天前 via Android   ❤️ 3
    明确告知没有源代码,不管说什么都不能给!以下两方考虑供您参考:
    1 、不给源码最大程度最多影响你一个人;
    2 、给源码就不是影响你一个人的事了,影响你、你朋友、你朋友所在的公司,你所在的公司,包括但不限于你被公司起诉、你朋友被公司起诉、两家公司对簿公堂等等不可预估的情况发生。正常情况下能对你有强制执行力的只有法律,其他可以不谈,但法律不能不谈。

    建议的解决办法就是告知公司没有源代码,为了以后考虑直接撤掉该框架且不再使用;组织人员重新梳理框架重新写且不参考朋友之前提供的代码。
    ETiV
        14
    ETiV  
       8 天前 via iPhone   ❤️ 1
    啥高端代码 给兄弟们涨涨见识呗
    geelaw
        15
    geelaw  
       8 天前   ❤️ 1
    >按照之前的框架(是朋友从他们公司给我的一份学习代码)写了一套新的框架替代其中的某一部分

    问题 1:朋友从朋友公司拿代码给楼主阅读,这件事情合法吗?“朋友公司”是“朋友的公司”,还是“朋友供职的公司”?此公司同意把代码给楼主阅读吗?

    问题 2:“按照……写了一套新的”是几乎背诵,还是内化之后重新写出来?

    >新框架的具体实现被我封装成库了

    问题 3:楼主新公司允许员工把未知源代码的、编译后的程序,作为工作成果使用?

    >个人认为算是吃饭的本领,不愿意开源给别人……我本人还是出于私心不太愿意给……

    问题 4:楼主和现公司的关系是?如果是普通的劳动关系,楼主工作时间写的代码通常是公司的,“开源不开源”“给不给”根本不是楼主需要思考的问题,因为代码本来就是公司的,楼主无权处分公司的代码。如果楼主是现公司的供应商,那么还是可以谈要不要给的问题的。

    >二是万一以后泄露可能会牵扯到朋友(虽然几率很小)

    问题 5:楼主的意思是明知可能侵权依然要这样做吗?应该提示的是 V2EX 很难删帖,此贴可以成为对楼主不利的证据。
    wuzhewuyou
        16
    wuzhewuyou  
       8 天前 via Android
    就按楼上说的,原来公司就是这么用的,万一硬要具体实现楼主可以慢慢再写个类似的,几个月 kpi 完成
    billzhuang
        17
    billzhuang  
       8 天前 via iPhone   ❤️ 3
    OP 太牛逼了,精准的踩到了违法的康庄大道
    charlie21
        18
    charlie21  
       8 天前 via Android
    公司不能向你要一个已经属于公司的东西
    qbmiller
        19
    qbmiller  
       8 天前
    是 c++吗
    darksword21
        20
    darksword21  
       8 天前 via iPhone
    把自己放到了左右不是人的处境上。 我倾向于不给
    htxy1985
        21
    htxy1985  
       8 天前 via Android
    抓紧时间找平替,切勿纠缠
    chenbachi
        22
    chenbachi  
       8 天前 via iPhone
    在没有法的地方你讨论法,你遵守了法对方大概不遵守,现在知道咋弄了?
    ryougifujino
        23
    ryougifujino  
       8 天前
    问题在于,这个库是在你进新公司之前写的还是之后写的
    webs
        24
    webs  
       8 天前
    你离开公司后电脑已经报废,源码没有保存,去协商兼职找平替呢?
    haimall
        25
    haimall  
       8 天前
    首先声明这个是朋友所有权,在原开发者许可下使用,如果公司需要开源,那就只能收回使用权,重新开发同类框架。
    magic3584
        26
    magic3584  
       8 天前 via iPhone
    @ryougifujino #23
    入职后写的。
    公司付钱给你写代码,你还能不给吗?在公司产出不都是属于公司的?如果都是封装起来离了你公司就不转了,那以后合同上都要加上这么一条“不得使用闭源代码”。
    各位在做的自己开公司的可得注意了
    lnmxy
        27
    lnmxy  
       8 天前
    你就不該用這個框架,除非你自己一點一點的開發,你其他怎麼做都是違法,公司也違法,而且你得不到任何收益。
    lnmxy
        28
    lnmxy  
       8 天前
    不给是违法的,给也是违法的
    nightlight9
        29
    nightlight9  
       8 天前
    不给违法,侵占公司资产
    wogogoing
        30
    wogogoing  
       8 天前 via iPhone
    op 好像是要双向违法了。
    realpg
        31
    realpg  
       8 天前
    傻孩子 哪有什么源码
    这个模块不是我写的吗? 让你公司联系我啊
    yinmin
        32
    yinmin  
       8 天前 via iPhone
    “不给是违法的,给也是违法的” 破解之法是:用 ai 洗代码(推荐用 claude 优化代码,要求:修改变量名更体现其用途,优化代码使其更简洁易读)
    kkhaike
        33
    kkhaike  
       8 天前   ❤️ 2
    op 迷之操作成功给自己玩死
    Leon777
        34
    Leon777  
       8 天前 via iPhone
    年纪轻轻就找到了铁饭碗,少走几十年弯路啊
    dp
        35
    dp  
       8 天前
    你就说自费买的别人的库不就完了
    guofushan2903
        36
    guofushan2903  
       8 天前
    你左右不是人
    shawnsh
        37
    shawnsh  
       8 天前 via Android
    找个律师咨询咨询
    dynastysea
        38
    dynastysea  
       8 天前
    给,你自己写的库而已,又不是直接用朋友的,只是借鉴。
    broker1024c
        39
    broker1024c  
       8 天前   ❤️ 3
    啥破代码啊 还当个宝似的
    HENQIGUAI
        40
    HENQIGUAI  
       8 天前
    这种事就很麻烦,不上称一点事没有,上了称千斤打不住。
    yiyiniu
        41
    yiyiniu  
       8 天前   ❤️ 2
    楼主有没有看到过:字节跳动及其关联公司因旗下抖音、剪映等 8 款产品代码抄袭美摄科技核心技术,被判赔偿经济损失及合理支出共计 8266.8 万元,并公开道歉 https://baijiahao.baidu.com/s?id=1823997082321211578&wfr=spider&for=pc
    renmu
        42
    renmu  
       8 天前 via Android
    我的理解是你去上班然后对老板说代码你只能用不能看?
    caiqichang
        43
    caiqichang  
       8 天前
    就说是网上随便找的库,自己也没有源码
    bitmin
        44
    bitmin  
       8 天前   ❤️ 11
    懒得说了,简直脑子有病
    Greenm
        45
    Greenm  
       8 天前
    先不说前面从别人公司拿代码的事儿了(这个肯定是有大问题的),就说你后门开发的模块给公司用,你不想给源码,轻则被劝退开除,重则起诉你,兄弟,先搞清楚主次矛盾吧,别在那满脑子都是什么核心竞争力了。
    wuxi889
        46
    wuxi889  
       8 天前
    🧠 是个好东西
    iloveayu
        47
    iloveayu  
       8 天前
    哈哈,不知道该说啥好,人无语的时候真的会笑。
    podel
        48
    podel  
       8 天前
    好用,但是不合规。 不能给。
    公司非要自己掌控源码的,直接重写一遍。
    killerv
        49
    killerv  
       8 天前
    1. 用朋友公司的代码,你俩都真刑……很久以前,一个离职的同事问我要公司某个系统的数据库表结构,我都没给。
    2. 你在职期间的工作产出(就是你的代码)所有权是公司,不是你,不管你用什么设备写的。
    3. 你视为珍宝的核心代码其实没那么大价值,现在不是十年前了
    Felldeadbird
        50
    Felldeadbird  
       8 天前
    6. 你朋友给你一份破解代码。你还用到现在公司上。

    我想到出路就是,要么把你朋友部分封装成 API 形式。老板问起来,你就说这是我向 B 公司自费购买的模块。同时尽快让朋友处理这个收费功能(如果涉及到保密的,API 收费模式就走不通)。
    IvanLi127
        51
    IvanLi127  
       8 天前
    公司问肯定要给,但你选择的代码是不能给的,所以你应该重新写一份给公司...
    尽量不要和朋友给的代码相似就行。楼上有说 ai 洗代码,我觉得非常适合你的场景。
    ruiy
        52
    ruiy  
       8 天前
    送进去,就不会再说个人认为了。。。
    yidev
        53
    yidev  
       8 天前   ❤️ 2
    我感觉你又蠢又坏的
    xuanbg
        54
    xuanbg  
       8 天前
    只能对公司说这是你外面找的一个库,没源码。想用就继续用,你在上家公司就是这么用的,保证没啥问题。不想用的话,你也可以花点时间开发一个类似的。看老板的选择吧。
    xiaochena
        55
    xiaochena  
       8 天前
    @sagaxu 楼主:原则上来说。。。。, up:先不讨论原则
    ansnail
        56
    ansnail  
       8 天前   ❤️ 5
    感觉没有讨论的必要了,我一直疑惑为什么有这么蠢的人,是多蠢才会以为你上班做的东西是你吃饭的本领。还大言不惭公司不尊重劳动法,这和你不给源码有什么关系???不用到那时候,建议你现在就赶紧咨询律师吧,一大早看到这个晦气!!!
    lisxour
        57
    lisxour  
       8 天前
    糊弄过去再自己写一份,不然永远都埋了一个雷在这
    JoeDH
        58
    JoeDH  
       8 天前
    1 、从别人公司偷代码
    2 、公司要了解代码细节避免业务风险,而你却藏私不愿交出
    你怎么一点职业道德都没有呢,不过看你的回复你也不在乎这种东西,都违法了还想着“吃饭的本领”,这种思想如果不矫正以后入歧途是必然的
    vikaptain
        59
    vikaptain  
       8 天前   ❤️ 1
    宁愿在生产上跑一坨屎山代码,也不愿意在生产上跑来一坨员工自己封装且没有源码的代码。

    建议 OP 开始偷偷简历吧,你可能在这个公司呆不久了。
    chanChristin
        60
    chanChristin  
       7 天前
    @killerv 你这更扯,如果公司直接去找 b 公司沟通呢,那不两个人都进去了吗
    yayoi
        61
    yayoi  
       7 天前
    公司违法和你违法是两回事,拿这个逻辑给你自己开脱没啥意义,就你自己提的标题,当然应该给,不过得改改代码再给了,如果你认为你开发的这玩意真有吃饭的本事,那你应该做公司的供应商而不是员工,
    javalaw2010
        62
    javalaw2010  
       7 天前   ❤️ 6
    如果我是公司技术负责人,除非是外部的商业化 SDK ,否则我不可能让一个没有源码的库/程序进入生产环境,我不管你源码咋来的,你是净室开发也好,直接抄别人代码也罢,不提供源码,你这个功能就上不了线。而且基于这种职业操守,我肯定会考虑直接辞退或者边缘化这样的员工。
    Mrun
        63
    Mrun  
       7 天前
    你已经违法了,公司是有权起诉你的,别拿自己的无知当借口
    vsitebon
        64
    vsitebon  
       7 天前
    如果你开发的东西是进公司之后,要不就坦白把代码交上去,要不就申请重新开发这个库,要不就挑担子走人,不然真的上生产的话,迟早大概率吃官司
    imagecap
        65
    imagecap  
       7 天前
    OP 这是咋想的。个人和公司代码一定分开,更别说二进制封装,没啥意义,手撕个也行啊。
    JoshuaEstell
        66
    JoshuaEstell  
       7 天前
    如果公司非要,签协议,法律风险由公司负责,跟你没关系
    huoshanhui
        67
    huoshanhui  
       7 天前
    这有什么好咨询律师的。既定事实。
    lovedebug
        68
    lovedebug  
       7 天前
    没有,但是可以重新写一个~
    810244966
        69
    810244966  
       7 天前
    不管是不是你朋友公司抄的代码,原因一“原因一是这部分代码算是核心代码,个人认为算是吃饭的本领,不愿意开源给别人”真够逆天的
    hwdq0012
        70
    hwdq0012  
       7 天前
    我是写一个 mit 的库,用到公司的项目里, 即为公司打工也为自己的库贡献代码,也不怕公司告我,代码节假日提交得比工作日多
    Eytoyes
        71
    Eytoyes  
       7 天前
    喂给 AI 进行“优化”,然后发布到开源社区?
    rareMango
        72
    rareMango  
    OP
       7 天前 via Android
    打算参考楼上建议,用 ai 重新实现后给新公司
    rareMango
        73
    rareMango  
    OP
       7 天前 via Android
    @javalaw2010 看公司吧,我上家公司基本关键部分都会封库,关键部分你是看不到的
    ytmsdy
        74
    ytmsdy  
       7 天前
    别给啊,我们程序员群体就是太实诚了。吃饭的家伙事凭什么免费给其他公司?又不是刚刚开始就一直开发写的。
    要么让公司花钱买,要么让公司给你时间,让你慢慢写。
    公司问你要源码,你就说没有,当初就只有这个封装好的。他能把你怎么滴了?
    到时候你手里拿着这个东西,准备裁你的时候,也会掂量一下。
    sun019
        75
    sun019  
       7 天前
    重新实现给吧,毕竟你现在在这公司上班啊。
    dcdlove
        76
    dcdlove  
       7 天前
    @xiaochena 哈哈哈哈
    dddd1919
        77
    dddd1919  
       7 天前
    很好的解释了进退维谷
    dcdlove
        78
    dcdlove  
       7 天前   ❤️ 1
    @ruiy op 起码的职业道德都没有,没有得到授权就敢乱使用第三方代码,他甚至还想以此要要挟公司
    dcdlove
        79
    dcdlove  
       7 天前
    @810244966 这种人不仅没有职业素质,更是轻视法律,把已知风险当儿戏
    sme11ycat
        80
    sme11ycat  
       7 天前
    用工具反编译一套交差???
    rareMango
        81
    rareMango  
    OP
       7 天前
    @dcdlove 不是你从哪里看出来我要挟公司了?
    NerbraskaGuy
        82
    NerbraskaGuy  
       7 天前
    其实你拿前公司代码用在现在项目就已经违法了....
    ZeroDu
        83
    ZeroDu  
       7 天前
    很多人刚入行估计没那个意识,自己写各种库引入公司项目,还想着这是个人版权的东西
    slert
        84
    slert  
       7 天前
    上班遇到有人用自己写的框架/库真是件挺恶心的事,尤其还是闭源的
    quqiu
        85
    quqiu  
       7 天前
    不开玩笑
    速速跟老板认个错,旧模块删掉,自己重写一下补上去.
    不然严重点可能要吃公家饭了.
    plasticman64
        86
    plasticman64  
       7 天前   ❤️ 3
    『个人认为算是吃饭的本领,不愿意开源给别人』
    又天真又带点奸,蠢得我说不出话来
    bettesafford24
        87
    bettesafford24  
       7 天前
    人才啊,人才
    adoal
        88
    adoal  
       7 天前
    要么给,要么重构系统把你的代码去掉。正经公司不会允许在自己开发的系统里放进自己不可控又没有第三方商业保障的组件。
    opengps
        89
    opengps  
       7 天前
    公司可要你源码,但给出的费用显然得包含上一家公司对你的罚金
    rareMango
        90
    rareMango  
    OP
       7 天前
    @plasticman64 上面也不少你这种,我也说不出话来
    kdwnil
        91
    kdwnil  
       7 天前 via Android
    又蠢又坏,没吃上公家饭真是便宜 op 了
    ganbuliao
        92
    ganbuliao  
       7 天前
    很简单要么给要么不用这个库呗
    你又不是开源的 公司说的对啊 有问题的时候没法调试 同事没法接手啊
    真没有必要藏着掖着 大家能力都差不多 又不是写算法的 你能写出来多刁的代码啊 使用的人多了还能帮你完善一下代码
    Shazoo
        93
    Shazoo  
       7 天前   ❤️ 1
    涉嫌:
    - 伪造工作量
    - 知识产权风险
    - 恶意注入木马风险

    处理:
    - 辞退
    - 赔偿公司损失
    - op 的项目相关工作量成本
    - op 的 partner 的相关工作量成本
    - 清理 op 造成问题的相关工作量成本

    op 是那种活在自己世界的伙计,自己主观认定的”事实”稳固而不可动摇(小公司不在意啦~不合规的事情多了去了~也不算啥大事情了~)。

    希望醒来看看客观事实欸。你其实把自己放到别人踢一脚就掉下悬崖的位置了……
    Wh1t3zZ
        94
    Wh1t3zZ  
       7 天前
    牢饭结局 1: 库里面有后门,公司数据泄漏,楼主开心的过上了管吃管住的生活
    plasticman64
        95
    plasticman64  
       7 天前
    在我看来,你是有点把公司坑了的,我觉得那部分功能重新用自己的代码实现一下比较好。
    另外,我劝你不要太想着做事圆滑,法律,规定,契约精神仍然是我们社会的基石,不遵守一些规则,可能你自己觉得很聪明,但在被人眼里更多时候只是很拙劣的小把戏,只会看不起你。

    @rareMango
    frayesshi1
        96
    frayesshi1  
       7 天前
    这种事情在小公司里面应该比较多,之前也遇到过,人走了留了几个头文件和 dll ,问他要源代码不给,后面靠反编译和 chatgpt 解决了。从这个事情后面得出两个结论,第一 C++和 Qt 不像 Java 这种,没有成熟的和通用的框架,大部分框架都是靠手搓出来;第二是小公司管理很不规范,代码管理和收入管理都很不规范,但是个人觉得这些都不重要,没有关系的小公司里面能拉到业务活下去才是最重要的
    McVander
        97
    McVander  
       7 天前
    @rareMango 感觉这种情况,就不应该把黑盒的东西,引入到项目上。如果想要引入最好也按照自己的思路去实现一个轮子之类的。

    目前这种情况也只能建议先拖一拖,然后尝试平替。
    leojia
        98
    leojia  
       7 天前
    你换位思考一下,你离职了之后这部分代码出问题了公司在不找你的情况下该如何处理。想通这个问题你就知道该如何做了。
    Goooooos
        99
    Goooooos  
       7 天前
    @rareMango #73 “上家公司基本关键部分都会封库”

    这是公司内部保密需求,跟你这个行为完全不一样
    KKKKKKKKKKKKKKKK
        100
    KKKKKKKKKKKKKKKK  
       7 天前   ❤️ 1
    @leojia 他换个屁,纯纯的坏
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5655 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 02:26 · PVG 10:26 · LAX 19:26 · JFK 22:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.