จะจัดการโครงการที่มีความเสี่ยงสูงแบบปิดได้อย่างไร


25

ฉันกำลังวางแผนที่จะพัฒนาเว็บไซต์ J2EE และต้องการนำนักพัฒนา 1 คนและนักออกแบบเว็บไซต์ 1 คนมาช่วยฉัน โครงการนี้เป็นแอพทางการเงินภายในตลาดเฉพาะกลุ่ม

ฉันวางแผนที่จะปิดแหล่งที่มา อย่างไรก็ตามฉันกลัวว่าพนักงานของฉันจะสามารถคัดลอกโค้ดเบสได้อย่างง่ายดายและใช้มันหรือขายให้กับบุคคลที่สาม การพัฒนาแอพจะใช้เวลา 4-6 เดือนอาจจะมากกว่านี้และฉันอาจนำพนักงานเพิ่มเข้ามาหลังจากที่แอพถ่ายทอดสด

แต่ฉันจะรักษาแหล่งที่มากับตัวเองได้อย่างไร มี บริษัท เทคนิคที่ใช้เพื่อป้องกันแหล่งที่มาของพวกเขา?

ฉันคาดการณ์ว่าจะปิดการใช้งานไดรฟ์ USB และเครื่องเขียนดีวีดีบนเครื่องพัฒนาของฉัน แต่การอัปโหลดข้อมูลหรือการแนบรหัสในอีเมลจะยังคงเป็นไปได้

คำถามของฉันไม่สมบูรณ์ แต่โปรแกรมเมอร์ที่อยู่ในสถานการณ์ของฉันโปรดให้คำแนะนำ ฉันจะไปเกี่ยวกับเรื่องนี้ได้อย่างไร สร้างทีมรักษาความลับรหัส ฯลฯ

ฉันรอคอยที่จะลงนามในสัญญาลับกับพนักงานหากจำเป็นเกินไป (โปรดเพิ่มแท็กที่เกี่ยวข้อง)

ปรับปรุง

ขอบคุณสำหรับคำตอบทั้งหมด ฉันจะไม่ปิดการใช้งานพอร์ต USB และตัวเขียนดีวีดีทั้งหมดในตอนนี้ แต่ฉันคิดว่าฉันควรจะเข้าสู่ระบบกิจกรรม (ฉันควรทำอย่างไร?) ฉันระวัง scalpers ที่จะเข้าร่วมแล้ววิ่งออกมาด้วยรหัสที่มีอยู่ ฉันยังไม่เคยเจอเลย แต่ฉันได้รับคำแนะนำให้ระวังให้ดี ฉันจะรวมประโยคความลับไว้ด้วย แต่เนื่องจากนี่เป็นการเริ่มต้นที่แทบไม่มีเงินทุนและในธุรกิจที่มีการแข่งขันสูงและมีผู้เล่นรายใหญ่กว่าในสาขานี้ฉันสงสัยว่าฉันจะสามารถตรวจจับหรือไล่ตาม scalpers ใด ๆ

ฉันจะจ้างคนที่ฉันไว้วางใจได้อย่างไรเมื่อฉันไม่รู้จักพวกเขาเป็นการส่วนตัว ประวัติย่อของพวกเขาจะเป็นประโยชน์ แต่มิฉะนั้นความไว้วางใจจะพัฒนาตามเวลา

แต่ในที่สุดแม้ว่าพวกเขาจะวิ่งหนีด้วยรหัสมันเป็นบริการที่มีความสำคัญหลังจากการขายจะทำ ดังนั้นฉันจึงไม่กังวลในระยะยาว


28
ฉันรู้ว่าฉัน (และไม่มีผู้พัฒนาอื่นที่มีความสามารถ) จะพิจารณาการทำงานภายใต้เงื่อนไขที่คุณได้กล่าวถึงไว้ (pendrives ที่ปิดใช้งานนักเขียน dvd …)
Jonathan Sterling

5
พิษเพียง
Jonathan Sterling

53
พูดตามตรงเมื่อฉันเจอใครบางคนที่ปฏิเสธที่จะเพิ่มความไว้วางใจฉันมักคิดว่ามันพูดถึงความน่าเชื่อถือของตัวเองมากกว่าของฉัน - ซึ่งก็คือถ้าคุณคิดว่าฉันไม่สามารถไว้ใจได้นั่นเป็นเพราะคุณรู้ว่าคุณทำได้ ไม่น่าเชื่อถือ
James McLeod

