JavaRush /จาวาบล็อก /Random-TH /โครงการโอเพ่นซอร์ส: คืออะไร และทำไมคุณควรเป็นส่วนหนึ่งของ...

โครงการโอเพ่นซอร์ส: คืออะไร และทำไมคุณควรเป็นส่วนหนึ่งของชุมชนโอเพ่นซอร์ส

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

เหตุใดจึงคุ้มค่าที่จะทำโครงการโอเพ่นซอร์ส?

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

โครงการโอเพ่นซอร์สบนนิ้วของคุณ

คุณชอบที่จะเดินเล่นในสวนสาธารณะหรือไม่? อาจจะไม่ใช่ตอนนี้ เพราะเป็นเดือนพฤศจิกายนแล้ว อย่างที่ใครๆ บอกว่า "ฤดูหนาวกำลังจะมา!" ฉันแน่ใจว่าในวันที่อากาศดีคุณจะต้องเพลิดเพลินกับการเดินเล่นท่ามกลางต้นไม้ตามตรอกที่ได้รับการดูแลเป็นอย่างดี แต่จะเกิดอะไรขึ้นถ้าสวนสาธารณะที่คุณชื่นชอบถูกทิ้งร้างโดยหน่วยงานเทศบาล? มันคงจะวุ่นวายเร็วมาก ขยะจะกระจัดกระจายไปทั่ว ผสมกับขยะสุนัข รออย่างใจจดใจจ่อเพื่อให้ใครสักคนก้าวเข้ามา ไม่น่าเป็นไปได้ที่คุณจะไปเดินเล่นที่นั่นต่อไป
โครงการโอเพ่นซอร์ส: คืออะไร และทำไมคุณควรเป็นส่วนหนึ่งของชุมชนโอเพ่นซอร์ส - 2
ทีนี้ลองจินตนาการถึงภาพที่มีความสุขมากขึ้น: กลุ่มอาสาสมัครรับผิดชอบในการดูแลรักษาสวนสาธารณะที่พวกเขาชื่นชอบ เธอจัดสรรเงินทุนเป็นประจำเพื่อเปลี่ยนสิ่งที่ไม่เป็นระเบียบและละเลยให้กลายเป็นสิ่งที่สวยงามและเป็นประโยชน์ต่อผู้อื่น และเขาทำสิ่งนี้ไม่เพียงเพื่อความสุขส่วนตัวเท่านั้น แต่ยังเพื่อความสุขของสาธารณชนด้วย เป็นไปได้มากว่าภาษีของเรารองรับสวนสนุกที่คุณชื่นชอบ แต่โดยทั่วไปแล้วสถานการณ์ข้างต้นจะอธิบายวิธีการทำงานของโครงการโอเพ่นซอร์ส
ซอฟต์แวร์โอเพ่นซอร์สฟรีคือแอปพลิเคชันที่มีโค้ดสำหรับทุกคน สามารถดาวน์โหลดและ/หรือใช้กับอุปกรณ์จำนวนเท่าใดก็ได้ คุณมีอิสระที่จะนำโค้ดโปรแกรมไปทำอะไรก็ได้ที่คุณต้องการ จากนั้นจึงแจกจ่ายให้กับเพื่อนของคุณ ที่เป็นเช่นนี้เพราะโปรแกรมดังกล่าวเผยแพร่ภายใต้ลิขสิทธิ์ฟรี เช่น ใบอนุญาต MIT
แม้ว่าซอฟต์แวร์ทั้งหมดได้รับการออกแบบมาสำหรับผู้ใช้ปลายทางเป็นหลัก แต่ในฐานะนักพัฒนา คุณสามารถมีส่วนร่วมในโครงการโอเพ่นซอร์ส และทำให้โลกเป็นสถานที่ที่ดีขึ้นด้วยซอฟต์แวร์ใหม่ๆ ที่พร้อมใช้งาน หากคุณต้องการมีส่วนร่วมในโครงการโอเพ่นซอร์ส คุณต้องเข้าใจว่าใครเป็นผู้รับผิดชอบโครงการนี้ และพยายามสร้างปฏิสัมพันธ์กับบุคคลเหล่านี้ ฉันไม่ได้หมายถึงการถามคำถามที่ทรมานพวกเขาจนเกือบตาย และคาดหวังการควบคุมดูแลอย่างครอบคลุมระหว่างการทำงาน คุณเป็นผู้ใหญ่ที่รักอิสระ (แม้ว่าคุณจะยังไม่เป็นผู้ใหญ่ แต่การเป็นอิสระเป็นความคิดที่ดี!) ฉันหวังว่าคุณจะไม่ต้องจูงมือและอธิบายทุกขั้นตอนอีกต่อไป ฉันไม่ช่วยคุณในเรื่องนี้ แต่ฉันสามารถให้คำแนะนำดีๆ แก่คุณได้ซึ่งจะช่วยคุณเมื่อคุณพยายามสนับสนุนครั้งแรก และอาจรวมโค้ดของคุณไว้ในโปรเจ็กต์โอเพ่นซอร์ส

