您的位置:首页 > 编程语言

如何保护源代码(来自csdn讨论区)

2009-08-16 10:55 239 查看
如何保护源代码,即防止源代码的扩散,员工的流失不会导致源代码的流失


楼主


signboy
(横)
2003-06-17 17:23:04


软件工程
/
管理
/
管理版

提问

在一个软件产品的开发过程中,如何能有效的保护源代码,员工的流失不会导致源代码的流失,有的公司通过封闭
usb
接口,没有软驱,不让上网等方式来保护,感觉这些方式太低级,有什么更好的办法吗

 

 
问题点数:
100
、回复次数:
57
Top


1





fourfire29
(沙子)
回复于

2003-06-17 18:34:38
得分
0

源代码管理,每个人只能看到自己的源码,别人的是编译结果,看不到源码,没有一个人能够获得全部源代码。

 

  IBM
好像有这样的产品,用
java
编写比较好实现
Top


2





java2unix
(中国)
回复于

2003-06-17 19:15:17
得分
0

vssTop


3





signboy
(横)
回复于

2003-06-17 22:37:57
得分
0

upupTop


4





zhf_karen

zhf

回复于
2003-06-18 09:09:48
得分

10


每个开发人员都有两台机器,办公用机,开发用机。这样一来可以防止开发的程序影响网络运行;二来,开发用机和办公网以及互联网断开,屏蔽
USB
口等,这样的环境下,想把代码带出去是比较困难的。

 

   

 
至于代码被不必要的人看见,这不是一个技术问题了,做一些管理上的限制吧,技术上只需要
Vss
保证就可以了。当然了,我不觉得在项目组内部还分什么你的代码我不可以看,我的代码你不可以看,这有多少意义。
Top


5





kinsing

kinsing

回复于
2003-06-18 18:16:25
得分
0

多定义一些库文件,不同的人之间只是提供库文件。
haha
  ..  

   

 
我们在同一个子系统内部,代码是互相看的,学习别人的代码非常有利于水平的提高。
   

 
另外代码真的这么保密,那我觉得也没有必要作
code   review
了。呵呵。。

 

  Top


6





xiaolongnv
(小龙女)
回复于

2003-06-18 19:09:11
得分
0

一开始,我们用
VSS
控制代码,权限管理得很严,后来发现不行,不利于员工内部之间的交流。大家一起讨论,共同进步才是关键,水涨船高嘛

 

   

  Top


7





love4myxsg
(不要用怪怪的眼神看我
,
我是
newbie

回复于

2003-06-18 22:58:03
得分
0

1
没有办法

 

  2
开源项目会把你逼得不知所措的
 

   

  btw

 
不让上网
 
对于
 
程序员来说基本上跟饮鸩止渴差不多。除非你的项目基本上是简单劳动的重复,可以不要查技术资料和创新的部分。
Top


8





zhf_karen

zhf

回复于
2003-06-19 09:12:29
得分

10


hehe,
每个人用开发用机进行开发,如果需要上网,用办公用机上网,就可以完成。

 

   

 
并不是可以完全屏蔽代码外泄(比如,你可以拆硬盘),但是,有了这样的保障措施,代码外泄的情况的确降低了很多很多,这是实行两年的结果。
Top


9





BirdGu
(鲲鹏)
回复于

2003-06-19 11:55:42
得分
0

还是多动动脑筋如何不让员工流失吧。你管得住源代码,还能管得住人脑子里的东西?

 

 
真要管的话,还是从配置管理入手。程序员按模块分工,并按模块进行源代码访问权限管理。
 

 
不过这种作为对中小型项目恐怕是不合适的。因为了解一部分代码的人越少,意味着对他们的依赖越大。
Top


10





arfayr
(阿飞)
回复于

2003-06-19 12:12:55
得分
0

对,楼上说的好

 

   

 
多动动脑筋别让员工流失
Top


11





innuendo
(往事如蛊心止即岸)
回复于

2003-06-19 12:27:12
得分
0

想要禁止是不太可能的。

 

  Avanti
当初创始人就是几个人,在集体辞职前几个月开始背代码,每人每天背一段。
 

 
当然,最后还是输了官司的说。
 

 
如何尊重开发人员,如何在技术上重视,如何通过法律手段保护自己。
 

 
一味的靠权限和封网来保护,太消极了,而且会影响开发人员对公司的感觉。
Top


12





Rainemao

Raine

回复于
2003-06-19 15:22:09
得分
0

同意
  BirdGu(
鲲鹏
)
    innuendo(
往事如蛊心止即岸
)  
的看法

 

 
应该用更积极的方法引导员工而不是防贼一样的防着员工,多交流才能得到发展嘛
Top


13





xuzhenhua21
(舍得)
回复于

2003-06-19 16:06:26
得分
0

不怕贼偷就怕贼惦记,这就是防贼的结果呀!!
Top


14





general2000
(大小统吃)
回复于

2003-06-19 17:23:43
得分
0

你怎么防也是被动做站,你应该主动作战
Top


15





dydywd

dydy3188

回复于
2003-06-19 23:29:35
得分
0

靠法律的约束和人的良知!!
Top


16





firstren
(司马世英)
回复于

2003-06-20 11:38:53
得分
0

关心员工,留住人才才是上策
Top


17





stone_lin
(师大林)
回复于

2003-06-20 13:39:39
得分

10


我觉得应该从招聘开始
:
 

 
首先招牌职业道德较好的程序员
 

 
其次从企业文化、团队文化方面进行培育,增加团队成员的归属感,减少人员流动
 

 
再次在招牌人员时区分为:
1
)程序员
2
)代码员;程序员为核心成员,负责需求和核心代码的编写,同时将项目模块化、定义模块的接口;代码员的要求比较低,只是实现程序员分派的函数,可以随意流动而不影响团队、项目,当然过大的人员流动是会影响团队成员的归属感的。
Top