8
@abel: ทำให้คำพูดก่อนหน้าของคุณลดลงคุณไม่มีประสบการณ์ในการพัฒนาซอฟต์แวร์ระดับมืออาชีพ แต่คุณกำลังพยายามที่จะเข้าสู่ "ช่องทางธุรกิจที่มีการแข่งขันสูง" และประสบความสำเร็จกับ "ผู้เล่นที่ใหญ่กว่า" เมื่อคุณมี "แทบไม่มีเงินทุน" คุณมีปลาตัวโตมากเกินกว่าที่คุณจะกังวลเกี่ยวกับโปรแกรมเมอร์ที่ใช้โค้ดของคุณ ถ้าฉันเป็นคุณฉันจะเขียนแผนธุรกิจและตรวจสอบโดยนักธุรกิจที่ประสบความสำเร็จในพื้นที่เป้าหมายของคุณแล้วลองคิดดูว่าคุณมีทรัพยากรที่จะประสบความสำเร็จหรือไม่
Bob Murphy

37
@abel: หลังจากอัปเดตแล้วคำถามของคุณเป็นเช่นนี้ คุณไม่มีเงินมากและคุณไม่เคยแม้แต่จะทำงานในร้านอาหาร แต่คุณมุ่งมั่นที่จะเปิดร้านอาหารต่อไป - และในซานฟรานซิสโกซึ่งมีร้านอาหารชั้นยอดมากมายที่พยายามทำกำไร ดังนั้นคุณไปที่การประชุมของพ่อครัวและถามวิธีการจ้างพ่อครัวที่จะไม่วางยาพิษอาหาร และเมื่อพวกเขาบอกคุณว่าพ่อครัวไม่เป็นพิษต่ออาหารคุณยอมรับว่าไม่มีใครเคยรู้จักคุณถูกวางยาพิษ แต่มีคนบอกคุณว่าคุณควรกังวลเกี่ยวกับเรื่องนี้ดังนั้นคุณจะต้องกังวลอยู่ดี
Bob Murphy

คำตอบ:


77

คุณต้องเชื่อใจนักพัฒนาของคุณ

นักพัฒนาซอฟต์แวร์มืออาชีพแทบทั้งหมดจะไม่ขโมยข้อมูลของคุณ เป็นที่เข้าใจกันว่าถ้าคุณทำงานเพื่อคนอื่นมันเป็นนายจ้างที่เป็นเจ้าของรหัสที่คุณเขียน นักพัฒนาอาจคัดลอกรหัสเพื่อการอ้างอิง แต่ไม่น่าเป็นไปได้สูงที่พวกเขาจะเสนอขายให้กับผู้อื่น หากพวกเขานำเสนอขายให้กับนายจ้างใหม่แล้วผลส่วนจะพวกเขาจะถูกแสดงประตูและอาจถูกจับกุมแม้ (ขณะที่บ๊อบเมอร์ฟี่ชี้ให้เห็นในความคิดเห็นของเขา ) การถูกจับไม่คุ้มกับความเสี่ยง

ที่สำคัญกว่านั้นคือความไม่ไว้วางใจสายพันธุ์ไม่ไว้วางใจ การปิดใช้งานพอร์ต USB และตัวเขียนดีวีดีจะทำให้เกิดความรู้สึกไม่ไว้วางใจซึ่งจะขัดแย้งกันทำให้มีโอกาสมากขึ้นที่นักพัฒนาจะคัดลอกรหัส

โดยทั้งหมดเพิ่มประโยคความลับให้กับสัญญาของคุณ แต่อาจไม่จำเป็นที่จะเน้นให้เป็นส่วนที่สำคัญที่สุดของสัญญา


2
ประโยคความลับสั้น ๆ เป็นเรื่องปกติอย่างสมบูรณ์แบบในสัญญาการพัฒนาและข้อตกลงการจ้างงาน - แต่อย่างที่ ChrisF กล่าว สำหรับใครก็ตามที่ทำมากกว่าโครงการพัฒนาสัญญาเพียงไม่กี่สัญญาข้อตกลงความลับที่ยาวนานกับภัยคุกคามร้ายแรงเพียงบอกว่าคุณเป็นมือสมัครเล่นที่ไร้เดียงสา มีส่วนคำสั่งมาตรฐานที่คุณสามารถค้นหาออนไลน์ที่ทำงานได้ทุกที่จากข้อความ 6-20 บรรทัด นั่นเป็นเรื่องมากมายหากคุณเต็มใจที่จะเป็นทนายความในกรณีที่ฝ่าฝืน - และหากคุณไม่ได้ทำข้อตกลงความลับใด ๆ นั้นไม่มีจุดหมาย
Bob Murphy

46
ในโลกแห่งความเป็นจริงบุคคลที่สามไม่ต้องการรหัสที่ถูกขโมย ความเสี่ยงนั้นมากเกินไป ย้อนกลับไปเมื่อ Informix และ Oracle กำลังทำตลาดฐานข้อมูลเชิงสัมพันธ์ขององค์กรในช่วงกลางทศวรรษที่ 90 หนึ่งในนักพัฒนาของ Informix ออกจากการเข้าร่วมกับ Oracle (ซึ่งค่อนข้างบ่อย) และเอาฮาร์ดไดรฟ์ที่เต็มไปด้วยแหล่ง Informix กับเขา 't) เขาบอกหัวหน้าคนใหม่ของเขาที่ Oracle คาดว่าจะได้รับการต้อนรับอย่างอบอุ่น แต่เขากลับมีทีมรักษาความปลอดภัยและถูกจับกุม การรักษาความปลอดภัยของออราเคิลเรียกว่าการรักษาความปลอดภัยของ Informix และฮาร์ดไดรฟ์ก็กลับไปที่ Informix โดยไม่มีใครจากออราเคิลมองดู
Bob Murphy

1
@ Bob Murphy ฉันหวังว่าทุกคนจะจริงใจแม้กระทั่งที่ด้านล่างของห่วงโซ่อาหาร
Abel

1
ฉันเพิ่งจะพิมพ์คำตอบที่แน่นอนนี้ ความน่าเชื่อถือเป็นสิ่งสำคัญอย่างยิ่งต่อความสำเร็จของโครงการ ดังที่ ChrisF กล่าวว่าการปิดใช้งานส่วนประกอบของคอมพิวเตอร์ของนักพัฒนาจะทำให้ความสัมพันธ์นั้นแย่ลงและแจ้งให้ผู้พัฒนาทราบว่าพวกเขาไม่เชื่อถือ วิธีเดียวที่จะปกป้องรหัสของคุณได้อย่างแท้จริงคือการควบคุมว่านักพัฒนาหลับที่ไหนที่พวกเขาพูดคุย ฯลฯ ควรตรวจสอบให้แน่ใจว่าคุณมีสัญญาที่เป็นลายลักษณ์อักษรอย่างดี
TheBuzzSaw

2
สองคำ: Edward Snowden ( en.wikipedia.org/wiki/Edward_Snowden ) แม้แต่หน่วยงานลับภายในรัฐบาลสหรัฐยังไม่มีวิธีแก้ปัญหาที่ดี อะไรทำให้คุณ (OP) คิดว่าคุณสามารถทำได้ดีกว่านี้? สร้างโซลูชันของคุณบนความน่าเชื่อถือและการควบคุมที่สมเหตุสมผลไม่ใช่ข้อ จำกัด ทางเทคโนโลยีผิวเผิน!
rinogo

74

หากโปรแกรมเมอร์เหล่านี้สามารถเขียนซอฟต์แวร์ในสถานที่แรกแล้ว ...

พวกเขาไม่จำเป็นต้องขโมยมัน

พวกเขาสามารถเขียนมันใหม่ในเวลาไม่นานเพื่อพัฒนามันขึ้นมาใหม่ ใช่มันเป็นความจริงนักพัฒนาไม่ได้โง่เง่ามากนัก ... เมื่อพวกเขาหาวิธีการทำอะไรพวกเขามักจะจำได้ว่าพวกเขาทำอะไร

ดังนั้นผมคิดว่าคุณกำลังจะต้องไว้วางใจพวกเขาหรือเขียนเองซอฟแวร์


3
นั่นเป็นข้อโต้แย้งสำหรับข้อที่ไม่ใช่การแข่งขันหรือไม่? ;)
ทิม

8
แน่นอน: โปรแกรมเมอร์ของคุณได้คัดลอกรหัสของคุณแล้วโดยอาศัยความรู้ในหัวของพวกเขา
Frank Shearar

ฉันเข้าใจ. ฉันไม่ต้องการให้นักพัฒนาเข้าร่วมใหม่ร่อนรหัส
Abel

3
@abel รหัสที่ถูกขโมยไม่เป็นประโยชน์อย่างที่คุณคิดว่าเป็น แอปสามารถ 'โคลน' ได้แม้ไม่มีซอร์สโค้ด อัลกอริทึมที่เป็นกรรมสิทธิ์ตอนนี้นั่นคือสิ่งที่คุณต้องการรักษาความปลอดภัย นักพัฒนาไม่จำเป็นต้องใช้รหัส 'ขโมย' เพื่อเรียนรู้สิ่งเหล่านั้นเพียงแค่อ่านและสร้างใหม่ Heck การใช้โปรแกรมอาจเพียงพอที่จะอนุมานอัลกอริทึมได้ ดังนั้นอย่างที่คนอื่น ๆ พูดประโยคง่ายๆที่ไม่แข่งขันจะทำเคล็ดลับและเป็นเรื่องเกี่ยวกับสิ่งที่คุณทำได้ การรักษาความปลอดภัยรหัสเป็นการสูญเสียเวลาของคุณเนื่องจากนักพัฒนาที่มีค่าเกลือสามารถข้ามได้อย่างง่ายดาย
GrandmasterB

11
+1 สำหรับความจริง ... และทำให้ฉันหัวเราะออกมาจากเก้าอี้ วัวไม่จำเป็นต้องขโมยนม 8D
TheBuzzSaw

22

ฉันได้ยินมาแล้วว่าไม่มีความคิดในตัวเองที่มีมูลค่าเกินกว่า $ 20 (และนั่นก็คือดอลลาร์แคนาดา!) ความคิดนั้นมีค่าเมื่อดำเนินการอย่างดีเท่านั้น แม้ว่าพวกเขาจะขโมยรหัสและพยายามที่จะทำมันด้วยตัวเองก็ตามคุณก็มีความคิดที่ดีขึ้นว่าขั้นตอนต่อไปคืออะไรและมีผู้ติดต่อกับผู้ซื้อซอฟต์แวร์ในอนาคต

คุณควรจ้างคนที่คุณไว้วางใจเท่านั้นถึงแม้ว่าพวกเขาจะขโมยรหัสของคุณและพยายามที่จะขายมันพวกเขาไม่น่าจะได้รับไกลมาก


9
นี่เป็นเรื่องจริงอย่างแน่นอน อย่าลืมรักษาความคิดที่ไม่เหมือนใครไว้เป็นความลับสุดยอดและจดจ่อกับการดำเนินการที่ดีกว่าใคร ๆ ความคิดส่วนใหญ่เป็นผลผลิตของเวลาและเกิดขึ้นกับคนหลายคนอย่างอิสระ (Henri Poincaréกำลังทำงานเกี่ยวกับสัมพัทธภาพในช่วงต้นทศวรรษ 1900 เช่นกัน แต่ Einstein เอาชนะเขาให้ตีพิมพ์) มีโอกาสที่จะมีทีมงานอีกแปดคนที่วิ่งหนีความคิดของคุณไปยัง VCs บนถนน Sand Hill ในเดือนนี้ มันเป็นแผนธุรกิจที่น่าเชื่อถือและทีมงานมืออาชีพที่จะได้รับเงินทุน
บ๊อบเมอร์ฟี่

1
ที่เกี่ยวข้อง: sivers.org/multiply ความคิดที่ไม่ดีจะไม่คุ้มค่า 2 เพนนี แต่ความคิดที่ดีอาจคุ้มค่ามากกว่า $ 20
Pacerier

6

ความจริงที่ยากคือไม่มีใครต้องการรหัสของคุณ คุณอาจคิดว่าคุณพัฒนาวิธีแก้ปัญหาที่ทุกคนต้องการรู้ว่ามันทำงานอย่างไร แต่บ่อยครั้งที่คุณไม่ต้องการ

คุณจะทำอย่างไรถ้าคุณได้รับซอร์สโค้ดของคู่แข่งของคุณ? คุณไม่สามารถแจกจ่ายได้ คุณไม่สามารถคัดลอกส่วนใด ๆ ของมันลงในโครงการของคุณได้ (แม้ว่ามันจะไม่ยากนักที่จะรวมโค้ดของบุคคลที่สามไว้ใน codebase ของคุณ) คุณสามารถทำอะไรได้บ้าง? คุณสามารถศึกษาได้ แต่บ่อยครั้งการอ่านโค้ดนั้นยากกว่าการเขียนในตอนแรก

ดูซอฟต์แวร์โอเพ่นซอร์ส มันเป็นการเปรียบเทียบที่ใกล้เคียงที่สุดกับซอร์สโค้ดที่ถูกขโมย มีโค้ดที่ไม่มีการพิมพ์จำนวนมาก ส่วนใหญ่มีใบอนุญาตที่ไม่เหมาะกับความต้องการของคุณ คนอื่นมีภาษาการเขียนโปรแกรมที่เข้ากันไม่ได้หรือต้องการย้ายไปยังแพลตฟอร์มของคุณ รหัสที่เหมาะสมกับความต้องการของคุณจะใช้เวลาในการอ่านมาก

มีหลายโครงการโอเพนซอร์สที่มีความคิดที่มาปิด นั่นคือพวกเขาไม่ยอมรับแพทช์ เร็ว ๆ นี้รหัสรุ่นของคุณจะเบี่ยงเบนไปมากจนไม่สามารถผสานเวอร์ชันใหม่ได้

คุณควรเข้าใจว่าสิ่งที่มีค่าที่สุดคือทีมของคุณที่รักษารหัสของคุณไว้ ไม่ใช่รหัสนั่นเอง


5

หากนี่คือการเริ่มต้นบางอย่างสิ่งที่คุณต้องทำคือการสร้างผลิตภัณฑ์ คุณต้องการนักพัฒนาที่ดีที่จะทำงานหนักและทุ่มเทให้กับโครงการ

วิธีที่ง่ายที่สุดวิธีหนึ่งในการกำจัดพวกเขาหรืออย่างน้อยก็เพื่อให้กำลังใจและการอุทิศตนของพวกเขาคือการแสดงให้พวกเขารู้ว่าคุณไม่ไว้ใจพวกเขา ในความเป็นจริงพวกเขามีแนวโน้มที่จะเริ่มคิดหาวิธีที่พวกเขาสามารถเอารหัสออกมาได้ (แม้ว่าพวกเขาจะไม่ทำตามอย่างแน่นอน) และหากพวกเขาสามารถคิดวิธีที่พวกเขาจะคิดว่าคุณไม่เพียง แต่หวาดระแวงเท่านั้น (มีหลายองค์กรที่ความระมัดระวังในระดับนี้เป็นธรรมและเว็บไซต์ทางการเงินจะไม่ถูกพิจารณาว่าเป็นหนึ่งในนั้น)

ข้อความบางส่วนในสัญญาเกี่ยวกับวิธีการที่ซอฟต์แวร์เป็นทรัพย์สินของคุณจะถูกปรับ หากใครบางคนจะละเมิดสิ่งนั้นพวกเขาจะละเมิดภาษาที่รุนแรงยิ่งกว่านั้นอีกและคุณอาจรู้สึกว่าถูกต้องกว่า คำสั่งที่ไม่ใช่การแข่งขันที่ไม่แคบและมีเวลา จำกัด เพียงแค่ไล่คนที่คุณต้องการและในความเป็นจริงอาจไม่ถูกกฎหมายในเขตอำนาจศาลของคุณ (ปรึกษาทนายความท้องถิ่นเพื่อหาคำตอบ)

หากคุณจ้างคนดีพวกเขาสามารถเขียนซอฟต์แวร์ใหม่ได้ในภายหลัง หากคุณจ้างผู้เริ่มต้นพวกเขาจะไม่รู้ว่าจะพัฒนาสิ่งที่พวกเขาก้าวไปข้างหน้าได้อย่างไรและใครก็ตามที่กำลังสร้างมันจะต้องเสี่ยงต่อการถูกกฎหมายอย่างรุนแรง

กล่าวโดยสรุปคือสิ่งที่คุณกังวลน้อยที่สุด หากคุณจ้างคนเลวคุณจะจมไม่ว่าอะไรก็ตาม ตั้งใจจ้างคนดีและปล่อยให้สไลด์นี้


4

ทำไมลูกค้าที่มีศักยภาพของคุณควรไว้วางใจคุณในเรื่องการเงิน

หลังจากทั้งหมดคุณอาจวิ่งออกไปพร้อมกับเงิน

บริษัท เช่น Microsoft, Google, IBM จ้างคนหลายพันคนเพื่อเขียนรีมซอฟต์แวร์โอเพนซอร์ซและไม่ต้องกังวลเกินกว่าที่พนักงานของตนจะเดินออกไปพร้อมกับรหัส การคุ้มครองลิขสิทธิ์และประโยค "รหัสใด ๆ ที่เป็นของนายจ้างของคุณ" ที่ชัดเจนในสัญญาจ้างดูเหมือนว่าจะครอบคลุมและในกรณีที่ศาลฟ้องอดีตพนักงานที่ขโมยรหัสนั้นหาได้ยากมาก

นอกจากนี้เมื่อคุณปล่อยซอฟต์แวร์ของคุณสู่โลกกว้างยกเว้นว่าแกนกลางนั้นเกี่ยวข้องกับคณิตศาสตร์ขั้นสูงจริง ๆ ทีมผู้มีความสามารถของโปรแกรมเมอร์สามารถทำซ้ำแอปพลิเคชันของคุณได้โดยไม่ต้องเห็นซอร์สโค้ด


3

ดังที่คนอื่น ๆ ได้กล่าวมาสิ่งนี้ดูเหมือนจะเป็นเรื่องที่คนส่วนใหญ่กังวล

อย่างไรก็ตามมีผู้ให้บริการรักษาความปลอดภัยรายใหญ่หลายรายที่ทำการตลาดโซลูชันซอฟต์แวร์เพื่อการรั่วไหลของข้อมูล:

ฉันไม่สามารถแสดงความคิดเห็นเกี่ยวกับประสิทธิภาพหรือความเหมาะสมของพวกเขาได้เนื่องจากฉันมีประสบการณ์ จำกัด ในการแก้ปัญหาเหล่านี้ แต่คิดว่าอาจเป็นประโยชน์ที่จะชี้ประเด็นนี้


3
เช่นเดียวกับความคิดที่กังวลเพียงอย่างเดียวคือว่าผลิตภัณฑ์เหล่านี้จะเต็มไปด้วยภาษาขององค์กรและไม่ได้อธิบายสิ่งที่พวกเขากำลังทำจริง :)
ดาวอังคารโรเบิร์ต

2

อย่างสุจริตเหมือนที่คนอื่นพูดคุณแค่ต้องไว้วางใจโปรแกรมเมอร์ของคุณ

อย่างไรก็ตามฉันจะเพิ่มเข้าไปโดยบอกว่าคุณควรพิจารณาอย่างแท้จริงว่าการเปิดโครงการของคุณในสภาพแวดล้อมปัจจุบันมีแนวโน้มที่จะช่วยเหลือคุณมากกว่าจะทำร้ายคุณยกเว้นตลาดเฉพาะบางแห่ง การเปิดรับแนวคิดมากขึ้นจะทำให้คุณกังวลน้อยลงเกี่ยวกับซอร์สโค้ดที่กำลังเติบโตและการหยุดทำงานแม้ว่าคุณจะไม่ทำเองก็ตาม รวบรวมความปรารถนาดีทั้งหมดที่คุณสามารถทำได้และคุณมีแนวโน้มที่จะได้รับเงินในความคิดของฉัน แม้ว่าเอ็มไพร์จะเสนอแอพที่ดีที่สุดในโลก แต่ฉันไม่คิดว่าลุคสกายวอล์คเกอร์จะทำการดาวน์โหลดเพราะอุดมการณ์ของเอ็มไพร์นั้นผิดที่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.