ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบ

Программирование

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

ใบอนุญาต GitHub คืออะไร

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

ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบ
ตัวอย่างหนึ่งในใบอนุญาต Apache

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

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

ลิขสิทธิ์คืออะไร

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

ใบอนุญาตโอเพ่นซอร์สมีไว้เพื่ออะไร?

นี่เป็นคำถามยอดนิยมในหมู่นักพัฒนามือใหม่และโปรแกรมเมอร์ เนื่องจากพวกเขาไม่เข้าใจว่าทำไมจึงควรแนบใบอนุญาตกับโครงการของพวกเขา เพราะหากไม่มีสิ่งนี้ โปรเจ็กต์ก็สามารถอยู่เงียบๆ ได้เช่นกัน อย่างไรก็ตาม สิ่งนี้ไม่เป็นความจริงทั้งหมด เนื่องจากตัวอย่างเช่น หากนักพัฒนามือใหม่บางคนเขียนโค้ดที่สำคัญและมีประโยชน์บางส่วน แต่ไม่ได้ปกป้องด้วยใบอนุญาต ผู้ใช้รายอื่นจะมีคำถาม และด้วยเหตุนี้เอง เมื่อลูกค้ามาหาเขาและต้องการใช้โค้ดชิ้นนี้เพื่อวัตถุประสงค์ทางการค้า พวกเขาเห็นว่าโค้ดไม่มีใบอนุญาตและเพียงแค่ปฏิเสธ นี่เป็นเพราะความจริงที่ว่าบริษัทต่าง ๆ จะไม่ใช้รหัสโดยไม่มีใบอนุญาต เพราะพวกเขาไม่ต้องการปัญหากับกฎหมายและทนายความ
ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบนั่นคือเหตุผลที่แม้แต่โครงการที่มีประโยชน์และสะดวกที่สุดก็ไม่เคยถูกนำไปใช้ และนักพัฒนาที่ต้องการใช้โค้ดชิ้นนี้จะต้องค้นหาและใช้ทางเลือกอื่นหรือเขียนโค้ดใหม่ทั้งหมดซึ่งเขียนโดยนักพัฒนามือใหม่ก่อนหน้านี้ทั้งหมด นั่นคือเหตุผลที่ดีที่สุดเพื่อให้แน่ใจว่าโปรแกรมเมอร์ใช้ใบอนุญาตที่ถูกต้องและที่สำคัญที่สุดคือเหมาะสม สำรวจ GitHub ในวิดีโอสอนหนึ่งรายการใน 15 นาที: https://youtu.be/JfpCicDUMKc

ใบอนุญาต GitHub ใดที่เหมาะสมในเงื่อนไขบางประการ – จะเลือกอย่างไร?

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

ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบ
GitHub license family
ด้วยการค้นคว้าเพียงเล็กน้อย คุณสามารถรวบรวมใบอนุญาตโอเพ่นซอร์สทั้งหมดและแบ่งออกเป็นสามกลุ่มหลักใหญ่:
  1. ป้องกันอย่างแน่นหนา
  2. ป้องกันได้น้อย
  3. อนุญาต

ป้องกันอย่างแน่นหนา

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

ป้องกันได้ไม่ดี

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

ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบ
ตำแหน่งที่ระบุประเภทใบอนุญาต GitHub

อนุญาต

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

ใบอนุญาต GitHub ยอดนิยมอื่น ๆ

