如何管理封闭源高风险项目?


25

我目前正计划开发一个J2EE网站,并希望邀请1个开发人员和1个Web设计师来为我提供帮助。该项目是利基市场中的金融应用程序。

我计划保持源关闭。但是,我担心我的潜在员工会轻易复制代码库并使用它或将其出售给第三方。该应用程序的开发将需要4到6个月的时间,也许还要更长的时间,并且在该应用程序上线后,我可能会增加其他员工。

但是,我该如何保持来源自负。公司是否使用技术来保护其来源?

我预见到将在开发计算机上禁用USB驱动器和DVD刻录机,但是仍然可以上传数据或将代码附加到电子邮件中。

我的问题不完整。但是遇到我这种情况的程序员请指教。我应该怎么做?建立团队,维护代码保密性等。

我也期待与员工签订保密合同。(请添加相关标签)

更新资料

感谢您的所有答案。我当然不会现在禁用所有USB端口和DVD刻录机。但是我认为我应该记录活动(我应该怎么做?)我对那些会加入现有代码并随后跑掉的黄牛警惕。我什么都没见,但建议我要警惕他们。我会包含一个保密条款,但是鉴于这是一家几乎没有资金的初创公司,并且在竞争激烈的业务利基市场中,该领域有较大的参与者,我怀疑我是否能够发现或追捕黄牛。

当我本人不认识我时,我该如何雇用他们信任的人。他们的简历会有所帮助,但是信任只会随着时间的推移而发展。

但是最后,即使他们确实使用了代码,销售后的服务也很重要。因此,我从长远来看并不真正担心。


28
我知道我(而且没有其他理智,称职的开发人员)会考虑在您暗示的条件下工作(禁用Pendrive,DVD刻录机……)。
乔纳森·斯特林

5
只是有毒。
乔纳森·斯特林

53
老实说,当我遇到拒绝扩大信任的人时,我总是认为它说的更多的是关于自己的信任而不是我的信任。这就是说,如果您认为我不值得信任,那是因为您知道自己可以做到。不要被信任。
James McLeod 2010年

8
@abel:总结一下您以前的言论,您没有从事专业软件开发的经验。但是,您正在尝试进入“竞争激烈的业务利基市场”,并在“几乎没有资金”时与“更大的参与者”对抗。与担心程序员会在您的代码上花钱相比,您有更多要炸的鱼。如果您是我,我会写一份商业计划,并由已经在您的目标领域取得成功的商人进行审查,然后考虑您是否真正拥有成功的资源。
鲍勃·墨菲

37
@abel:更新后,您的问题是这样的。您没有很多钱,甚至从未在餐厅工作过,更不用说经营一家餐厅了。但是无论如何,您都决心要开一家餐厅-在旧金山,那里已经有很多很棒的餐厅在努力赚钱。因此,您参加了厨师大会,并询问如何聘请不会中毒的厨师。当他们告诉您厨师不毒害食物时,您承认您从未认识的人被毒害,但有人告诉您您应该担心它,因此无论如何您都会担心。
鲍勃·墨菲

Answers:


77

您需要信任您的开发人员。

几乎所有专业开发人员都不会窃取您的资源。可以理解,如果您为其他人工作,则是拥有您编写的代码的雇主。开发人员可以复制代码以供参考,但是他们极不可能将其出售给其他任何人。如果他们确实将其出售给新雇主,则可能的结果是,他们被示威,甚至可能被捕(如鲍勃·墨菲Bob Murphy)在其评论中指出)。被抓住是不值得冒险的。

更重要的是,不信任会滋生不信任。禁用USB端口和DVD刻录机将产生不信任感,这反而使开发人员更有可能复制代码。

一定要在您的合同中添加一个保密条款,但是可能不必将其突出显示为合同中最重要的部分。


