请问大家在工作中如何与同事分享自己的源代码?

m
microsat
楼主 (北美华人网)
与同事做同一个方向的数据分析。但是彼此是独立的两个组,只是会交叉合作。有时候两个组做一模一样的东西(因为都认为这个东西重要,都想因此而出名)。
如果同事向你索取你已经发表的论文中的某个算法(这个算法细节已经在论文中公布了)的源代码,请问你该如何处理为好? 用什么理由拒绝比较好呢?
j
janejanecat
不是一个组不share,而且你老板多半也不愿意share
m
microsat
不是一个组不share,而且你老板多半也不愿意share
janejanecat 发表于 2023-06-15 11:43

这两个组的组长都支持共享。所有人都希望共享,除了我之外。我是这个算法的唯一研发者。
这个算法的细节和步骤其实已经公开了。会一丁点编程,就能转换成代码。
h
hkpolyu
这两个组的组长都支持共享。所有人都希望共享,除了我之外。我是这个算法的唯一研发者。
microsat 发表于 2023-06-15 11:47

明显你被吃大户了
T
TTeeeee
老板都要求共享了,你还能玩什么花招啊。
L
Lxh
与同事做同一个方向的数据分析。但是彼此是独立的两个组,只是会交叉合作。有时候两个组做一模一样的东西(因为都认为这个东西重要,都想因此而出名)。
如果同事向你索取你已经发表的论文中的某个算法(这个算法细节已经在论文中公布了)的源代码,请问你该如何处理为好? 用什么理由拒绝比较好呢?
microsat 发表于 2023-06-15 11:38

这个文章都发过了,分享code有什么顾虑 肯定是开心共享,然后宣扬两个组无间合作。以后他们有什么成果还能分润一下 你们要impact/credit靠敝帚自珍可是大大的有问题
m
microsat
老板都要求共享了,你还能玩什么花招啊。
TTeeeee 发表于 2023-06-15 11:50

这个算法的细节和步骤完全公开了,没有秘密而言。
任何人都能轻松转换成代码。
我已经把论文(内含全部算法细节和步骤)给了这个同事。 不知道为何同事还索求源代码。
L
Lxh
这两个组的组长都支持共享。所有人都希望共享,除了我之外。我是这个算法的唯一研发者。
这个算法的细节和步骤其实已经公开了。会一丁点编程,就能转换成代码。
microsat 发表于 2023-06-15 11:47

你不肯共享的理由是什么? 如果不想让别人学习进步那你的工作态度方法可太落后了,以后没前途的(除非你是业界百年一遇的大牛)
蓝光加湿器
这个算法的细节和步骤完全公开了,没有秘密而言。
任何人都能轻松转换成代码。
我已经把论文(内含全部算法细节和步骤)给了这个同事。 不知道为何同事还索求源代码。
microsat 发表于 2023-06-15 11:52

又是楼主,这次又不涉及第一作者通信作者,你问老板呗,老板同意你就share呗
m
microsat
你不肯共享的理由是什么? 如果不想让别人学习进步那你的工作态度方法可太落后了,以后没前途的(除非你是业界百年一遇的大牛)
Lxh 发表于 2023-06-15 11:54

不是不共享。
是想等研发出更高级的算法时,再共享这个过时的算法(其实已经公开,就是源代码没公开)。
目前的研发遇到一些困难,新的算法的工作性能并不理想。
所以我想拖延这个共享。
w
worldconcepts
代码所有权是公司的,如果老板要共享,你没有任何立场反对。而且你也说啦算法简单到会一点编程就能写,就更没意义藏着掖着。别人用你的代码对你的career绝对是好事不是坏事
E
EEswine
这两个组的组长都支持共享。所有人都希望共享,除了我之外。我是这个算法的唯一研发者。
这个算法的细节和步骤其实已经公开了。会一丁点编程,就能转换成代码。
microsat 发表于 2023-06-15 11:47

