Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

การมีส่วนร่วมในโอเพนซอร์ส: เริ่มต้นอย่างไรใน C++


โอเพนซอร์ส (Open Source) คืออะไร?

โอเพนซอร์สหมายถึงซอฟต์แวร์โอเพนซอร์ส (OSS) ในโลกซอฟต์แวร์ คือซอฟต์แวร์ที่เผยแพร่ฟรีบนอินเทอร์넷 ให้ใช้, แก้ไข, ทดสอบ, พัฒนาต่อได้ตามต้องการ OSS สะดวกกว่าสำหรับผู้ใช้ทั่วโลก เพราะปรับเปลี่ยนได้ ผู้ใช้เลือกเพิ่ม/ลบแพตช์ตามความต้องการ

สิ่งนี้เปลี่ยนโลกซอฟต์แวร์อย่างมาก ไม่ว่าจะเป็นโปรแกรมเมอร์, นักพัฒนา, ทีสเตอร์ ที่ลองมีส่วนร่วมในโอเพนซอร์ส

ทำไมต้องมีส่วนร่วม?

  • เพื่อพัฒนาความรู้และทักษะการสอน

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

  • ปรับปรุงซอฟต์แวร์

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

  • เป็นส่วนหนึ่งของชุมชน

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

จะมีส่วนร่วมอะไรได้บ้าง?

ความเชื่อผิดทั่วไปคือ การมีส่วนร่วมในซอฟต์แวร์ต้องเขียนโค้ดเท่านั้น การสร้างซอฟต์แวร์ต้องการการออกแบบอินเทอร์เฟซ, เอกสาร, รวบรวมความต้องการ, グラフィックดีไซน, การนำเสนอ, แผนภาพ ฯลฯ หลังพัฒนาเสร็จก็มีการทดสอบ, การตลาด, โฆษณา ฯลฯ

  • เขียนโค้ด (Coding)

หากเก่งภาษาโปรแกรมมิ่งเฉพาะ สามารถมีส่วนร่วมเขียนโมดูล, แพตช์, ส่วนของโปรแกรม เลือกโปรเจกต์ที่ตรงทักษะและเริ่มต้น

  • วางแผนจัดงาน (Event Planning)

จัดงานอภิปราย, สัมมนาในโรงเรียน/มหาวิทยาลัย จัดแฮกกาธอนให้นักศึกษาและนักพัฒนา ตั้งแต่จองสถานที่, ส่งเชิญ, จัดผู้เข้าร่วม, ความปลอดภัย, อุปกรณ์เทคโนโลยี สาธิตทักษะการจัดการ

  • ออกแบบ (Design)

ออกแบบหน้าจอผู้ใช้, โลโก้, อินเทอร์เฟซ, โมเดลฮาร์ดแวร์ ปรับปรุงอินเทอร์เฟซเก่า ออกแบบเสื้อ, แบนเนอร์ ทักษะการวาด, HTML, CSS, Angular ช่วยชุมชนได้ สิ่งสำคัญคือจินตนาการ

  • เขียนเอกสาร (Documentation)

หากคุณอธิบายได้ดี สามารถมีส่วนร่วมเขียนเอกสารโปรเจกต์ เช่น จดหมายข่าว, บทความ, คู่มือซอฟต์แวร์/ผู้ใช้, SRS, SDD, บทเรียน, คู่มือผู้ใช้ขั้นตอน, สไลด์นำเสนอ ฯลฯ

  • วิธีอื่นๆ
    • รีวิวโค้ด, เอกสาร
    • ตอบคำถามในเว็บไซต์ เช่น Stack Overflow, Quora
    • สาธิตผ่านวิดีโอ
    • สอนคลาสออนไลน์
    • ไม่ได้เป็นซอฟต์แวร์อย่างเดียว หนังสือ, สูตรอาหาร ก็เป็นส่วนหนึ่งของโอเพนซอร์ส

วิธีเริ่มต้นมีส่วนร่วม

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

ตัวอย่างแพลตฟอร์มโอเพนซอร์ส

  • GitHub Explore
  • Open Source Friday
  • First Timers Only
  • CodeTriage
  • 24 Pull Requests
  • Up For Grabs
  • Contributor-ninja
  • First Contributions
  • SourceSort