2
简短的保密条款在开发合同和雇佣协议中是完全正常的-但正如ChrisF所说的那样,不要过分保守。对于那些完成了少数几个合同开发项目的人来说,一份长期的保密协议带有可怕的威胁,只是说你是一个笨拙的业余爱好者。您可以在线找到一些标准条款,这些条款可以在6到20行的文本中任意显示。如果您愿意在发生违约的情况下律师,这就足够了;如果您不愿意,那么任何保密协议都是没有意义的。
Bob Murphy

46
另外,在现实世界中,第三方也不想窃取代码。风险太大。早在90年代中期Informix和Oracle争夺企业关系数据库市场时,Informix的一名开发人员就退出加入Oracle(这很常见),并随他带了一个充满Informix源的硬盘(当时')。他告诉甲骨文公司的新老板,希望受到热烈欢迎,但相反,他得到了一个安全团队并被捕。然后,Oracle安全性称为Informix安全性,而硬盘驱动器又回到了Informix,而Oracle的任何人都没有看到它。
Bob Murphy

1
@Bob Murphy我希望即使在食物链的最底层,每个人都如此真诚。
亚伯2010年

1
我正要输入这个确切答案。信任实际上对于项目的成功至关重要。正如ChrisF所说的,禁用开发人员计算机的组件只会使这种关系恶化,并告知那些开发人员它们不受信任。真正保护代码的唯一方法是控制开发人员的睡觉位置,吃饭地点,与之交谈的对象等。只需确保您有一份书面合同,为您提供惩处违规者的合法弹药。
TheBuzzSaw 2012年

2
两个词:爱德华·斯诺登(en.wikipedia.org/wiki/Edward_Snowden)。即使是美国联邦政府内部最秘密的部门也无法很好地解决这个问题。是什么让您(OP)认为您可以做得更好?建立基于信任和合理控制而不是表面技术限制的解决方案!
rinogo 2014年

74

如果这些程序员可以首先编写软件,那么...

他们不需要窃取它。

他们只需要用最初开发时间的一小部分就可以重写它。是的,的确如此,开发人员并不是白痴……一旦弄清楚如何做某事,他们通常会记得他们是如何做的。

因此,我想您只是必须信任他们,或者自己编写软件


3
那是非竞争条款的论点吗?;)
Tim

8
确实:您的程序员已经掌握了这些知识,因此已经复制了您的代码。
Frank Shearar

我明白那个。我不希望新加入的开发人员扩展代码。
亚伯2010年

3
@abel,被盗的代码并不像您认为的那样有用。即使没有源代码,也可以“克隆”应用程序。 专有算法就是您想要保护的安全。开发人员不需要“窃取”代码来学习那些代码,只需阅读并重新创建即可。哎呀,仅使用该程序就足以推断出算法。因此,就像其他人所说的那样,简单的非竞争子句将解决问题,并且几乎可以完成所有工作。物理上保护代码只是浪费您的时间,因为任何物有所值的开发人员都可以轻松绕过它。
GrandmasterB

11
+1为真相……并让我笑出声来。牛不需要偷牛奶。8D
TheBuzzSaw 2012年

22

我听说它说过,没有一个想法的价值超过20美元(这是加元!),这个想法只有在执行得当的情况下才有价值。即使涉及到他们窃取代码并尝试自己编写代码,您也有可能更好地了解下一步的工作,并与潜在的软件购买者建立更多联系。

您绝对应该只雇用您信任的人,但是即使他们窃取了您的代码并试图出售它,他们也不太可能走得很远。


9
这是绝对正确的。别忘了让您的“独特创意”超级机密,并专注于执行它,比其他任何人都更好。大多数创意是他们时代的产物,并独立出现在几个人身上。(亨利·庞加莱(HenriPoincaré)也在1900年代初期致力于相对论,但爱因斯坦击败了他出版。)这个月可能还有八名其他工作人员在沙丘路(Sand Hill Road)向风投们兜风 那些拥有可靠业务计划和专业团队的人将获得资金。
Bob Murphy

