มอบรหัสแหล่งที่มาให้กับลูกค้า


21

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

  • มีการปฏิบัติ "ทั่วไป" เกี่ยวกับเรื่องนี้หรือไม่?

  • นอกจากนี้วิธีนี้ควรส่งผลกระทบต่อราคา?

คำตอบ:


33

สัญญาของคุณกับลูกค้าพูดว่าอะไร?

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

ในอนาคตคุณอาจต้องการทนายความของคุณดูสัญญา

ฉันไม่ใช่ทนายความนี่ไม่ใช่คำแนะนำทางกฎหมายและคุณควรปรึกษาทนายความ

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


31
@ ตัวหนา: โดยทั่วไปผู้ที่จ่ายเงินเพื่อการพัฒนาซอฟต์แวร์ตามความต้องการจะเป็นเจ้าของซอร์สโค้ด ไม่จำเป็นต้องมีอติพจน์มากเกินไปเกี่ยวกับการมีชีวิตของเขา
Cameron Skinner

3
@Cameron Skinner คุณเป็นทนายความหรือไม่ คำแนะนำทางกฎหมายที่สัมพันธ์กับกฎหมายในประเทศของ Egil คืออะไร คุณแน่ใจไหม? นอกจากนั้นฉันจะบอกว่าถ้าคุณพัฒนาเว็บไซต์ที่คุณจะให้รหัสตั้งแต่การซ่อนรหัสไม่มีความหมายในกรณีนี้จะแตกต่างกันรหัสจะแสดงผลโดยคอมไพเลอร์และถูกซ่อนไว้กับผู้ใช้ ในการใช้งานแอพ iPhone คุณไม่จำเป็นต้องใช้รหัสดั้งเดิมซึ่งขัดแย้งกับโปรแกรมเว็บเซิร์ฟเวอร์อย่างสมบูรณ์เนื่องจากรหัสนั้นโปร่งใสอย่างไรก็ตาม เขาสามารถอ้างได้ว่าเขาให้รหัสที่ลูกค้าจ่ายให้ซึ่งเป็นรหัสที่แสดงผลโดยคอมไพเลอร์ที่เปลี่ยนเป็นแอพ iPhone
ชื่อที่แสดง

10
+1 สำหรับครอบคลุมความเป็นไปได้แนะนำการระมัดระวังมากขึ้นด้วยการทำสัญญาในอนาคตแนะนำทนายความและไม่ได้ไปไกลกว่านั้น
David Thornley

10
@ ตัวหนา: ไม่ฉันไม่ใช่นักกฎหมาย นี่ไม่ใช่คำแนะนำทางกฎหมาย อย่างไรก็ตามในหลายเขตอำนาจศาลกรณีทั่วไปคือผู้ซื้อซอฟต์แวร์ bespoke เป็นเจ้าของเอาต์พุตทั้งหมด (ซอร์สโค้ด, โค้ดที่รวบรวม, กราฟิก / อาร์ต ฯลฯ ) เว้นแต่ว่ามีบางสิ่งเฉพาะในสัญญาที่ระบุไว้เป็นอย่างอื่น OP ไม่ได้ระบุประเทศที่ตนอยู่ดังนั้นจึงเป็นไปไม่ได้ที่จะให้คำแนะนำเฉพาะ OP ขอ "แนวปฏิบัติร่วมกัน": ฉันได้กล่าวถึงสิ่งที่ฉันมีประสบการณ์ในช่วงเวลาที่ฉันทำงานให้กับ บริษัท ที่ทำหน้าที่พัฒนาตามความต้องการ
Cameron Skinner

2
@ Kate Gregory: ไม่ "work-for-Hire" เป็นแนวคิดทางกฎหมายที่เฉพาะเจาะจงในสหรัฐอเมริกาและดังนั้นคำตอบไม่ใช่คำหยาบ บทความ Wikipedia (เพื่อไม่ให้สับสนกับคำแนะนำทางกฎหมาย) อาจคุ้มค่าการอ่าน มันบอกว่าความสัมพันธ์ระหว่างนายจ้างและลูกจ้างของสหรัฐฯนั้นเป็นการจ้างงาน แต่ไม่เช่นนั้นมีข้อกำหนดที่เข้มงวดและจำเป็นต้องมีความชัดเจน อย่าวางใจในสิ่งนี้โดยไม่ปรึกษากับทนายความ
David Thornley

9

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

ตอนนี้มันสายเกินไปแล้ว ยอมรับหรือติดต่อทนายความ


6

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

โดยปกติซอฟต์แวร์ที่เขียนและขาย "โดยทั่วไป" จะไม่สามารถใช้ซอร์สโค้ดได้ฟรี แต่อาจมีให้ในราคา

นี่เป็นส่วนหนึ่งของเหตุผลว่าซอฟต์แวร์แบบกำหนดเองมีค่าใช้จ่ายมากกว่าซอฟต์แวร์ "การขายทั่วไป" (แม้ว่าซอฟต์แวร์ "การขายทั่วไป" อาจมีจำนวนน้อยมากในการหมุนเวียน)


5

กฎทั่วไปคือผู้เขียนผลงานเป็นเจ้าของลิขสิทธิ์: สิ่งที่คุณสร้างคุณเป็นเจ้าของ

มีข้อยกเว้นนี้ ส่วนใหญ่ที่เห็นได้ชัดคือการทำงานที่สร้างขึ้นโดยพนักงาน ข้อยกเว้นอื่น ๆ ( พระราชบัญญัติลิขสิทธิ์ปี 1976, 17 USC 201 ) อยู่ใน "งานจ้าง" - ลัทธิซึ่งบอกว่างานนั้นเป็นของคนที่จ่ายเงินให้ แต่สำหรับ WFH ที่จะเกิดขึ้นสิ่งต่อไปนี้ต้องเป็นจริง:

  1. งานได้รับคำสั่งหรือรับหน้าที่ จริง
  2. มีข้อตกลงว่างานจะได้รับการพิจารณาเป็น WFH เท็จ
  3. งานเป็นส่วนหนึ่งของชุดงานเฉพาะเก้าประเภท: การแปล, การสนับสนุนด้านโสตทัศนูปกรณ์, การมีส่วนร่วมในงานรวม (เช่นนิตยสาร), เป็นแผนที่, เป็นการรวบรวม, เป็นข้อความการเรียนการสอน, เป็น การทดสอบเป็นวัสดุคำตอบสำหรับการทดสอบหรืองานเสริม เท็จ

ดังนั้นในกรณีนี้คุณไม่จำเป็นต้องมอบอะไรเลย

(บางตำราสนับสนุนนี้ที่นี่ , ที่นี่ , ที่นี่ , ที่นี่และที่นี่ )


4

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

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


ฉันคิดว่านี่เป็นวิธีปฏิบัติทั่วไปที่ปลอดภัยที่สุดที่ใช้ในการจัดการคำขอประเภทนี้
ความกลัว

2

สำหรับฉันซอร์สโค้ดน่าจะคุ้มกับราคาจริง * 5


1
ทำไม * 5? ทำไมไม่ * 4 หรือ * 6 .. หรือแม้แต่ * 10 นั่นดูเหมือนจะค่อนข้างซับซ้อนและไร้เหตุผลสำหรับฉัน
JTS

มันอาจเป็น * 4 หรือ 6 หรือตัวเลขใด ๆ คุณควรเห็นว่าเป็นนโยบายของฉัน เราไม่พยายามขายซอร์สโค้ด แต่บางครั้งเมื่อมันหลีกเลี่ยงไม่ได้นั่นคือราคา
maz3tt

1
อธิบาย. สิ่งที่คุณทำไม่ใช่คำตอบที่ดีเพียงอย่างเดียว ทำไมคุณทำมัน
ไดนามิก

2

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

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

ในกรณีของคุณควรให้รหัสแก่พวกเขาและขอให้ใช้เป็นข้อมูลอ้างอิงสำหรับงานของคุณ


1

ก่อนอื่นเพียงแค่ทุกคนชี้ให้เห็นว่านี่ควรเป็นส่วนหนึ่งของสัญญาเดิม ตรวจสอบให้แน่ใจว่าจุดนี้เป็นที่อยู่ในอนาคต

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

สุดท้ายพวกเขาสามารถทำอันตรายคุณได้มากแค่ไหน? ในหลาย ๆ อุตสาหกรรมถ้าไม่ใช่คำอุตสาหกรรมส่วนใหญ่ก็สามารถทำได้อย่างรวดเร็ว ความรู้สึกที่ไม่ดีจากลูกค้ารายนี้จะส่งผลลบต่อลูกค้ารายอื่นหรือไม่

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


1

หากไม่ได้เป็นส่วนหนึ่งของสัญญาก็จะไม่มีฝ่ายใดยึดถือความจริงได้

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

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

โชคดี

ฉันไม่ใช่นักกฎหมายนี่ไม่ใช่การแลกเปลี่ยนสำหรับการอภิปรายทนายความในรัฐท้องถิ่นของคุณ


2
หากคุณวางแผนที่จะเผยแพร่ซอฟต์แวร์ฉันจะต้องติดต่อทนายความก่อน หากคุณเผยแพร่รหัสและภายหลังพบว่า บริษัท มีสิทธิ์ในสิทธิ์ของรหัสนั้นคุณอาจอยู่ในโลกแห่งความเจ็บปวด (ไม่จำเป็น)
Wonko the Sane

@Wonko ขอบคุณฉันเปลี่ยนตามที่ต้องการในคำแนะนำทนายความลึก
ชื่อที่แสดง

-1

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

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


4
การบำรุงรักษาแอปพลิเคชันของพวกเขาเป็นเหตุผลที่ดีอย่างสมบูรณ์ที่ต้องการโค้ดต้นฉบับ
Larry Coleman

1
เขาขายซอฟต์แวร์ไม่ใช่รหัส โดยปกติโปรแกรมเมอร์จะดูแลแอ็พพลิเคชันไม่ใช่ไคลเอ็นต์ หากลูกค้าต้องการรหัสเขาควรจะพูดคุยเกี่ยวกับการขายสิทธิในซอฟต์แวร์ของเขาไม่ใช่เพียงแค่ส่งมอบรหัส
Neil

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

@Ben ถ้าเขาได้รับเงินเพื่อเขียนรหัสทำไมถึงมีข้อโต้แย้ง? คำถามแบบไหนที่เขาทำถ้าเขาถามว่าจะให้รหัสแก่ลูกค้า ณ จุดนั้นได้อย่างไร นี่เป็นคำถามทางเทคนิคหรือไม่ ควรอยู่ใน stackexchange.com ณ จุดนั้น
Neil

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

-2

นี่คือโพสต์เก่า แต่ยังอยู่ในการสนทนาในโลกปัจจุบัน

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

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

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

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


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