ค้นหาโครงการ

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

จะค้นหาโครงการ Open Source ได้ที่ไหน

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

ค้นหาปัญหาแรกที่ดี

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

การเริ่มต้นและการแนะนำ

การเริ่มต้นโครงการอาจดูเป็นเรื่องง่าย แต่ก็มีข้อผิดพลาดอยู่หลายประการ เมื่อคุณเลือกปัญหาที่ต้องการแก้ไขแล้ว คุณจะต้องปรับใช้โปรเจ็กต์บนเครื่องของคุณ เป็นไปได้มากว่าแหล่งที่มาของโครงการจะ "หนัก" (แม้ว่าจะขึ้นอยู่กับโครงการก็ตาม) คุณอาจต้องติดตั้งการขึ้นต่อกันจำนวนมากเพื่อให้โปรเจ็กต์ทำงานได้
โครงการโอเพ่นซอร์ส: คืออะไร และทำไมคุณควรเป็นส่วนหนึ่งของชุมชนโอเพ่นซอร์ส - 4
ในโครงการที่ฉันมีส่วนร่วมมีช่วงเวลาดังกล่าวอยู่บ้าง แต่ก็ไม่ได้หมายความว่ามันจะง่าย ตัวอย่างเช่น เราต้องติดตั้ง Ruby เวอร์ชันเฉพาะและ Rails, PostgreSQL, Phantom JS และ Gemfile เวอร์ชันเฉพาะพร้อมรายการ Gems สำหรับการติดตั้ง สิ่งนี้ดูเหมือนจะไม่มีข้อกำหนดมากนัก แต่ฉันมีปัญหาใหญ่ในการค้นหา Ruby เวอร์ชันเฉพาะที่จำเป็นในการพัฒนาโปรเจ็กต์ที่จะทำงานบนคอมพิวเตอร์ของฉัน สุดท้าย ฉันใช้ RVM เพื่อสลับเวอร์ชัน นี่เป็นอีกสิ่งหนึ่งที่ฉันได้เรียนรู้ เพียงเพื่อติดตั้งโปรเจ็กต์และทำให้มันทำงานบนคอมพิวเตอร์ เมื่อฉันเปิดตัวโปรเจ็กต์ ฉันเห็นว่ามันถูกเขียนด้วย Angular และ Coffee Script โดยใช้ Active Record เพื่อโต้ตอบกับข้อมูลที่มาจากแบ็คเอนด์ สิ่งเหล่านี้เป็นสิ่งใหม่สำหรับเรา และเราต้องคิดออกด้วยตัวเองก่อนที่จะเริ่มทำงานในโครงการนี้

ค้นหางานอื่น ๆ

