จะเลือกใบอนุญาต GitHub ได้อย่างไร และเหตุใดจึงต้องตัดสินใจเลือกอย่างถูกต้อง GitHub เป็นบริการที่ใหญ่ที่สุดสำหรับการพัฒนาร่วมกันของโครงการไอทีและการโฮสต์ในภายหลัง ด้วยความช่วยเหลือของบริการเว็บนี้ ผู้คนจำนวนไม่จำกัดสามารถทำงานในโครงการได้ในคราวเดียว รวมทั้งจากที่ใดก็ได้ในโลก GitHub ยังมีระบบการจัดการหรือการควบคุมที่ให้คุณดูและควบคุมการเปลี่ยนแปลงทั้งหมดที่ทำโดยนักพัฒนาได้ตลอดเวลา และยังช่วยให้คุณกลับสู่สถานะที่เกิดขึ้นก่อนการเปลี่ยนแปลงได้อีกด้วย
ใบอนุญาต GitHub คืออะไร
ใบอนุญาตเป็นเอกสารพิเศษที่จัดตั้งขึ้นโดยแบบฟอร์มของรัฐและอนุญาตให้คุณมีส่วนร่วมในกิจกรรมผู้ประกอบการบางประเภทซึ่งต้องได้รับความสนใจเป็นพิเศษจากฝั่งของรัฐ แต่ในทางปฏิบัติ ส่วนใหญ่มักจะใช้เฉพาะข้อตกลงใบอนุญาตแบบย่อหรือข้อตกลงที่ให้ไว้สำหรับการออกใบอนุญาตทางกฎหมายส่วนตัวเท่านั้น โดยทั่วไป ใบอนุญาตดำเนินการเพียงข้อเดียว แต่เป้าหมายที่สำคัญที่สุด นี่คือข้อตกลงเกี่ยวกับภาระหน้าที่และสิทธิ์ระหว่างผู้อนุญาตกับผู้รับใบอนุญาต หน้าที่และสิทธิเหล่านี้เป็นอะไรก็ได้ แต่อยู่ในกรอบของกฎหมายเท่านั้น ตัวอย่างที่น่าสังเกตคือผู้อนุญาตอาจกำหนดให้ต้องระบุชื่อผู้ถือลิขสิทธิ์เมื่อใช้งานโดยผู้รับใบอนุญาต หรือตัวอย่างเช่น อนุญาตให้คัดลอกงาน แต่ห้ามดัดแปลงโดยเด็ดขาด หรือเพื่อดึงเอาข้อกำหนดที่ว่างานออกในเงื่อนไขเดียวกันกับต้นฉบับเป๊ะๆ เป็นต้น มีตัวอย่างค่อนข้างมากในการเสนอเงื่อนไขต่างๆ
แต่เราต้องไม่ลืมว่าใบอนุญาตนั้นไม่เพียงคุ้มครองสิทธิ์ของผู้อนุญาตเท่านั้น แต่ยังรวมถึงผู้รับใบอนุญาตด้วย เนื่องจากในนั้นคุณสามารถเห็นและอ่านเงื่อนไขทั้งหมดในการใช้งานได้อย่างชัดเจน ดังนั้นเขาจึงไม่ต้องกลัวว่าผู้อนุญาตจะเรียกร้องการหักเงินหรือค่าตอบแทนอื่นใดสำหรับการใช้งานของเขาในทันที
หากคุณปฏิเสธที่จะใช้ใบอนุญาตที่เกี่ยวข้องกับงาน ลิขสิทธิ์ยังคงใช้ตามกฎข้อบังคับทางกฎหมายที่บังคับใช้ในประเทศใดประเทศหนึ่ง พูดง่ายๆ ก็คือ การไม่มีใบอนุญาตไม่ได้หมายความว่าผู้เขียนคนอื่นๆ สามารถใช้โครงการนี้ในทางที่พวกเขาต้องการได้ ทุกอย่างตรงกันข้ามเพราะไม่มีใบอนุญาตเฉพาะโปรแกรมเมอร์ไม่สละสิทธิ์ที่ได้รับตามกฎหมาย สิ่งสำคัญคือต้องจำไว้เสมอว่าใบอนุญาตควบคุมสิทธิ์และภาระผูกพันทั้งหมด นี่คือการปกป้องเจ้าของงานจากความคาดหวังของผู้ใช้และความหมายของการรับประกันใด ๆ ท้ายที่สุดไม่มีใครต้องการให้รหัสของพวกเขาจบลงในศาล แต่อย่างใด
ลิขสิทธิ์คืออะไร
ลิขสิทธิ์ปรากฏในบุคคลเฉพาะเมื่อเขาสร้างผลงานบางอย่างที่ไม่เหมือนใคร แต่ในขณะเดียวกันก็มีประโยชน์เช่นคุณสามารถเขียนโปรแกรมเดียวกันได้ เมื่อทั้งหมดข้างต้นเสร็จสิ้น บุคคลนั้นจะกลายเป็นผู้เขียน และตอนนี้เขามีลิขสิทธิ์ของงานนี้โดยสมบูรณ์ ควรกล่าวด้วยว่าลิขสิทธิ์เป็นทรัพย์สินและไม่ใช่ทรัพย์สิน ความแตกต่างของพวกเขาคือสิทธิในทรัพย์สินสามารถโอนไปให้ใครก็ได้ แต่สิทธิ์ที่ไม่ใช่ทรัพย์สินจะคงอยู่กับผู้เขียนเท่านั้นในทุกสถานการณ์ ท้ายที่สุดแล้ว การเป็นผู้เขียนนั้นเป็นสิทธิ์ที่โอนให้ผู้อื่นไม่ได้และไม่สามารถโอนให้กันได้
ใบอนุญาตโอเพ่นซอร์สมีไว้เพื่ออะไร?
นี่เป็นคำถามยอดนิยมในหมู่นักพัฒนามือใหม่และโปรแกรมเมอร์ เนื่องจากพวกเขาไม่เข้าใจว่าทำไมจึงควรแนบใบอนุญาตกับโครงการของพวกเขา เพราะหากไม่มีสิ่งนี้ โปรเจ็กต์ก็สามารถอยู่เงียบๆ ได้เช่นกัน อย่างไรก็ตาม สิ่งนี้ไม่เป็นความจริงทั้งหมด เนื่องจากตัวอย่างเช่น หากนักพัฒนามือใหม่บางคนเขียนโค้ดที่สำคัญและมีประโยชน์บางส่วน แต่ไม่ได้ปกป้องด้วยใบอนุญาต ผู้ใช้รายอื่นจะมีคำถาม และด้วยเหตุนี้เอง เมื่อลูกค้ามาหาเขาและต้องการใช้โค้ดชิ้นนี้เพื่อวัตถุประสงค์ทางการค้า พวกเขาเห็นว่าโค้ดไม่มีใบอนุญาตและเพียงแค่ปฏิเสธ นี่เป็นเพราะความจริงที่ว่าบริษัทต่าง ๆ จะไม่ใช้รหัสโดยไม่มีใบอนุญาต เพราะพวกเขาไม่ต้องการปัญหากับกฎหมายและทนายความ
ใบอนุญาต GitHub ใดที่เหมาะสมในเงื่อนไขบางประการ – จะเลือกอย่างไร?
คำถามนี้ไม่มีคำตอบที่แน่นอน เนื่องจากการเลือกใบอนุญาตขึ้นอยู่กับเป้าหมายของโครงการและความชอบส่วนตัวและความต้องการของนักพัฒนาเท่านั้น อย่างที่คุณเห็น มีใบอนุญาตต่างๆ มากมายบน GitHub และที่สำคัญที่สุดคือทั้งหมดนั้นฟรีและเป็นสาธารณสมบัติ ซึ่งหมายความว่าโปรแกรมเมอร์ทุกคนสามารถหา
ใบอนุญาต โอเพ่นซอร์สที่เหมาะกับโครงการของเขาได้อย่างแน่นอน แต่ที่สำคัญที่สุด เราต้องไม่ลืมว่าใบอนุญาตโอเพ่นซอร์สไม่ใช่แค่โค้ดที่ไม่มีใบอนุญาตเท่านั้น
- ป้องกันอย่างแน่นหนา
- ป้องกันได้น้อย
- อนุญาต
ป้องกันอย่างแน่นหนา
การปกป้องสิทธิ์ใช้งานอย่างเข้มงวดมักเป็นรูปแบบของ GPL ใบอนุญาตเหล่านี้ต้องการใบอนุญาตของโครงการตลอดจนการเปิดเผยซอร์สโค้ด โดยไม่คำนึงว่าโค้ดหรือโครงการใดๆ จะถูกใช้หรือถูกใช้ไปแล้วอย่างไร
ป้องกันได้ไม่ดี
การปกป้องสิทธิ์ใช้งานที่อ่อนแอมักเป็นการเปลี่ยนแปลงของ Lesser GPL ซึ่งความแตกต่างที่สำคัญจากใบอนุญาตแบบอนุญาตคือที่นี่มีความจำเป็นเพียงแค่ให้สิทธิ์ใช้งานโปรแกรมภายใต้ใบอนุญาต GPL เช่นเดียวกับการจัดหาซอร์สโค้ดโดยไม่ล้มเหลว ในเวลาเดียวกัน ถ้ามีไลบรารี่ในโครงการของโปรแกรมเมอร์ นั่นคือ การเชื่อมโยงแบบสแตติกหรือการเชื่อมโยงแบบไดนามิกภายใต้ลิขสิทธิ์ LGPL ไลบรารีนั้นจะเข้ากันได้กับใบอนุญาตใดๆ ของโปรเจ็กต์ของโปรแกรมเมอร์นี้
อนุญาต
มีใบอนุญาตอนุญาตจำนวนมากพอสมควร ใบอนุญาตที่ได้รับความนิยมมากที่สุดคือ MIT, Apache 2.0 และ BSD ใบอนุญาตเหล่านี้มีความสามารถในการอนุญาตให้ใช้รหัสทั้งในโครงการโอเพ่นซอร์สและเพื่อวัตถุประสงค์ทางการค้าและโครงการด้วยรูปแบบที่แตกต่างกันเล็กน้อย แต่ในกรณีนี้ สิ่งสำคัญคือต้องจำไว้ว่าจำเป็นต้องระบุผู้ประพันธ์ของโปรแกรมต้นฉบับ
ใบอนุญาต GitHub ยอดนิยมอื่น ๆ
นอกจากใบอนุญาตสามกลุ่มนี้แล้ว ยังมีใบอนุญาตอื่นๆ เช่น ใบอนุญาตที่มีประโยชน์ที่สุดอีกประเภทหนึ่งคือ GPLv2 ที่มีส่วนขยายคลาสพาธ ใบอนุญาตนี้ยังสามารถใช้ได้กับทั้งโครงการโอเพ่นซอร์สและโครงการเชิงพาณิชย์และวัตถุประสงค์ ลักษณะที่ได้รับความนิยมมากที่สุดอยู่ที่ Oracle ซึ่งใช้ GPLv2 พร้อมส่วนขยาย classpath เพื่ออนุญาตโครงการโอเพ่นซอร์สและโซลูชัน ใบอนุญาตนี้ค่อนข้างสำคัญและมีประโยชน์ เนื่องจากใบอนุญาต GPL ปกติจะไม่สามารถจัดการกับ bytecode ได้ นั่นคือ พวกเขามีคำอธิบายพิเศษของกระบวนการคอมไพล์และลิงก์ ซึ่งไม่เหมาะกับภาษาโปรแกรมที่ตีความโดยสมบูรณ์ ภาษา Java ที่ได้รับความนิยมมากที่สุดคือหนึ่งในภาษาดังกล่าว สำหรับกรณีดังกล่าว ใบอนุญาตพิเศษ GPLv2 พร้อมส่วนขยาย classpath ได้รับการเผยแพร่ ท้ายที่สุด มันกล่าวไว้อย่างชัดเจนและชัดเจนว่าไลบรารีที่เผยแพร่ภายใต้ใบอนุญาตนี้สามารถใช้สำหรับโครงการเชิงพาณิชย์และวัตถุประสงค์ด้วยใบอนุญาตอื่นๆ โดยสิ้นเชิง
ใบ
อนุญาต GitHub
เพิ่มใบอนุญาต
หลังจากเลือกใบอนุญาตขั้นสุดท้ายแล้ว จะเหลือเพียงการเพิ่มลงในรูทของโปรเจ็กต์เองเท่านั้น ในการดำเนินการนี้ คุณต้องเพิ่มใบอนุญาตที่เลือกไว้ภายใต้รูทของโปรเจ็กต์ระหว่างการสร้างโปรเจ็กต์เองหรือเมื่อใดก็ได้ แต่แม้กระทั่งในการดำเนินการนี้ บริการเว็บ GitHub ก็สามารถดูแลผู้ใช้ได้ และพวกเขาได้เพิ่มวิธีที่สะดวกพอสมควรในการเพิ่มใบอนุญาตขั้นสุดท้ายแม้ในช่วงเริ่มต้นของโครงการ