1
相关:sivers.org/multiply。不好的主意甚至不值2便士,但是好的主意可能价值不超过20美元。
Pacerier,2015年

6

硬道理是没有人想要您的代码。您可能以为自己开发了一个解决方案,每个人都想知道它是如何工作的。但是更多的时候你不这样做。

如果您接管竞争对手的源代码,该怎么办?您无法分发。您无法将其任何部分复制到您的项目中(即使将第三方代码集成到您的代码库中并不难)。你可以做什么?你可以研究它。但是,通常比一开始编写代码更难阅读代码。

看一下开源软件。这是最接近被盗源代码的类比。有大量不需要维护的代码。很大一部分许可证不符合您的需求。其他人的编程语言不兼容,或者需要移植到您的平台。满足您需求的代码将花费大量时间阅读。

有许多开源项目都具有封闭的心态。也就是说,他们不接受补丁。很快,您的代码版本将有如此大的偏差,以至于无法合并新版本。

您应该了解,最有价值的是您的团队来维护您的代码,并将其向前推进。不是代码本身。


5

如果这是某种启动,那么您要做的第一件事就是构建产品。您需要优秀的开发人员,他们将努力工作,并致力于该项目。

摆脱它们,或者至少削弱他们的士气和奉献精神的一种真正简单的方法是预先向他们表明您不信任他们。实际上,他们可能会开始思考如何发布代码(尽管几乎可以肯定不会遵循),并且,如果他们提出一种方法,他们会认为您不仅偏执而且愚蠢。(有些组织对此级别的警告是合理的,并且金融网站初创公司将不被视为其中之一。)

合同中有关软件如何成为您的财产的一些条款会很好。如果有人违反了该条款,他们将违反您所拥有的任何更严厉的语言,并且可能会觉得更合理。并非狭窄且没有时间限制的非竞争条款只会赶走您想要的人,实际上在您的管辖范围内可能不合法(请咨询当地律师以查明)。

如果您雇用优秀人员,他们可以稍后重新编写软件。如果您雇用初学者,他们将不知道如何进一步发展自己的产品,任何以此为基础的人都将面临严重的法律风险,以至于您的产品质量较差。

简而言之,这应该比您担心的事情低很多。如果您雇用坏人,无论如何您都会沉没。专注于聘用优秀人才,并顺其自然。


4

为什么您的潜在客户应该信任那里的资金?

毕竟,您可能会用钱逃跑。

像微软,谷歌,IBM这样的公司雇佣了数千名员工来编写大量的封闭源代码软件,并且他们并没有过分担心他们的员工会放弃使用这些代码。雇佣合同中的版权保护和明确的“任何代码属于您的雇主”条款似乎涵盖了这一点,而且针对前员工窃取代码的法院案件极少见。

此外,一旦您将软件发布到世界各地,除非内核涉及一些真正的高级数学,否则任何有能力的程序员团队都可以在不查看源代码的情况下重现您的应用程序。


3

正如其他人提到的那样,这似乎主要是人们的关注。

但是,有一些主要的安全厂商销售针对数据泄漏的软件解决方案:

我无法评论它们的有效性或适当性,因为我对这些解决方案的经验有限,但只是认为指出这一点可能会有所帮助。


3
像这个想法一样,唯一的担心是这些产品充满了公司语言,并且没有解释它们的实际作用:)
Mars Robertson

2

老实说,就像其他人所说的那样,您只需要信任您的程序员即可。

但是,我要补充一点,是说您应该真正考虑到,在当今的环境中对项目进行外包比对您造成伤害的可能性更大,除了一些特定的市场之外。只是对这个想法持开放态度,即使您自己不这样做,也不必担心源代码的增长和失败。我认为,您将获得所有的善意,并且您更有可能赚钱。即使Empire提供了世界上最好的应用程序,我也不认为Luke Skywalker会下载它,因为Empire的理想位置错误。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.