วิธีการสร้างโปรแกรมโอเพนซอร์ส

เสร็จสมบูรณ์เมื่อ

ที่นี่เรากล่าวถึงข้อควรพิจารณาที่สําคัญสําหรับการสร้างโปรแกรมโอเพนซอร์ส

"โอเพนซอร์ส" หมายความว่าอย่างไร?

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

หนึ่งในเหตุผลสําคัญที่บริษัทเปิดแหล่งข้อมูลโครงการคือพวกเขาต้องการให้ชุมชนมีส่วนร่วม โครงการยอดนิยมได้รับการร่วมสร้างที่สําคัญจากชุมชนและพวกเขาได้รับฟรี

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

เป้าหมายโอเพนซอร์ส

ในการสรุป มีสามมิติที่จะเข้าร่วมในซอฟต์แวร์โอเพนซอร์ส:

  • ผู้บริโภคที่ศึกษาหรือใช้ที่เก็บของผู้อื่น
  • ผู้สนับสนุนผู้ที่เกี่ยวข้องในการปรับปรุงที่เก็บของผู้อื่น
  • ผู้ผลิตผู้สร้างและบํารุงรักษาที่เก็บของตนเองที่เปิดให้ผู้อื่น

เมื่อองค์กรคิดลึกมากขึ้นเกี่ยวกับสิ่งที่พวกเขาต้องการออกมาจากแต่ละมิติ นี่คือแนวทางปฏิบัติที่ดีในการรับสต็อกของสิ่งที่พวกเขาเป็นในวันนี้ มีห้าระดับกระบวนการภายในแต่ละมิติ

ไดอะแกรมของระดับกระบวนการโอเพนซอร์ส

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

เพื่อให้เข้าใจตําแหน่งที่องค์กรของคุณอยู่ได้ดียิ่งขึ้น ให้ดูที่ การประเมินตนเองแบบโอเพนซอร์ส

คุณควรใช้โอเพนซอร์สคืออะไร

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

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

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

  • โครงการของคุณมีประโยชน์กับบุคคลภายนอกบริษัทของคุณหรือไม่ ถ้าไม่ เป็นเช่นนั้น คุณอาจไม่ได้เข้าร่วม

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

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

คําถามเหล่านี้เป็นเพียงข้อควรพิจารณาที่พบบ่อยที่สุดบางข้อ องค์กรของคุณอาจมีปัญหาทางธุรกิจหรือการปฏิบัติตามกฎระเบียบอื่น ๆ ที่ควรทราบ

การออกแบบโปรแกรมโอเพนซอร์ส

การเรียกใช้โปรแกรมโอเพนซอร์สนั้นคล้ายกับการเรียกใช้โปรแกรม InnerSource แต่สําหรับผู้ชมสาธารณะ ด้วยเหตุนี้ จึงมีข้อควรพิจารณาเพิ่มเติมอีกสองถึงสามข้อ

การตั้งค่าความคาดหวังของชุมชน

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

นอกจากนี้ หลักจรรยาบรรณ ของคุณ เป็นนโยบายที่สําคัญที่จะต้องระบุไว้ มาตรฐานคือการเพิ่มไฟล์ CODE_OF_CONDUCT.md ลงในรากของที่เก็บของคุณ และใช้เพื่ออธิบายลักษณะการทํางานที่คาดหวังจากผู้เข้าร่วมในชุมชนของคุณ กลุ่มหลายกลุ่มในองค์กรของคุณควรตรวจทานเอกสารนี้ รวมถึงทีมกฎหมายของคุณด้วย โชคดีที่มีรหัสมาตรฐานหลายประการที่สามารถเริ่มได้ โครงการจํานวนมากใช้รหัสเหล่านี้ as-is โดยไม่มีการแก้ไข เรียนรู้เพิ่มเติมใน คู่มือ รหัสการดําเนินการแบบโอเพนซอร์ส

การเตรียมพนักงานเพื่อรักษาที่เก็บข้อมูล

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

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

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

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

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

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

  • คู่มือ การสื่อสาร ที่มีคําแนะนําผู้ดูแลที่เก็บสําหรับหัวข้อบางส่วนที่คุณไม่ต้องการรวมไว้ในไฟล์สาธารณะ เช่น README.mdCONTRIBUTING.mdหรือ CODE_OF_CONDUCT.md หัวข้อเหล่านี้อาจเป็นหัวข้อทางธุรกิจที่ละเอียดอ่อน เช่น การไม่กล่าวถึงคู่แข่ง หรือหัวข้อการดําเนินการทั่วไปเพิ่มเติม เช่น วิธีการจดจําผู้สนับสนุนสูงสุดอย่างเหมาะสม

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

  • นโยบายการอนุญาตให้ใช้สิทธิ ที่แสดงรายการสิทธิ์การใช้งานที่ได้รับการอนุมัติหรือปฏิเสธโดยแผนกกฎหมายสําหรับการใช้หรือการสนับสนุนโอเพนซอร์ส