18





kingdl
(侠骨柔肠)
回复于

2003-06-20 23:49:36
得分

10


第一,企业的资源不是代码,而是人

 

 
第二,控制代码导致员工不信任企业,而且没法交流。
 

 
万事离不开人,一个企业,尤其是高科技企业,软件企业,最核心的资源不是什么代码,是人。
 

 
如果你留不住核心员工,让他跳槽,这是你管理的失败,再控制代码也没用。
 

 
你不信任员工,员工就不信任你,这样员工的工作热情就降低了,效率自然下降。
 

 
而且如果一个项目组都不能共享代码,怎么知道别人的工作,怎么把握项目,谁敢说设计的完美到模块间没有偶合?

 

 
万一半途有人离开项目组怎么办?重新熟悉代码需要多少时间?
XP
编程不知道有没有听过,人家可是结对编程,共享代码的呀!!
Top


19





uniware

uniware

回复于
2003-06-21 00:35:12
得分

10


 

 
防不胜防啊!
 

   

 
上网,软盘,
USB
,拆卸硬盘,安装刻录机,
 
甚至打印,手段太多

 

   

 
若不是非常关键的代码,似乎不必要控制得太严格了,有些代码即使给人拷贝走了,价值也不是
 

 
很高。关键在于控制每个人接触的代码,要把自己接触的代码带出去还是比较简单的,也不好
 

 
控制。其次要用法律的手段解决问题。
Top


20





Jeff_Sheng
(糊涂)
回复于

2003-06-21 11:02:57
得分
0

我们老板竟然在公司安装了监视器,真他妈的缺德

 

 
想起有个镜头对着我就难受
Top


21





pepo2000

cotty8000

回复于
2003-06-21 12:14:03
得分
0

我认为一个员工在能在一个公司员工,编出的代码是员工的经验与财富,公司不应该搞什么控制,但员工如果不拿代码作商来活动,就可以了

 

   

   

   

   

   

   

  Top


22





itworkmen

oy

回复于
2003-06-21 14:07:30
得分
0

有的老板不注重代码编写质量,认为编码是很简单的事,从不过问员工关于编码的任何事,所以我负责的项目,增个系统代码我都翻遍了,如同垃圾一般,没什么价值,如果真正能够引起员工兴趣的代码,那样的编码才算上价值,对于我来说,最好吧有价值的适合重复使用的编码写进个人的
dll
中,员工有权保留它的知识成果。交
dll
给公司用就可以了

 

  Top


23





qinyong
()
回复于

2003-06-21 16:12:27
得分
0

完全同意
kingdl(
侠骨柔肠
)
的看法
!
 

   

 
用人不疑
,
疑人不用
,
還是以誠相待吧
!Top


24





signboy
(横)
回复于

2003-06-27 22:16:27
得分
0

对于一个项目来说,的确是这样的,但是对于一个软件产品来说,尤其是公司发展初期,代码是公司的唯一啊,怎么能不做保护呢
Top


25





termite

★★★★★

回复于
2003-06-28
10:56:22
得分
0

to  
uniware(uniware)    

   

  In   one   of   my   friends'   previous  
company  

   

 
上网
(
不让
)

 

 
软盘,
USB
,拆卸硬盘,安装刻录机(所有的机器给锁在柜子里了,你没招了吧),

 

 
甚至打印
(
牙根就不让你打印
)
,手段太多
 

   

 
你没招了吧??:)
 

   

  Top


