8 สุดยอดโครงการโอเพ่นซอร์สสำหรับผู้เริ่มต้นที่ต้องลองในปี 2565

เผยแพร่แล้ว: 2021-01-02

สารบัญ

บทนำ

นักพัฒนามือใหม่มักอาศัยบทช่วยสอนออนไลน์และข้อมูลอ้างอิงเพื่อสร้างรากฐานของการเขียนโค้ด เช่นเดียวกับรูปแบบการเรียนรู้ใด ๆ สิ่งนี้ก็ให้ความรู้แก่ผู้เรียน แทบไม่ได้เป็นแหล่งของประสบการณ์ตรงและทักษะการใช้งานจริง

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

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

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

เข้าร่วม หลักสูตร ML ออนไลน์จากมหาวิทยาลัยชั้นนำของโลก – ปริญญาโท โปรแกรม Executive Post Graduate และหลักสูตรประกาศนียบัตรขั้นสูงใน ML & AI เพื่อติดตามอาชีพของคุณอย่างรวดเร็ว

การเลือกโครงการโอเพ่นซอร์ส

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

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

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

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

1. รหัส 30 วินาที

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

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

2. ผลงานแรก

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

อ่าน: แนวคิดโครงการโอเพ่นซอร์สของ Python

3. โมเดลเทนเซอร์โฟลว์

โปรเจ็กต์ TensorFlow มีไว้สำหรับนักพัฒนาใหม่ที่สนใจแมชชีนเลิร์นนิงและการเรียนรู้เชิงลึก ผู้เริ่มต้นควรเรียนรู้จากบทช่วยสอนของ TensorFlow และสังเกตแบบจำลองอย่างเป็นทางการก่อนที่จะมีส่วนร่วมในโครงการใดๆ

ปัจจุบัน GitHub TensorFlow Model Garden มีโครงการเกี่ยวกับการประมวลผลภาษาธรรมชาติและคอมพิวเตอร์วิทัศน์ โมเดลอย่างเป็นทางการเหล่านี้เป็นคอลเล็กชันที่ใช้ API ระดับสูงของ TensorFlow และได้รับการดูแล ทดสอบ และอัปเดตอย่างเหมาะสมเพื่อให้ทันกับบิวด์ล่าสุด โมเดลเหล่านี้มีจุดประสงค์เพื่อเพิ่มประสิทธิภาพอย่างเหมาะสมเพื่อให้ทำงานเหมือนเดิมหรือเร็วขึ้นกับบิลด์ใหม่แต่ละรายการ

โครงการระดับสูง

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

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

4. ซูลิป

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

บน Zulip คุณสามารถเป็นหนึ่งในผู้มีส่วนร่วมจำนวนมากในแพลตฟอร์มโดยบริจาคโค้ดและดำเนินการสนับสนุนที่ไม่ใช่โค้ด เช่น การรายงานปัญหา การแปล หรือให้ข้อเสนอแนะเพื่อปรับปรุงแอป คุณยังสามารถโฮสต์และเรียกใช้เซิร์ฟเวอร์ Zulip ซึ่งทำงานบนหลายแพลตฟอร์ม รวมถึง Ubuntu 18.04 Bionic, Ubuntu 16.04 Xenial และ Debian 9 Stretch

อ่านเพิ่มเติม: โครงการโอเพ่นซอร์ส Python AI & ML

5. นีโอวิม

Neovim ถูกแท็ก "good first issue" บน GitHub ซึ่งระบุว่าเหมาะสำหรับผู้ที่มองหาโครงการโอเพ่นซอร์สแรกบน GitHub Vim เป็นโปรแกรมแก้ไขข้อความที่มีประสิทธิภาพซึ่งมีอายุมากกว่าสองทศวรรษ และมีชุมชนที่ร่ำรวยและได้รับการอุปถัมภ์อยู่รายรอบ มีรหัส C89 สะสมมากกว่า 300,000 บรรทัดที่น้อยคนนักที่จะเข้าใจ และแม้แต่น้อยคนที่กล้าแตะต้อง

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

โปรเจ็กต์นี้ไม่ใช่ภารกิจในการเขียน Vim ใหม่ แต่เพื่อเปลี่ยนแปลงให้เข้ากับยุคปัจจุบัน การเปลี่ยนแปลงจะมีผลกระทบน้อยที่สุดกับซอร์สโค้ด GitHub มีดาวเกือบ 40,000 ดวง นี่เป็นโครงการยอดนิยมในชุมชน

6. iGraph

iGraph เป็นไลบรารี่ที่ใช้งานได้ตั้งแต่ C, R, Python และ Mathematica โปรเจ็กต์นี้มีไว้สำหรับสร้าง จัดการ และวิเคราะห์กราฟ เป็นไลบรารีของเครื่องมือวิเคราะห์เครือข่ายและเน้นประสิทธิภาพ การพกพา และการใช้งานง่าย พื้นที่เก็บข้อมูล Igraph บน GitHub มีดาวมากกว่าหนึ่งพันดวงและปัญหาที่เหมาะสมมากมายสำหรับนักพัฒนาระดับเริ่มต้นที่จะแก้ไข

7. Scrapy

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

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

8. จี่หนาน

Jina เป็นเฟรมเวิร์กการค้นหาที่มีความสามารถในการใช้งานการค้นหาข้ามโมดอล ขับเคลื่อนโดย Deep Learning และสามารถใช้เพื่อเปิดใช้งานการค้นหาข้อความ รูปภาพ และเสียงในระบบคลาวด์ สามารถขยายได้โดยใช้อินเทอร์เฟซ Pythonic เป็นแบบพลักแอนด์เพลย์ ใช้งานบนคลาวด์ และมีโมดอล AI ที่ยอดเยี่ยม ท่ามกลางความสามารถอื่นๆ

สามารถติดตั้งบน Linux หรือ macOS ด้วย Python นี่เป็นโครงการ Deep Learning ระดับสูงซึ่งมีงานที่ค่อนข้างง่ายกว่าสำหรับผู้เริ่มต้น ใครก็ตามที่สนใจเกี่ยวกับ AI, Cloud Computing และเสิร์ชเอ็นจิ้นควรเข้าร่วมโครงการนี้อย่างแน่นอน

อ่านยอดนิยม: แหล่งเก็บข้อมูลโอเพ่นซอร์สยอดนิยมใน Github

บทสรุป

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

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

หากคุณอยากเชี่ยวชาญด้านการเรียนรู้ของเครื่องและ AI ให้เพิ่มอาชีพของคุณด้วยวิทยาศาสตรมหาบัณฑิตสาขาการเรียนรู้ของเครื่องและ AI กับ IIIT-B และมหาวิทยาลัย Liverpool John Moores

จะเลือกโครงการโอเพ่นซอร์สได้อย่างไร?

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

ฉันจะมีส่วนร่วมในโครงการโอเพ่นซอร์สในฐานะผู้เริ่มต้นได้อย่างไร

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

เหตุใดฉันจึงควรสนับสนุนโอเพ่นซอร์ส

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