กดสิ่งนี้: ปลั๊กอิน WordPress ของคุณรองรับ GPL หรือไม่?

เผยแพร่แล้ว: 2023-10-06

ยินดีต้อนรับสู่ Press This พอดแคสต์ชุมชน WordPress จาก WMR แต่ละตอนนำเสนอแขกรับเชิญจากทั่วทั้งชุมชนและการอภิปรายเกี่ยวกับปัญหาที่ใหญ่ที่สุดที่นักพัฒนา WordPress ต้องเผชิญ ต่อไปนี้เป็นการถอดความจาก การบันทึกต้นฉบับ

ขับเคลื่อนโดย RedCircle

Doc Pop : คุณกำลังฟัง Press This ซึ่งเป็นพอดแคสต์ชุมชน WordPress บน WMR ในแต่ละสัปดาห์เราจะเน้นสมาชิกของชุมชน WordPress ฉันเป็นพิธีกรของคุณ ด็อคป๊อป ฉันสนับสนุนชุมชน WordPress ผ่านบทบาทของฉันที่ WP Engine และการมีส่วนร่วมของฉันใน TorqueMag.io คุณสามารถสมัครสมาชิก Press This บน RedCircle, iTunes, Spotify หรือแอพพอดแคสต์ที่คุณชื่นชอบ หรือคุณสามารถดาวน์โหลดตอนต่างๆ ได้โดยตรงจาก WMR.fm

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

ดังนั้นวันนี้เรามีแขกรับเชิญพิเศษ Jeff Paul ผู้อำนวยการฝ่ายโอเพ่นซอร์สที่ 10up ซึ่งจะแบ่งปันโซลูชันที่เปลี่ยนแปลงเกมที่เขานำเสนอที่ WordCamp US ในปีนี้ ลองจินตนาการถึงการมีเครื่องมือที่จะสแกนโค้ดเบสของคุณโดยอัตโนมัติเพื่อรับประกันความเข้ากันได้ของ GPL ของปลั๊กอิน แม้ว่าคุณจะเพิ่มคุณสมบัติและการขึ้นต่อกันใหม่ๆ ก็ตาม

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

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

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

DP : และคุณก็เป็นผู้มีส่วนร่วมอย่างมากต่อแกน WordPress เช่นกัน 10up ดูแลรักษาปลั๊กอินจำนวนมากในพื้นที่เก็บข้อมูลปลั๊กอิน รวมถึง ElasticPress, Distributor, ClassifAI ทั้งหมดนี้พร้อมใช้งานบนพื้นที่เก็บข้อมูล wordpress.org และได้รับการดูแลบน GitHub แบบสาธารณะและใช้แนวทางปฏิบัติแบบโอเพ่นซอร์ส

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

เจพี : แน่นอน ดังนั้นพื้นที่เก็บข้อมูล WordPress จึงโฮสต์โดย WordPress.org ซึ่งเป็นโครงการโอเพ่นซอร์สที่แยกจาก WordPress.com แยกจากโฮสต์อื่น ๆ ในระบบนิเวศ แยกจากบริษัทหรือผู้จัดจำหน่ายปลั๊กอินบุคคลที่สาม และนั่นคือสิ่งที่เชื่อมโยงโดยตรงหรือเชื่อมโยงเข้ากับการติดตั้ง WordPress ทุกอัน เมื่อมีคนอยู่ในผู้ดูแลระบบ WordPress กำลังค้นหาปลั๊กอินหรือธีม การค้นหาเหล่านั้นจะผ่านที่เก็บปลั๊กอิน WordPress.org และที่เก็บธีมซึ่งมีอยู่ในผู้ดูแลระบบ WordPress และในทำนองเดียวกันบน WordPress.org มีการค้นหาและเนื้อหาเดียวกันอย่างมีประสิทธิภาพ

ในแง่ของการแสดงรายการบางอย่าง ทีมตรวจสอบปลั๊กอิน wordpress.org ได้กำหนดแนวทางโดยละเอียดเกี่ยวกับสิ่งที่ควรทำและไม่ควรทำสำหรับนักพัฒนาปลั๊กอิน จากนั้นจะมีขั้นตอนการส่งจริงที่ต้องดำเนินการเพื่อส่งครั้งแรกไปยังที่เก็บปลั๊กอิน wordpress.org เมื่อได้รับการอนุมัติแล้ว จะมี repo SVN ที่สร้างขึ้นสำหรับปลั๊กอินของคุณ และคุณรู้ไหมว่าการอัปเดต การเผยแพร่ ฯลฯ จะถูกส่งไปที่ SVN และนั่นคือจุดที่ทุกสิ่งมีชีวิตอยู่และหายใจเพื่อสิ่งที่พร้อมสำหรับการค้นหาบน WordPress.org หรือภายในผู้ดูแลระบบ WordPress