26





yxueming

yxueming

回复于
2003-06-29 13:28:12
得分
0

我把它抄在纸上,甚至背下来。

 

 
其实公司最宝贵的资源是员工。
 

 
公司最需要的是不断发展壮大的明天,而不是辉煌的昨天。
Top


27





yunjian
(刀剑如梦)
回复于

2003-06-29 16:02:57
得分
0

如果是这样,那么,就让代码去为你工作吧。

 

 
疑人不用,用人不疑,连这样的道理都不懂?
 

   

 
这样的结果只会让员工的主动性减小,效率降低,我想,这是大家都不愿意看到的吧?
Top


28





yunjian
(刀剑如梦)
回复于

2003-06-29 16:22:51
得分

10


我想,如何培养手下的员工以达到让他们每个人的能力都能得到很好的提高才是应该做的,并且,借此可以提高整个团队的技术水平和合作能力。

 

 
另外,适时组织一些活动对整个团队的发展也是有很大好处的。
 

   

 
如果能从整个团队的利益出发去考虑,大概会做到心胸宽阔点,再依此延伸出去,如果以整个民族软件产业的发展来想想,各位,是否觉得这些所谓的控制和扩散措施做得有点,
sorry,
我觉得有点狗屁不是!!!
Top


29





vernicle
(蒜泥烧)
回复于

2003-06-29 19:42:03
得分
0

配置管理
 

 
咔咔
 

  Top


30





w102272

Wonder

回复于
2003-06-29 23:36:50
得分
0

作这种控制的公司,老板都是猪头。如果有这个想法的人是个
PM
,则说明此人既无信心,也无能力管理自己的团队,是个不称职的垃圾。

 

   

 
如何保护源代码,即防止源代码的扩散,员工的流失不会导致源代码的流失?
 

 
不让技术人员干活,就什么也不会流失了。
 

 
还有啊,别以为这么留下来的东西能保持多久的价值,很可能在互联网上随便
google
一下
...
 

 
还有啊,这么留下来的东西,不知道谁去维护,谁去看,谁去用?
   
老板自己?

 
嘿嘿嘿嘿
...  

   

 
除非业务极其相似,对旧系统的升级和维护开销远高于重设计,而且还要面临可能的诉讼。
 

 
如果是竞争对手有足够的技术实力,大概
99%
会选择自己写,

 
如果是低手,你白送也未必有人看。看看公司竞争,从来都是挖人,那里有挖代码的,呵呵。。
 

   

 
换个角度,你花了钱在员工身上,相当于投资。最好的回报是让他不断创造东西,而不是把的东西躲着藏着,把作东西的员工当贼防。

 

 
那还不如赶快把他们都开了,东西出不来,现金压力真的很大。恐怕你撑不了多久。
Top


31





carrotmin

carrotmin

回复于
2003-06-30 12:29:24
得分
0

同意
 

 
没见过这么保护源代码的
 

 
那还不如在员工离职的时候签个保密协议管用
 

  Top


32





zhf_karen

zhf

回复于
2003-06-30 12:48:40
得分

10


我觉得倒还是有必要进行代码的保护的,你可以说破天去,但是,有人离开公司的时候,就是把项目源代码全部带走,全部贡献给新的公司(我亲眼看见过这样的人,带着全套代码,甚至那个公司还没有使用上,就在另一个网站全面使用了),这如何说?

 

   

 
把员工留住,很对,尽量把员工留住,但是,在人力资源研究中,有一条重要的理论就是:有一些人,无论你采用什么手段,都是无法留住的,不要把精力集中在这些注定要离开的人身上(比如,有人就是觉得现在公司没有名气,想去一个大公司做事,你有什么办法?好聚好散就是了)。不能说一个团队有人离开,就是
PM
无能吧。

 

   

 
双管齐下,做一些什么,总比什么都不做好,不是说,现在的法律有漏洞,就不需要法律了吧。同样的,必要的代码管理还是需要的。
Top


33





netkid
(酸菜鱼)
回复于

2003-06-30 12:51:42
得分
0

不知道那些有一定规模、知名的公司是怎么做的,有知情的透露一点
Top


34





zhf_karen

zhf

回复于
2003-06-30 12:53:32
得分
0

至于说:抄下来,背下来,呵呵,犯错的成本提高了吧,有这个想法的人,可能也不忌讳把代码全部拷走吧。

 

   

 
这有点象出租车的防护栏,你说他有用吧,我觉得用处不大,你说他没有用吧,但是,的确能够降低对出租车的犯罪(我看见的这个数据是
1999

2000
年的),那么就够了。
Top


35





BirdGu
(鲲鹏)
回复于

2003-06-30 15:40:03
得分

10


基本上对所有源代码都进行保护是不现实的,也是没有必要的。真正需要保护的是体现了公司特有技术,或包含公司核心竞争力的代码。对这部分代码可以由一个核心小组来维护。核心小组的成员自然是挑选值得信任的。其它人看不到这部分源代码,只能得到
DLL
库之类。被保护的源代码需要保存在单独的版本控制系统中。只有把它们分离出来,才能采取其它保护措施。基本上那些保护机密文件的措施都可以,比如严格的物理与逻辑访问控制措施,物理上的对外隔绝,网络隔离,安装网络入侵检测系统,
24
小时摄像监控,等等。这个在信息安全管理的书中有很多介绍了。

 

   

 
总之要谈保护,首先要识别哪些东西需要保护。兵法说处处设防等于不设防。
 

   

 
不过我很怀疑国内很多软件公司有没有值得如此保护的代码。
Top


36





alpha_wang
(南海十三郎)
回复于

2003-06-30 20:09:05
得分
0

建议发帖的人先去看看《人件》
Top


37





jhlcf
(晓飞)
回复于

2003-07-01 12:44:57
得分
0

以人为本,诚信合作,创造共赢
Top


38





digital1

d_jt

回复于
2003-07-02 01:58:11
得分
0

核心的几个模块最早开发,然后以
dll
方式出现,里面要加入一些人造
bug
,够损是不是

 

   

   

  Top


39





w102272

Wonder

回复于
2003-07-09 11:54:17
得分

5


to  
zhf_karen(zhf)  

 
  同意你的说法.防护栏是需要的,防君子不防小人,主要是提醒自己不犯一些低级错误.
 

   

 
  至于代码,呵呵..如果是核心技术人员有心要搞走,我看没有弄不走的.
 

 
  还是留心.合作为上,法律要讲,企业文化建设更重要.
 

 
  再说,当时怎么把这种人招聘进企业了? 我看人事部门要有人负责的.
 

   

 
  至于"上网
(
不让
)
",软盘,
USB
,拆卸硬盘,安装刻录机(所有的机器给锁在柜子里

 

 
  了,你没招了吧),甚至打印
(
牙根就不让你打印
)  

 
  "有人离开公司的时候,就是把项目源代码全部带走,全部贡献给新的公司(我亲眼看见过这样的人,带着全套代码,甚至那个公司还没有使用上,就在另一个网站全面使用了)"

 

   

 
  这种现象常常都是连在一起的.俗话说物以类聚,人以群分.
 

 
  偷窃代码的员工不是什么好人,恐怕他的公司或老板也不是什么好东西,
 

 
  讨论的人也不必
/
没法深究了,天知道事情到底是怎么回事.
 

   

 
  林子大了什么鸟都有,
 

 
  我们保证自己这里别出偷代码的鸟人,也别自己去当把职员当贼防的鸟人就够了.
Top


40





santafeng
(软件小学生)
回复于

2003-07-09 12:21:46
得分
0

我说几句
,
这个问题考虑没必要
.
 

  1.
代码是否值得偷
?(
开发过项目的人都知道
,
如果你经历过程序员到项目管理
)
 

  2.
如果公司重于软件项目开发的管理
,
代码的流失可以基本上减少到
90%,
程序员的工作根本没发接触到别人的代码
,
这怎么偷
?
 

  3.
没有注重员工的招聘及质素培训
.(
找不到好的就随便找个或根本不知道怎么挑好的
,
找到好的也没有注意挽留
).Top


41





smilelee

smilelee

回复于
2003-07-11 17:53:54
得分

5


呵呵,软件和别的商品不一样。

 

 
并不是什么人拿了都能赚到钱的,
 

 
否则我们这些程序员还打什么工,老板卖的全是我们一行行写出来的。
 

 
为什么老板能把代码换成钱而我们就只能写代码?
 

 
做软件在中国绝大多数是靠关系。有关系就能拿下项目来,并不是说你有软件就能拿下。
 

 
所以,开发人员拿到代码,多数只是用来学习,这样还有什么好防的?
 

 
如果我到这样的公司,跟防小偷似的,那还有什么可呆的,马上走人吧。这种公司只会让你不断的重复
coding
,绝没有发展和提高的机会。
Top


42





liuty2006
()
回复于

2003-07-15 00:56:13
得分
0

the  
question   is   very   intersting   :)  

  go   on!Top


43





termite

★★★★★

回复于
2003-07-19
10:19:22
得分
0