คุณอาจไม่ต้องการสิ่งนี้ในตอนนี้หรือจำเป็นต้องใช้ในอนาคตอันใกล้นี้ แต่ฉันเจอมันเกือบจะในทันที โชคดีที่สังเกตเห็นได้ทันทีว่ามีบางอย่างทำงานไม่ถูกต้องในโปรเจ็กต์ หากคุณพบข้อบกพร่องดังกล่าว ให้ไปที่ไซต์งานและดูว่ามีอยู่หรือไม่ อย่ารีบเขียนถึงฝ่ายสนับสนุน บางทีทุกอย่างอาจจะได้ผล โดยปกติแล้วภัณฑารักษ์จะควบคุมสถานการณ์และไม่ควรมีข้อผิดพลาดร้ายแรง แต่ถ้าคุณพบสิ่งที่ต้องให้ความสนใจ ให้ค้นหาและตรวจสอบงานที่มีอยู่แล้ว เป็นไปได้มากว่างานที่เป็นปัญหาได้ถูกเขียนลงไปแล้วและส่วนใหญ่คุณไม่จำเป็นต้องทำอะไรเลย แม้ว่ามันอาจจะคุ้มค่าที่จะแก้ปัญหาด้วยตัวเองเมื่อคุณทำสิ่งที่คุณกำลังทำเสร็จแล้วก็ตาม
โครงการโอเพ่นซอร์ส: คืออะไร และทำไมคุณควรเป็นส่วนหนึ่งของชุมชนโอเพ่นซอร์ส - 5
เมื่อคุณออกแบบและเขียนงานใหม่ อย่าลืมอธิบายรายละเอียดให้มากที่สุดเท่าที่จะเป็นไปได้ ใช้ภาพหน้าจอเพื่ออธิบายสิ่งที่คุณพยายามจะพูดให้ชัดเจน และทำให้ใครก็ตามที่กำลังดูไซต์เข้าใจปัญหาที่คุณกำลังอธิบายได้ง่ายที่สุดเท่าที่จะเป็นไปได้ ในกรณีของฉัน ฉันลงเอยด้วยการเพิ่มงานเพิ่มเติมอีกสองงานนอกเหนือจากงานที่ฉันได้รับมอบหมาย ฉันไม่สามารถส่งคำขอดึงข้อมูลได้ (เนื่องจากข้อจำกัดด้านความปลอดภัย) รู้สึกเหมือนได้ถอยหลังไปสองก้าวสำหรับโปรเจ็กต์นี้ แต่ในความเป็นจริงแล้ว การอธิบายและการจัดระเบียบงานยังคงเป็นการขับเคลื่อนโปรเจ็กต์ไปข้างหน้า การสร้างคำขอดึง (PR)
คำขอดึง - ข้อเสนอเพื่อเปลี่ยนรหัสในพื้นที่เก็บข้อมูล (พื้นที่เก็บข้อมูลรหัสโครงการ) หากคุณกำลังทำงานในโครงการเปิด คุณควรสร้างสาขาของคุณเองเสมอ และขอแนะนำให้ทำการเปลี่ยนแปลงรหัสหลัก (หลัก) หลังจากที่คำขอดึงได้รับการอนุมัติจากผู้ดูแลโครงการแล้วเท่านั้น
คุณได้แก้ไขปัญหาที่ได้รับมอบหมายให้คุณแล้ว ก่อนที่จะเขียนรายงานความคืบหน้า ให้แสดงวิธีแก้ปัญหาแก่ผู้ที่สามารถประเมินได้ก่อน การดูตัวอย่างเป็นแนวคิดที่ดีเสมอไป แต่สำหรับการร่วมสนับสนุนโครงการโอเพ่นซอร์สครั้งแรก ถือเป็นสิ่งที่จำเป็น คุณคงไม่อยากหน้าแดงเพราะโค้ดที่ยังสร้างไม่เสร็จหรือทำงานไม่ถูกต้องใช่หรือไม่? ด้วยเหตุผลเดียวกัน ผู้ดูแลโครงการจะขอให้คุณผ่านการทดสอบที่จำเป็นทั้งหมดก่อนที่จะส่งคำขอดึง ดังนั้นควรตรวจสอบตัวเองล่วงหน้าเพื่อให้มั่นใจในงานของคุณและแก้ไขหากจำเป็นก่อนที่จะได้รับการยืนยันจากภัณฑารักษ์ ตรวจสอบให้แน่ใจว่าคุณยึดตามชื่อหรือสไตล์ที่ผู้ดูแลโครงการยอมรับ คุณสามารถค้นหาข้อมูลได้ใน ไฟล์ CONTRIBUTING.mdซึ่งโปรเจ็กต์ส่วนใหญ่มี นอกจากนี้คุณยังสามารถชี้แจงในรูปแบบใดที่คุณควรสร้างข้อความยืนยัน คำอธิบายการดึงคำขอของคุณควรมีลักษณะอย่างไร และวิธีการสร้างงานใหม่

ออกจากงาน

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

บทสรุป

ฉันเชื่อว่าการมีส่วนร่วมในการพัฒนาโครงการโอเพ่นซอร์สจะเป็นประโยชน์อย่างมาก คุณกำลังฝึกฝนและในขณะเดียวกันก็ทำสิ่งที่เป็นประโยชน์สำหรับผู้อื่น ในทางกลับกัน โครงการนี้อาจกลายเป็นอีกจุดหนึ่งในเรซูเม่ของคุณและให้ข้อได้เปรียบเพิ่มเติมเมื่อต่อสู้เพื่อตำแหน่งที่ต้องการ เมื่อวันศุกร์ที่แล้ว ฉันได้พูดคุยกับโปรแกรมเมอร์คนหนึ่งที่ได้งานของเขา (งานที่ยอดเยี่ยมและน่าสนใจ งานที่สามารถเปลี่ยนโลกให้ดีขึ้นได้ และฉันไม่ได้ล้อเล่นจริงๆ) ต้องขอบคุณงานของเขาในโครงการโอเพ่นซอร์ส
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION