การใช้รหัสส่วนตัวในที่ทำงานเป็นเรื่องจริยธรรมหรือไม่


29

ฉันทำงานเกี่ยวกับโปรเจ็กต์ด้านที่ทำงานซึ่งฉันคิดว่ามันมีประโยชน์ในการใช้โค้ดบางส่วนที่ฉันได้พัฒนาขึ้นเป็นการส่วนตัว (นอกที่ทำงาน) เพื่อเร่งการพัฒนาของฉัน โปรเจคด้านของฉันคือการพัฒนาแอปพลิเคชัน C ++ GUI เพื่อให้ผู้ใช้ขั้นสูงของเราสามารถรันการสืบค้น (สร้างโดยฉัน) กับฐานข้อมูลบนแพลตฟอร์มที่แตกต่างกัน ( DB2 , Oracle, SQL ServerและMySQL ) ในอดีตฉันมักจะเรียกใช้ตัวเองตามคำขอหรือสร้างแอปพลิเคชันExcel VBAสำหรับพวกเขา ตอนนี้ฉันได้สร้างแอปพลิเคชั่น VBA หลายตัวสำหรับคนที่แตกต่างกันหลายคนฉันต้องการสร้างแอพพลิเคชั่นส่วนกลางที่เพิ่งอ่านในไฟล์. sql ที่กำหนดเองและดำเนินการกับฐานข้อมูลต่างๆ

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

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


1
ดูเพิ่มเติมที่programmers.stackexchange.com/questions/86004/…
ChrisF

คำตอบ:


38

การใช้รหัสนี้ในที่ทำงานช่วยประหยัดเวลา (และ บริษัท ) ได้ไหม

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

ถ้าเป็นเช่นนั้นฉันจะพอร์ตแก้ไขข้อผิดพลาดและการปรับปรุงกลับไปที่ห้องสมุดส่วนตัวของฉันได้หรือไม่?

สัญญาของคุณอาจห้ามไม่ให้ทำเช่นนี้เว้นแต่คุณจะได้รับอนุญาต (ตรวจสอบสัญญาของคุณ)

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


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

@ อิซกะตะ: คำถามเกี่ยวกับจริยธรรมไม่ใช่ความสามารถที่พิสูจน์ได้ ไม่ว่าจะสามารถพิสูจน์ได้ว่าการ backport เกิดขึ้นหรือไม่ผู้ถามจะยังคง backportingอยู่ ถ้าเป็นทอมสไควร์ (อาจจะถูกต้อง) กล่าวว่าห้ามทำสัญญานั้นแล้วไม่มีมันจะไม่เป็นจริยธรรม
Ross Patterson

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

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

22

บริษัท บางแห่งอ้างสิทธิ์ในงานที่คุณทำมาหลายชั่วโมงเช่นกัน มันขึ้นอยู่กับ บริษัท บางแห่งมีขนาดใหญ่ในการควบคุม IP

ทุกสิ่งควรจะอยู่ในสัญญาของคุณ ความกังวลคือถ้าพวกเขาอ้างสิทธิ์ในงานฟรีไทม์ของคุณซึ่งเป็นเรื่องสยองขวัญของฉัน


2
นี่เป็นสิ่งที่ควรค่าแก่การดูมีโอกาสดีที่รหัสของพวกเขาเป็นไปตามสัญญาแล้วและเพิ่มลงในฐานรหัสของพวกเขาทำให้รหัสของพวกเขาเกือบแน่นอน
Ryathal

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

1
บริษัท จำนวนมากลองทำสิ่งนี้เป็นไปไม่ได้ที่จะบังคับใช้เนื่องจากสัญญาเกือบทุกฉบับระบุว่าคุณไม่สามารถฟ้องนายจ้างได้
Woot4Moo

1
+1 @Raythal - เว้นแต่ OP จะอนุญาตงานของเขาให้นายจ้างรวมถึงในโครงการของพวกเขาโดยไม่ต้องแจ้งให้ทราบล่วงหน้าอาจทำให้มันเป็นผลงาน เขาอาจปนเปื้อนห้องสมุดของตัวเองอย่างไม่สามารถแก้ไขได้หาก บริษัท ของเขาค้นพบและรู้สึกโกรธ
DaveE

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

6

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

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

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

หวังว่านี่จะช่วยได้


2

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

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


1

เช่นเคยมันขึ้นอยู่กับ ในกรณีนี้สิ่งที่ก) ใบอนุญาตที่คุณใส่ในโค้ดระบุว่าและ b) สัญญาของคุณระบุไว้ คุณอาจต้องการหาข้อตกลงทางธุรกิจกับ บริษัท ที่ครอบคลุมรหัสที่คุณเขียนไว้ก่อนถึงที่นั่น

ไม่มีปัญหาด้านจริยธรรมทั่วไปเกี่ยวกับเรื่องนี้ตราบใดที่คุณคิดล่วงหน้า


สิทธิ์ใช้งานที่คุณใส่ในรหัสอาจเกี่ยวข้องหรือไม่เกี่ยวข้องกับสัญญาของคุณหากนายจ้างของคุณอ้างสิทธิ์ความเป็นเจ้าของทุกสิ่งสิทธิ์การใช้งานที่คุณใส่รหัสของคุณจะเป็นโมฆะเนื่องจากคุณไม่มีสิทธิ์ในการใช้รหัสนั้น
Ryathal

1

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

ปัญหาของคุณคือสิทธิ์ในทรัพย์สิน

และที่นี่มีหลายประเด็นที่คุณต้องคิด

สัญญาของคุณพูดถึงอะไรเกี่ยวกับทรัพย์สินทางปัญญา

บริษัท ของคุณมีสิทธิ์ในสิ่งที่คุณสร้างขึ้นหรือไม่?

บริษัท ของคุณใช้ใบอนุญาตอะไรเมื่อพัฒนารหัส

มันเข้ากันได้กับใบอนุญาตของคุณเองหรือ

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


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

0

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

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

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


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

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