我们阿尔卡特就没有拷贝限制,但有互连网监督机制。

 

 
带走代码没用,一来项目太大,你
FOCUS
的只是一小部分,拿走也没用。二来公司有充分的信心:就算你拿出去了,竞争对手花几个月研究完了,我们公司已经升级了,有更加强大的版本了。

 

   

 
就拿我们中国区
RDC
来说,有
60
人为某个产品工作,全世界有
1000
多人,一般的小公司,我把最新的版本给你,重新一起竞争,它都不行,呵呵。规模的可怕,呵呵。

 

   

 
配置肯定是强调的,

我们
CLEARCASE
中的版本树可以用恐怖来形容了


RATIONAL
公司的培训师原话。

 

   

 
关键还是缺乏竞争力。
Top


44





cnerp
(笨虎笨)
回复于

2003-07-19 15:24:09
得分
0

真是
SB
,留住人吧。文档源代码都是写的。反正在我看来,工资高
1-2K
不是最重要的。重要的是干得开心。可能刚毕业的不一样。:)

 

 
他真要走,就让他带走他自已写的代码,别人的不给他带走就行了。
Top


45





Kylix_XP
(上帝咬过的苹果)
回复于

2003-07-24 10:39:29
得分
0

有什么好带走的呢
?
本来中国的大部分软件公司代码是一堆垃圾

 

 
不如看开放源码提高得快
Top


46





gangganghao

ganggang

回复于
2003-07-24 17:34:54
得分
0

你为什么不想着怎样去防止员工的流失。。而是代码。。
Top


47





jiffy
(小李飞刀)
回复于

2003-07-25 12:16:00
得分
0

应该共享代码,让员工提高

 

  Top


48





win32c
(清茶
+
浓咖啡
=C#

回复于

2003-07-25 13:35:48
得分
0

中国公司的软件几乎都是

 

 
垃圾
 
谁偷啊!
 

 
优秀的也是有素质的写的,他门也犯不着偷!
 

   

  Top


49





firebird519
(孤影)
回复于

2003-07-28 14:45:31
得分
0

有更好的,把所有看过代码的人杀了!!!!!

 

   

  ..............................................................................................................................................................................................Top


50





signboy
(横)
回复于

2003-07-29 21:48:20
得分
0

认为代码不值得保护的人,就不用发言了,这里不讨论这个问题,十分想说的,去这里, http://expert.csdn.net/expert/topicview1.asp?id=2025625Top

51





wangbm
()
回复于

2003-07-30 13:16:57
得分
0

现在很多公司,把
USB
,软驱等都封了。

 

 
我觉得要提高员工素质,
 

 
要让每个员工都是公司的主人。
Top


52





lee8002
(学海无涯)
回复于

2003-08-03 13:46:45
得分
0

up  

  Top


53





Joran
(老朱)
回复于

2003-08-03 14:29:50
得分
0

严重同意
kingdl(
侠骨柔肠
)


 

  termite(
不要到处乱窜,是对非典防治最大的贡献!
)
,你们公司做的好,佩服
ing.....
 

  Top


54





yajunmao

oldcat

回复于
2003-08-04 14:37:58
得分
0

markTop


55





jkxt1234567
(嗨)
回复于

2003-08-04 14:38:28
得分
0

upTop


56





fyol
(韦狂徒)
回复于

2003-08-05 13:47:06
得分
0

越说越远了
 

 
我还指望能听到什么真知灼见呢!
 

 
现在说是项目管理的规范化,请从技术或是管理着手解决问题,个别人不要意气用事,想说什么就说什么,这样扯来扯去也谈不出什么有价值的东西来
Top


57





hwardpan
(书剑草堂居士)
回复于

2003-08-06 09:22:57
得分

10


To  
Signboy,  

   

  1.  
防止源代码的扩散
  --  
对于公司内部,我觉得没有必要,对于竞争对手,这是非常重要的。但我感到遗憾的是我们中国的企业对知识产权的重视程度不够。如果我们能像国外的公司那样重视知识产权的话,这种事情发生的概率将大大的降低。

 

  2.  
如何保证员工的流失不会导致代码的流失
  --  
这一点是非常的重要。特别是在现在的环境下,产品的更新和换代那么快,如果我们每个产品都从零开始的话,这样的企业很难得到成长。或者一个产品的生命周期比较长的话,对后期的维护带来很大的困难。我就碰到这样的例子,我们大概在
8
年前为日本的一家大公司做过一个产品,到去年,他还要求我们基于当时的产品做一个升级版,但我们发现当时的代码已经找不到了,我们就这样失去了这个商业机会。

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息