DP : หนึ่งในกฎแรกๆ ที่ฉันเชื่อคือสิ่งที่คุณใส่ลงในที่เก็บ WordPress จะต้องสอดคล้องกับ GPL รวมถึงแบบอักษรและรูปภาพ ไม่ใช่แค่โค้ดเท่านั้น ถูกต้องไหม?

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

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

JP : ใช่แล้ว สิ่งนี้มีที่มาเล็กน้อยจากบทบาทของฉันในฐานะผู้อำนวยการฝ่ายโอเพ่นซอร์สที่ 10Up อาจไม่ใช่สิ่งที่ผู้เขียนปลั๊กอินทุกวัน ปลั๊กอินตัวเดียวหรือหลายปลั๊กอินอาจทราบหรือรบกวนพวกเขา แต่ฉันคิดว่าเมื่อถึงจุดหนึ่ง ฉันเกือบจะตื่นขึ้นมากลางดึกแล้วคิดว่า “ฉันไม่รู้ว่าฉันรู้แน่ชัดหรือเปล่าว่าคุณรู้ ภาพทั้งหมด การพึ่งพาของบุคคลที่สามทั้งหมด แบบอักษรทั้งหมด และอื่นๆ อีกมากมาย เข้ากันได้กับ GPL และพยายามหาวิธีในวงกว้างสำหรับเราในระดับ 10 ขึ้นไป โดยที่เรามีปลั๊กอินหลายสิบรายการที่มีอยู่ในที่เก็บ wordpress.org หรือบน GitHub เช่นกัน แหล่งที่มานั่นเอง

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

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

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

DP : และเพียงเพื่อชี้แจงที่นี่ หากคุณไม่ได้ หากคุณพบผ่านสิ่งนี้ ว่ามีการพึ่งพาอยู่บ้างหรือบางอย่างในนั้น ซึ่งไม่สอดคล้องกัน การแยกย่อยเป็นเพียงความอับอายจาก ชุมชนหรืออาจมีความเสียหายเชิงลงโทษที่คุณอาจต้องได้รับหากไม่ปฏิบัติตามกฎ?

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

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

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

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

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

DP : พูดถึงเรื่องสบายๆ เราก็จะพักสักหน่อย ดังนั้น นั่งลงและผ่อนคลาย แล้วเราจะกลับมาอีกครั้งหลังจากช่วงพักโฆษณาสั้นๆ พร้อมบทสัมภาษณ์เพิ่มเติมของเรากับ Jeff Paul ผู้อำนวยการฝ่ายริเริ่มโอเพ่นซอร์สที่ 10 ขึ้นไปเกี่ยวกับการรักษาปลั๊กอินของคุณให้สอดคล้องกับ GPL คอยติดตามข้อมูลเพิ่มเติมหลังจากช่วงพักสั้นๆ นี้

DP : ยินดีต้อนรับกลับสู่ Press This ซึ่งเป็นพอดคาสต์ชุมชน WordPress ฉันคือหมอ ฉันกำลังพูดคุยกับ Jeff Paul เกี่ยวกับการใช้การกระทำของ GitHub เพื่อให้แน่ใจว่าโค้ดและปลั๊กอินของคุณเป็นไปตามมาตรฐาน GPL ก่อนหยุดพัก เราได้เจาะลึกเรื่องนี้กันเล็กน้อย และเราได้พูดคุยเกี่ยวกับผลกระทบที่ตามมาหากคุณไม่ปฏิบัติตามข้อกำหนดทั้งหมด และฉันคิดว่าฉันอยากจะกลับไปที่สิ่งนี้โดยเฉพาะ มีการกระทำ GitHub ที่ใครๆ ก็สร้างได้ แต่ Jeff คุณพูดถึงในการพูดคุย WordCamp ของคุณว่าคุณใช้การกระทำ GitHub อย่างเป็นทางการ ฉันคิดว่ามีการเปลี่ยนแปลงเล็กน้อย คุณช่วยบอกเราหน่อยได้ไหมว่าชื่อของการกระทำที่ผู้คนควรมองหาเพื่อที่จะทำเช่นนี้คืออะไร?

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

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

เจพี : ถูกต้อง ใช่. ฉันเห็นคุณนั่งฟังการบรรยายของฉันที่ WordCamp US ขอขอบคุณที่คุณได้เป็นผู้ชมและตื่นตัวและรับฟัง หรือคุณรับชมได้ทาง YouTube หรือ WordPress.tv แต่ใช่ มีกระแสมาตรฐานสองแบบที่ฉันคาดหวังได้ เพื่อติดตามที่นี่

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

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

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

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

DP : นี่เป็นการดำเนินการอัตโนมัติทั้งหมด ดังนั้นหากมีคนดึงคำขอ ก็จะทำเช่นนั้นเพื่อคุณเท่านั้น ขวา?

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

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

DP : เราจะพักช่วงสั้นๆ ที่นี่อีกครั้ง เมื่อเรากลับมา เราจะสรุปการสนทนากับ Jeff Paul เกี่ยวกับใบอนุญาต GPL และอาจพูดคุยถึงสิ่งที่เราไม่ได้พูดถึงก่อนหน้านี้ ดังนั้นคอยติดตามเพิ่มเติมหลังจากช่วงพักสั้นๆ นี้

DP : ยินดีต้อนรับกลับสู่ Press This ซึ่งเป็นพอดคาสต์ชุมชน WordPress เรากำลังปิดการแสดง และเราจะเปลี่ยนเกียร์กันสักหน่อย ช่วงนี้มีการพูดคุยกันเกี่ยวกับกระบวนการตรวจสอบในพื้นที่เก็บข้อมูลปลั๊กอิน และโดยพื้นฐานแล้ว การระบุข้อเท็จจริงนี้ก็คือ มันช้ากว่าที่เคยเป็นมาเล็กน้อย

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

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

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

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

DP : และเมื่อพูดถึงการติดต่อ หากผู้คนมีคำถาม เกี่ยวกับการพูดคุยของคุณที่ WordCampUS หรือเพียงบางโครงการที่ 10uP กำลังทำงานในพื้นที่โอเพ่นซอร์ส วิธีใดคือวิธีที่ดีที่สุดที่ผู้คนจะติดต่อคุณ ?

เจพี : แน่นอน ดังนั้นเว็บไซต์ของฉันคือ jeffpaul.com ฉันมีการนำเสนออยู่ที่นั่น หากคุณเพียงแค่ค้นหา GPL มันอาจจะเป็นหนึ่งในโพสต์แรกๆ ไม่ว่าในกรณีใดก็ตาม ไม่อย่างนั้น อีเมลของฉันคือ [email protected] อีเมลที่ทำงาน อืม แล้วก็แทบทุกโซเชียลเน็ตเวิร์ก WordPress.org, GitHub, Twitter, slash X และฉันชื่อ @Jeff Paul และทุกคนสามารถพบฉันบนโซเชียลเน็ตเวิร์กด้วยวิธีนี้

DP : ในทำนองเดียวกัน หากผู้ฟังต้องการค้นหาตัวอย่างการทำงานของ 10uP บน GitHub ฉันคิดว่านั่นเป็นเพียง 10up บน GitHub

JP : ถูกต้องใช่ github.com/10up ที่เก็บข้อมูลทั้งหมดสำหรับปลั๊กอินของเรานั้นเปิดเผยต่อสาธารณะ ทีมงานของเราติดตามปัญหาใหม่และการประชาสัมพันธ์อย่างใกล้ชิด สิ่งเหล่านี้จะถูกส่งไปที่ช่อง Slack ของเรา ดังนั้นไม่ว่าคำถามใดๆ ที่ผู้คนมี การสนทนาใดๆ พวกเขาก็เปิดไว้ที่นั่น ทีมของเราควรจะตอบสนองต่อสิ่งเหล่านั้นอย่างเป็นธรรม แต่ถ้าไม่ คุณก็รู้ แจ้งฉันเกี่ยวกับ WordPress Slack บน Twitter ทางอีเมล หรืองานใดๆ เหล่านั้น ฉันมีความสุขเสมอที่ได้สนทนาโอเพ่นซอร์สกับผู้คนในชุมชน

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

หากคุณพลาดรายการ Press This เมื่อสัปดาห์ที่แล้ว เราได้พูดคุยกับ Carmen Johnson เกี่ยวกับขั้นตอนที่คุณสามารถทำได้เพื่อเตรียมเว็บไซต์ของคุณให้พร้อมสำหรับการสิ้นสุดอายุการใช้งานของ MySQL 5.7 และวิธีเตรียมพร้อมสำหรับ MySQL 8 นั่นเป็นตอนที่ดีจริงๆ สำหรับคุณ สามารถตรวจสอบได้ และเรามีอีกมากมาย คุณสามารถค้นหาได้ใน TorqueMag.io หากคุณต้องการค้นหาเวอร์ชันที่ถอดเสียง ขอขอบคุณที่ฟัง Press This พอดแคสต์ชุมชน WordPress บน WMR คุณสามารถติดตามการผจญภัยของเราได้บน Twitter ที่ Torque Mag

คุณสามารถสมัครสมาชิก Press This บน RedCircle, iTunes, Spotify หรือแอพพอดแคสต์ที่คุณชื่นชอบ หรือคุณสามารถดาวน์โหลดตอนต่างๆ ได้โดยตรงจาก WMR.fm ฉันเป็นเจ้าภาพของคุณ ดร.ป๊อปปูลาร์ ฉันสนับสนุนชุมชน WordPress ผ่านบทบาทของฉันที่ WP Engine และฉันชอบนำเสนอสมาชิกของชุมชนนั้นให้โดดเด่นในแต่ละสัปดาห์บน PressThis