两个组长都支持,那你就乖乖分享呗,这个代码的所有权在公司,你无权拒绝公司组长要求你分享呀。
M
MountainBlue
在公司里研发的算法,所有权属于公司。老板同意的情况下,也没有理由拒绝共享。另外一个角度,现在大方共享,以后求人的时候,别人也会卖一个面子。
m
microsat
代码所有权是公司的,如果老板要共享,你没有任何立场反对。而且你也说啦算法简单到会一点编程就能写,就更没意义藏着掖着。别人用你的代码对你的career绝对是好事不是坏事
worldconcepts 发表于 2023-06-15 12:00

如果这篇文章是加入这个公司之前发表的呢?也就是说这个代码和算法不属于这个公司。
m
microsat
两个组长都支持,那你就乖乖分享呗,这个代码的所有权在公司,你无权拒绝公司组长要求你分享呀。
EEswine 发表于 2023-06-15 12:01

代码所有权不属于这个公司。因为文章是我之前发表的。但是这篇文章有我现在的组长的名字。
w
worldconcepts
回复 14楼microsat的帖子
那样的话it is totally up to you. 你不想分享可以给这个同事说明这个代码版权属于你个人,不便分享
L
Lxh
代码所有权不属于这个公司。因为文章是我之前发表的。但是这篇文章有我现在的组长的名字。
microsat 发表于 2023-06-15 12:03

那我觉得也必须共享 建议你最好call个会,邀请相关人员来解释一下算法和code结构,问他(们)要做什么,你可以参与帮忙 并且你的新项目也问问点子,有人愿意参与就欢迎 把你自己放在driver seat 这就是领导力
m
microsat
回复 14楼microsat的帖子
那样的话it is totally up to you. 你不想分享可以给这个同事说明这个代码版权属于你个人,不便分享
worldconcepts 发表于 2023-06-15 12:08

谢谢!有什么比较委婉的推迟吗?
我现在的推辞就是,“这个算法细节已经公布了,我可以教你怎么编写这个算法。源代码我已经搬家弄丢了。” 这个推辞好吗?
m
microsat
那我觉得也必须共享 建议你最好call个会,邀请相关人员来解释一下算法和code结构,问他(们)要做什么,你可以参与帮忙 并且你的新项目也问问点子,有人愿意参与就欢迎 把你自己放在driver seat 这就是领导力
Lxh 发表于 2023-06-15 12:09

就是因为不在driver seat上,才伤心的来问的。
现在这个同事搞个大项目,他自己是头。但是这个大项目中,却是我的这个算法是核心中的核心。 他不喜欢我来当这个driver seat。所以想索取源代码过去,然后学习研究。
而我,根本没有领导他的可能。我就想不给他代码。他自己愿意去研究就研究。 我要等到把新算法发表了后,再给他这个。
m
microsat
回复 14楼microsat的帖子
那样的话it is totally up to you. 你不想分享可以给这个同事说明这个代码版权属于你个人,不便分享
worldconcepts 发表于 2023-06-15 12:08

大家在腥风血雨的职场,都是如何做到保护自己的劳动成果不被窃取的?
L
Lxh
所谓driver seat不是别人让你,而是你自己怎么认为 他的大项目你可以积极参与啊,以你的算法源代码为契机成为项目中坚。先问问你老板争取支持。总之不能让那个项目bab你和你们组扔一边。 想想你不共享人家也就是多花一两周自己做而已,你最后没落到好处还惹埋怨
m
microsat
我把遇到的问题再详细描述一下。
假如你在某个地方工作了好久,是某个领域的专家。你做的东西越来越火。 现在上面领导决定要成立一个你这个方向的新部门(暂时没有),但是头头却不会是你。你仍然将是这个新部分的重要一员工。 头头是别人。这个别人也很懂技术,只是没有你专业罢了。
现在这个头头和你是平级,但是很快他就会是你的头头,一切都在暗斗中。
大家遇到这个情况,该如何是好? 交出代码其实只是一个很小的环节。
我现在想法是:如果不让我当这个头头,我就辞职。这个代码现在不能交出。反正也不属于这个地方的。 只有在保证我是这个头头的前提下,才能把这个代码给这个地方。
o
oqo
这两个组的组长都支持共享。所有人都希望共享,除了我之外。我是这个算法的唯一研发者。
这个算法的细节和步骤其实已经公开了。会一丁点编程,就能转换成代码。
microsat 发表于 2023-06-15 11:47