นอกจากใบอนุญาตสามกลุ่มนี้แล้ว ยังมีใบอนุญาตอื่นๆ เช่น ใบอนุญาตที่มีประโยชน์ที่สุดอีกประเภทหนึ่งคือ GPLv2 ที่มีส่วนขยายคลาสพาธ ใบอนุญาตนี้ยังสามารถใช้ได้กับทั้งโครงการโอเพ่นซอร์สและโครงการเชิงพาณิชย์และวัตถุประสงค์ ลักษณะที่ได้รับความนิยมมากที่สุดอยู่ที่ Oracle ซึ่งใช้ GPLv2 พร้อมส่วนขยาย classpath เพื่ออนุญาตโครงการโอเพ่นซอร์สและโซลูชัน ใบอนุญาตนี้ค่อนข้างสำคัญและมีประโยชน์ เนื่องจากใบอนุญาต GPL ปกติจะไม่สามารถจัดการกับ bytecode ได้ นั่นคือ พวกเขามีคำอธิบายพิเศษของกระบวนการคอมไพล์และลิงก์ ซึ่งไม่เหมาะกับภาษาโปรแกรมที่ตีความโดยสมบูรณ์ ภาษา Java ที่ได้รับความนิยมมากที่สุดคือหนึ่งในภาษาดังกล่าว สำหรับกรณีดังกล่าว ใบอนุญาตพิเศษ GPLv2 พร้อมส่วนขยาย classpath ได้รับการเผยแพร่ ท้ายที่สุด มันกล่าวไว้อย่างชัดเจนและชัดเจนว่าไลบรารีที่เผยแพร่ภายใต้ใบอนุญาตนี้สามารถใช้สำหรับโครงการเชิงพาณิชย์และวัตถุประสงค์ด้วยใบอนุญาตอื่นๆ โดยสิ้นเชิง
ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบมีอะไรอีกบ้างที่คุณต้องรู้เกี่ยวกับ
ใบ
อนุญาต GitHub

เพิ่มใบอนุญาต

หลังจากเลือกใบอนุญาตขั้นสุดท้ายแล้ว จะเหลือเพียงการเพิ่มลงในรูทของโปรเจ็กต์เองเท่านั้น ในการดำเนินการนี้ คุณต้องเพิ่มใบอนุญาตที่เลือกไว้ภายใต้รูทของโปรเจ็กต์ระหว่างการสร้างโปรเจ็กต์เองหรือเมื่อใดก็ได้ แต่แม้กระทั่งในการดำเนินการนี้ บริการเว็บ GitHub ก็สามารถดูแลผู้ใช้ได้ และพวกเขาได้เพิ่มวิธีที่สะดวกพอสมควรในการเพิ่มใบอนุญาตขั้นสุดท้ายแม้ในช่วงเริ่มต้นของโครงการ
ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบอย่างไรก็ตาม โชคไม่ดีที่นี่ไม่ใช่ทั้งหมด เนื่องจากนักพัฒนาหรือโปรแกรมเมอร์จำเป็นต้องตรวจสอบการพึ่งพาทั้งหมดที่ใช้ในแนวคิดหรือโครงการของเขา นั่นคือ ถ้าการพึ่งพาอาศัยกันอย่างใดอย่างหนึ่งที่เผยแพร่ภายใต้ใบอนุญาต GPL โปรเจ็กต์ของนักพัฒนาทั้งหมดจะต้องเข้ากันได้กับ GPL อย่างแน่นอน สำหรับการตรวจสอบดังกล่าว มักจะใช้โปรแกรมหรือเครื่องมือที่ออกแบบไว้ก่อนหน้านี้สำหรับสิ่งนี้ ตัวอย่างเช่น มีเครื่องมือสำหรับ https://github.com/pivotal/LicenseFinder นี้:
ใบอนุญาตใดให้เลือกบน GitHub: ประเภทการเปรียบเทียบเราสามารถพูดได้ว่าการออกใบอนุญาตเป็นงานที่ค่อนข้างใช้เวลานาน แต่ในขณะเดียวกันก็เป็นการดำเนินการที่จำเป็นสำหรับชีวิตของโครงการหรือแนวคิดของโปรแกรมเมอร์ ในการเลือกใบอนุญาตที่ถูกต้อง น่าเสียดายที่คุณต้องใช้เวลาค่อนข้างมาก แต่ก็คุ้มค่าสำหรับโครงการที่จะประสบความสำเร็จ เป็นการดีที่สุดที่จะเลือกใบอนุญาตเป็นอันดับแรกเมื่อเขียนโปรแกรมใด ๆ เนื่องจากการทำเช่นนี้ในตอนเริ่มต้นคุณสามารถควบคุมความพยายามทั้งหมดของคุณไปในทิศทางที่ถูกต้องและเขียนโปรแกรมที่จะประสบความสำเร็จและสะดวกสำหรับคนส่วนใหญ่ ผู้ใช้

info
Rate author