会一丁点就能实现 那就共享好了 在code最前面注释上说明 加上作者名字版本号和日期 再时髦点 加上license或disclaimer 注明不允许删除注释 使用的话reference要引用你
m
microsat
会一丁点就能实现 那就共享好了 在code最前面注释上说明 加上作者名字版本号和日期 再时髦点 加上license或disclaimer 注明不允许删除注释 使用的话reference要引用你
oqo 发表于 2023-06-15 12:22

有啥用。 你用python编写。人家用java写。然后把前面的注释全部改成他的名字。
H
High.eee
回复 22楼microsat的帖子
争取当头头啊,你是专家。如果争不到,就是败了,这个头头以后是这个领域的领头人,不是你。准备跳槽,看能不能拿到更好的职位。
m
microsat
回复 22楼microsat的帖子
争取当头头啊,你是专家。如果争不到,就是败了,这个头头以后是这个领域的领头人,不是你。准备跳槽,看能不能拿到更好的职位。
High.eee 发表于 2023-06-15 12:25

哎。多谢!我也是这样想的。我的综合能力我觉得不如这个同事。主要是不会说,不会写,不会表达,不会沟通。
在职场,每天都是眼泪。没有快乐的一天。
n
nickbear
我把遇到的问题再详细描述一下。
假如你在某个地方工作了好久,是某个领域的专家。你做的东西越来越火。 现在上面领导决定要成立一个你这个方向的新部门(暂时没有),但是头头却不会是你。你仍然将是这个新部分的重要一员工。 头头是别人。这个别人也很懂技术,只是没有你专业罢了。
现在这个头头和你是平级,但是很快他就会是你的头头,一切都在暗斗中。
大家遇到这个情况,该如何是好? 交出代码其实只是一个很小的环节。
我现在想法是:如果不让我当这个头头,我就辞职。这个代码现在不能交出。反正也不属于这个地方的。 只有在保证我是这个头头的前提下,才能把这个代码给这个地方。

microsat 发表于 2023-06-15 12:21

你的说法前后矛盾,充满了很多脑补的情节 前面说是两个组,其实是自己新部门的老板 前面说算法细节公开,只需要会一点编程就能实现 后面要用这个代码作为给promotion的要挟,想想这可能么 人家找你要,一是因为省事,二是因为新研究基于你之前的paper绕开你反而奇怪 你不share的结果就是人家另起炉灶不带你玩而已

L
Lxh
哎。多谢!我也是这样想的。我的综合能力我觉得不如这个同事。主要是不会说,不会写,不会表达,不会沟通。
在职场,每天都是眼泪。没有快乐的一天。
microsat 发表于 2023-06-15 12:26

不会说不会写你要当头岂不是压力很大得不偿失? 你可以要求平级作为专家同他合作,否则辞职 这应该有足够leverage
T
TTeeeee
哎。多谢!我也是这样想的。我的综合能力我觉得不如这个同事。主要是不会说,不会写,不会表达,不会沟通。
在职场,每天都是眼泪。没有快乐的一天。
microsat 发表于 2023-06-15 12:26

"不会说,不会写,不会表达,不会沟通" -- 你也清楚自己的短板了,当不了头头,当技术专家也不错。
金银岛
又是楼主,这次又不涉及第一作者通信作者,你问老板呗,老板同意你就share呗
蓝光加湿器 发表于 2023-06-15 11:56

不是吧,那人叫fight2019
d
dahai008
大概理解楼主的意思, 领导让另外一个人新部门头头, 你不爽呗(主力却没有得到相应的回报), 而且你也是核心之一, 那就只能和领导谈, 给你好点的位置/title, 这样也不会白给别人做垫脚石. 你们领导是不是也考虑到另外一个人综合素质比较好?才让他当头?
s
shoon_yee
哎。多谢!我也是这样想的。我的综合能力我觉得不如这个同事。主要是不会说,不会写,不会表达,不会沟通。
在职场,每天都是眼泪。没有快乐的一天。
microsat 发表于 2023-06-15 12:26

你自己描述的自己就不是当头的料,老实说还不如做技术大拿,顺便提高这些技能。要不然你现在当了也很有压力。
m
maylikesun
文章都发表了,大部分journal都会要求源代码共享的吧。
c
cauchy
哎。多谢!我也是这样想的。我的综合能力我觉得不如这个同事。主要是不会说,不会写,不会表达,不会沟通。
在职场,每天都是眼泪。没有快乐的一天。
microsat 发表于 2023-06-15 12:26

不會表達溝通怎麽能獨當一面lead呢。樓主也可以選擇做significant IC
金银岛
我把遇到的问题再详细描述一下。
假如你在某个地方工作了好久,是某个领域的专家。你做的东西越来越火。 现在上面领导决定要成立一个你这个方向的新部门(暂时没有),但是头头却不会是你。你仍然将是这个新部分的重要一员工。 头头是别人。这个别人也很懂技术,只是没有你专业罢了。
现在这个头头和你是平级,但是很快他就会是你的头头,一切都在暗斗中。
大家遇到这个情况,该如何是好? 交出代码其实只是一个很小的环节。
我现在想法是:如果不让我当这个头头,我就辞职。这个代码现在不能交出。反正也不属于这个地方的。 只有在保证我是这个头头的前提下,才能把这个代码给这个地方。

microsat 发表于 2023-06-15 12:21

》这个代码现在不能交出。反正也不属于这个地方的。
建议你先确认下这个代码的归属权。你在公司里做的一切工作,或者在学校里被老板雇佣做的一切成果,不属于你吧。
当然你这次可以推脱一下,比如说代码找不到了。但这估计难不倒对方,而且还给对方留下了很坏的印象。你就没有求人的一天?
小豆
当不当头的,工资给够了就行,一个code,过几年完全没用了,藏着掖着干嘛?
树洞majia1234
中国人就喜欢搞这种藏着掖着
G
Giovanna
楼主啊,你技术又没有牛到无人替代,还耍什么大牌?你自己也说了,不会说话不会写不会表达,项目头头选了别人没选你,显然是有道理的。你手上无牌可打,自作聪明藏着掖着,影响自己的职场名声。政治斗争可不是这么玩的。
m
microsat
大概理解楼主的意思, 领导让另外一个人新部门头头, 你不爽呗(主力却没有得到相应的回报), 而且你也是核心之一, 那就只能和领导谈, 给你好点的位置/title, 这样也不会白给别人做垫脚石. 你们领导是不是也考虑到另外一个人综合素质比较好?才让他当头?
dahai008 发表于 2023-06-15 12:51

对。论综合能力,我不行。 我比较老土,只会编程,其他啥也不会的那种。 如果不想折腾,一辈子做个苦力,也能活。 如果想折腾,可能会四处碰壁。
m
microsat
你的说法前后矛盾,充满了很多脑补的情节 前面说是两个组,其实是自己新部门的老板 前面说算法细节公开,只需要会一点编程就能实现 后面要用这个代码作为给promotion的要挟,想想这可能么 人家找你要,一是因为省事,二是因为新研究基于你之前的paper绕开你反而奇怪 你不share的结果就是人家另起炉灶不带你玩而已


nickbear 发表于 2023-06-15 12:45

是这样的。 大家没遇到我这些苦恼吗?
比如:永远都是苦工。永无出头之日。
m
microsat
楼主啊,你技术又没有牛到无人替代,还耍什么大牌?你自己也说了,不会说话不会写不会表达,项目头头选了别人没选你,显然是有道理的。你手上无牌可打,自作聪明藏着掖着,影响自己的职场名声。政治斗争可不是这么玩的。
Giovanna 发表于 2023-06-15 13:04

是啊。这不是向各位大牛请教吗。 我也在思考中。并没有一定不交出codes. 毕竟寄人篱下,先活命。
千渔千寻
回复 1楼microsat的帖子
你先开源?你没有ownership但是有authorship。
m
microsat
回复 1楼microsat的帖子
你先开源?你没有ownership但是有authorship。
千渔千寻 发表于 2023-06-15 13:12

也就是说先上传到github上? 这个主意好。
有没有一种方法,即使下载了github上的源代码,也看不懂? 只能运行出结果。但是看不懂。 也改不了。一改,就出错误运算的结果
比如:scikit-learn。你可以运行。但是你想改动,除非你是业界大牛。
千渔千寻
回复 43楼microsat的帖子
我去点个星。clone一下。别人不就抢不走了嘛。
只要你老板愿意开源。

小豆
是这样的。 大家没遇到我这些苦恼吗?
比如:永远都是苦工。永无出头之日。
microsat 发表于 2023-06-15 13:09

没有你这苦恼,有自知之明讲不过人家,而且懒得管事,人家愿意用我的技术就用,钱给够了就开心,有自由干点自己喜欢的事,生活又不是只有工作。
m
microsat
回复 43楼microsat的帖子
我去点个星。clone一下。别人不就抢不走了嘛。
只要你老板愿意开源。


千渔千寻 发表于 2023-06-15 13:15

有什么方法,给你源代码,你只能运行,但是改动不了,也看不懂?
z
zhangxx818
谢谢!有什么比较委婉的推迟吗?
我现在的推辞就是,“这个算法细节已经公布了,我可以教你怎么编写这个算法。源代码我已经搬家弄丢了。” 这个推辞好吗?
microsat 发表于 2023-06-15 12:09

我觉得可以,虽然一听就知道你不愿意共享,但是大面上过得去。。
z
zhangxx818
就是因为不在driver seat上,才伤心的来问的。
现在这个同事搞个大项目,他自己是头。但是这个大项目中,却是我的这个算法是核心中的核心。 他不喜欢我来当这个driver seat。所以想索取源代码过去,然后学习研究。
而我,根本没有领导他的可能。我就想不给他代码。他自己愿意去研究就研究。 我要等到把新算法发表了后,再给他这个。
microsat 发表于 2023-06-15 12:13

如果是我,我不会共享。。 共享了以后,搞不好你就被踢开了。。 我也想不到比较好的法子,但是我就是要拖着。。
z
zhangxx818
我把遇到的问题再详细描述一下。
假如你在某个地方工作了好久,是某个领域的专家。你做的东西越来越火。 现在上面领导决定要成立一个你这个方向的新部门(暂时没有),但是头头却不会是你。你仍然将是这个新部分的重要一员工。 头头是别人。这个别人也很懂技术,只是没有你专业罢了。
现在这个头头和你是平级,但是很快他就会是你的头头,一切都在暗斗中。
大家遇到这个情况,该如何是好? 交出代码其实只是一个很小的环节。
我现在想法是:如果不让我当这个头头,我就辞职。这个代码现在不能交出。反正也不属于这个地方的。 只有在保证我是这个头头的前提下,才能把这个代码给这个地方。

microsat 发表于 2023-06-15 12:21

要我,我也会这样。。。
千渔千寻
回复 43楼microsat的帖子
那要看你的水平了。我们有自己的in house framework,保证一般的junior/senior工程师,看源代码,绝对看不懂怎么运行的。
z
zhangxx818
是啊。这不是向各位大牛请教吗。 我也在思考中。并没有一定不交出codes. 毕竟寄人篱下,先活命。
microsat 发表于 2023-06-15 13:11

我觉得你可以说,源代码找不到了,但是公司需要你写,你可以写出来。。 要是别人让你写,你就要求一个比较长的时间。。 这样你就有job security。。。你对公司的贡献也有据可查。。 然后你就慢慢的写,写完还要测试,不要着急。。。 当然,这些工作都要在上班的时候慢慢做,算你的工作量哦~~ 而且写码的时候,要时不时的在组会上汇报你完成了百分之几,好叫所有人都知道是你写的。。。
星月花草
回复 1楼microsat的帖子
互相share
Q
Qqqqzj
如果代码所有权属于公司,那你基本没有理由不共享。 如果属于前雇主,那不是很好拒绝吗?本来就不应该共享,免得引起法律纠纷。 除非属于自己,但看不出来有什么理由代码属于你自己
g
geneontology
你做个网站就可以不用给源代码。
o
oqo
有啥用。 你用python编写。人家用java写。然后把前面的注释全部改成他的名字。
microsat 发表于 2023-06-15 12:25

那么容易 就说明这源代码没啥价值 工作中合作是很重要的 你要是不转变思维 老守着自己的一亩三分地 很难往上走
s
shenmafuyun2011
是这样的。 大家没遇到我这些苦恼吗?
比如:永远都是苦工。永无出头之日。
microsat 发表于 2023-06-15 13:09

这就是自找的,为什么一定要出头?出头的人生才快乐?被洗脑了吧
o
oqo
也就是说先上传到github上? 这个主意好。
有没有一种方法,即使下载了github上的源代码,也看不懂? 只能运行出结果。但是看不懂。 也改不了。一改,就出错误运算的结果
比如:scikit-learn。你可以运行。但是你想改动,除非你是业界大牛。
microsat 发表于 2023-06-15 13:13

你先搞清楚有没有legal方面的问题 有没有用到工作单位的数据或私有数据 别到时候惹大麻烦
3
3906
对。论综合能力,我不行。 我比较老土,只会编程,其他啥也不会的那种。 如果不想折腾,一辈子做个苦力,也能活。 如果想折腾,可能会四处碰壁。
microsat 发表于 2023-06-15 13:05

你其实也不会编程。要不然,不用这么窝着。
3
3906
是这样的。 大家没遇到我这些苦恼吗?
比如:永远都是苦工。永无出头之日。
microsat 发表于 2023-06-15 13:09

你可以自己出去试试。当你发现自己不依靠公司或老板一分钱也弄不来的时候,你就知道为什么只能永远是苦工了
咏叹调
如果他只是想用来分析数据,你就给他提供个接口,然后打包成 .exe.
y
yinglei
都是公司的东西啊,为啥不愿意共享。只要两边头都知道你的contribution,共享是好事。能帮助别人,带新人这种soft skill也是升职的一大考虑因素。
L
Lxh
有什么方法,给你源代码,你只能运行,但是改动不了,也看不懂?
microsat 发表于 2023-06-15 13:18

你这心态完全不对头 境界太低 不改永远在工作里都会困扰和苦恼
y
yinglei
是这样的。 大家没遇到我这些苦恼吗?
比如:永远都是苦工。永无出头之日。
microsat 发表于 2023-06-15 13:09

还真没遇到过。工作中我向来愿意share和教别人,所以每个工作一年多就会有当lead的机会,离开公司的时候我也把自己的onenote删了个人帐户有关的信息后export分享给大家
z
zhangyf762
不知道楼主年纪,觉得职业操守有问题,你在公司上班,你所有的code 都是公司的啊?而且你们两个manager 都要求你share,本来挺好的一事儿给你这么drama 操作,凭什么promote你? >> 你这心态完全不对头, 境界太低, 不改永远在工作里都会困扰和苦恼
z
ziyi99
要共享就干脆做个PPT,把两个组的人都教一遍,这样大家才能记住你的credit。千万不要只教个别人,就把代码直接放到driver上。楼主开个培训meeting,邀请所有人参加,把所有人都教个七七八八,光给个别的人,给的人不会感恩,没给到的觉得你不在乎他们。这样做,其实是展示实力的时候。碰到类似问题就会有人请教楼主,慢慢楼主技术大牛的形象就树立起来了。
f
facet
代码所有权是公司的,如果老板要共享,你没有任何立场反对。而且你也说啦算法简单到会一点编程就能写,就更没意义藏着掖着。别人用你的代码对你的career绝对是好事不是坏事
worldconcepts 发表于 2023-06-15 12:00

实际上,愿不愿共享代码也是区分工作能力强弱的标志,能力强的根本不在乎,因为有挑战性的总是新问题
y
yoyo2007
回复 1楼microsat的帖子
如果代码是在目前公司写的,当然是CC老板,让老板做决定。 如果是在之前公司写的,告诉老板代码不属于个人,让老板去要授权。 BTW,如果是工作相关的,你写的代码并不是你个人的。