หัวข้อ
- #โอกาสในการเติบโต
- #การมีส่วนร่วมโอเพนซอร์ส
สร้าง: 2025-05-03
อัปเดต: 2025-05-27
สร้าง: 2025-05-03 00:00
อัปเดต: 2025-05-27 09:42
บทความนี้มีเป้าหมายเพื่อให้กำลังใจแก่ผู้ที่สนใจใน โอเพนซอร์สแต่มีความกลัว เช่น 'ฉันทำได้เหรอ?', 'ฉันควรจะเริ่มจากตรงไหน?'
วันนี้ ฉันอยากจะแบ่งปันประสบการณ์ที่ฉันได้เรียนรู้และรู้สึกจากการลองเปิดประตูสู่ โอเพนซอร์ส
เมื่อศึกษาการพัฒนา คุณมักจะได้ยินคำว่า 'โอเพนซอร์ส' บ่อยครั้ง เมื่อคุณดู GitHub คุณจะพบโครงการมากมายที่ขับเคลื่อนโลกเปิดโค้ดอย่างกว้างขวาง
โครงการที่เปิดเผยโค้ดต่อสาธารณะเช่นนี้เรียกว่า 'โอเพนซอร์ส
ตัวอย่างเช่น มีโอเพนซอร์สขนาดใหญ่ เช่น OpenJDK, Spring Framework, Redis และ React
ฉันมีส่วนร่วมในโอเพนซอร์สทั้งหมด 4 ครั้งจนถึงตอนนี้ ฉันมีส่วนร่วมในการค้นหา การปรับปรุงเล็กน้อยของโอเพนซอร์ส ไม่ใช่การเพิ่มฟังก์ชันที่พลิกโฉมโลก
ฉันไม่รู้สไตล์โค้ดของโครงการข้างต้นและไม่รู้รายละเอียดว่ามันทำงานอย่างไร
คุณสามารถเห็นได้ว่า คุณสามารถมีส่วนร่วมในชุมชนได้แม้ว่าจะไม่เข้าใจโค้ดอย่างสมบูรณ์แบบก็ตามฉันเพิ่งเริ่มพัฒนาได้แค่ 2 ปี และฉันไม่รู้สึกว่าฉันมีความสามารถในการพัฒนามากนัก
ฉันแค่มีความสุขที่ได้มีส่วนร่วมในโอเพนซอร์สและสื่อสารในชุมชนนักพัฒนา ฉันจึงยังคงทำกิจกรรมเหล่านี้ต่อไป
ตามตรง ในตอนแรกความคิดที่ว่า 'มันคงจะดีถ้าเพิ่มเข้าไปในประวัติย่อใช่ไหม?' ไม่ได้หายไปไหน มันค่อนข้างใหญ่เลยทีเดียว แต่แรงจูงใจที่ยิ่งใหญ่กว่านั้นก็มีอยู่ นั่นคือความปรารถนาที่จะ 'เรียนรู้ให้ลึกซึ้งยิ่งขึ้น' และความจำเป็นที่จะ 'แก้ไขปัญหาที่ฉันประสบ'
ฉันมีโอกาสได้ศึกษา Project Reactor ซึ่งเป็นเทคโนโลยีพื้นฐานขณะใช้ Spring WebFlux ในโครงการทีม ฉันเข้าใจแนวคิดผ่านหนังสือหรือเอกสาร แต่การทำงานจริงและ การปรับปรุงประสิทธิภาพในระบบที่ซับซ้อนเป็นสิ่งที่ฉันต้องดูโค้ดและเผชิญหน้าโดยตรง นอกจากนี้ ฉันมักจะกังวลเกี่ยวกับ 'ฉันจะพิสูจน์ได้อย่างไรว่าฉันเรียน Reactor อย่างขยันขันแข็ง?' และฉันก็คิดว่า 'ฉันต้องมีส่วนร่วมในโอเพนซอร์ส!
เมื่อตัดสินใจที่จะ 'มีส่วนร่วม!' ฉันไม่รู้ว่าจะเริ่มต้นจากตรงไหน การค้นหาส่วนที่ฉันจะแก้ไขในโค้ดจำนวนมหาศาล ไปจนถึงการคาดการณ์ว่าการเปลี่ยนแปลงของฉันจะส่งผลกระทบต่อระบบทั้งหมดอย่างไร ทุกอย่างน่ากลัว
ฉันใช้เวลามากในการลงทะเบียน PR เพราะฉันคิดว่า 'จะเกิดอะไรขึ้นถ้าฉันส่ง PR เหมือนกับฉัน แล้วถูกด่า'”
Reactive Command ของ Lettuce ซึ่งเป็นไคลเอนต์ Java Redis ที่ฉันใช้ในฐานะ Reactive Stack นั้นขึ้นอยู่กับ Reactor และฉันต้องการแก้ไขและปรับปรุงเชน Reactor โดยตรงโดยอิงจากการเรียนรู้ Reactor
ฉันก็แค่ fork หลังจากนั้นก็มองไปที่โค้ดทั้งหมดที่รวม 'Reactive' และ 'reactor' ฉันดูโค้ดทั้งหมดที่สร้างขึ้นด้วย Reactor Publisher เช่น Mono และ Flux
เมื่อฉันดูโค้ดอย่างละเอียดถี่ถ้วน ฉันโชคดีที่ได้พบโค้ดหนึ่งในโค้ดที่ใช้เชน Reactor ซึ่งมีความสามารถในการอ่านลดลงเล็กน้อย และการเชื่อมต่อเมธอดไม่ถูกต้อง มันไม่ใช่การปรับปรุงฟังก์ชันหรือการเปลี่ยนแปลงสถาปัตยกรรมที่อาจทำให้โลกต้องตะลึง แต่ มันเป็นปัญหาเล็กๆ น้อยๆ ที่ชัดเจนในขอบเขตที่ฉันเข้าใจและแก้ไขได้'โอ้ ถ้าเป็นแบบนี้ ฉันก็สามารถมีส่วนร่วมได้!' ฉันคิดว่า
ฉันปรับเปลี่ยนโค้ดอย่างระมัดระวังตามสิ่งที่ฉันเข้าใจ และตรวจสอบว่ามันทำงานตามที่ตั้งใจไว้ในสภาพแวดล้อมท้องถิ่นหรือไม่ แม้ว่ามันจะเป็นการเปลี่ยนแปลงเล็กน้อย แต่ฉันก็พยายามปฏิบัติตามสไตล์ของโค้ดที่มีอยู่ให้มากที่สุดเท่าที่จะทำได้ และฉันก็พยายามเข้าใกล้อย่างระมัดระวังโดยคำนึงถึงการพิจารณาหลายครั้งว่าอาจส่งผลกระทบต่อส่วนอื่นหรือไม่
ฉันคอมมิตการแก้ไขและในที่สุดก็ถึงเวลาที่จะอัปโหลด PR ตามจริง ฉันลังเลและลังเลใจมากแค่ไหนก่อนที่จะกดปุ่ม 'ส่ง' 'ฉันควรส่ง PR ด้วยการเปลี่ยนแปลงแค่นี้หรือไม่?', 'ฉันจะไม่ถูกบอกว่าฉันแก้ไขสิ่งที่เป็นเรื่องธรรมดาเกินไปหรือ?', 'ฉันจะสามารถเขียนคำอธิบายเป็นภาษาอังกฤษได้ดีหรือไม่?' ฉันกังวลเกี่ยวกับสิ่งเหล่านี้
ดังที่กล่าวไว้ก่อนหน้านี้ ฉันกลัวว่าฉันจะถูกด่าเพราะความไม่สมบูรณ์แบบของฉัน แต่ด้วยความคิดที่ว่า 'การเริ่มต้นคือครึ่งหนึ่ง' และ 'คุณไม่สามารถเรียนรู้อะไรได้หากคุณไม่ลอง' ฉันจึงรวบรวมความกล้าที่จะเขียนสิ่งที่ฉันเปลี่ยนแปลงและเหตุผลให้ละเอียดที่สุดเท่าที่จะเป็นไปได้และส่ง PR
redis/lettuce - #3061
ในที่สุด PR ของฉันก็ถูก 'Merged' และฉันรู้สึกภูมิใจและพอใจอย่างมากกับความจริงที่ว่าโค้ดที่ฉันเขียนและแก้ไขเป็นส่วนหนึ่งของโครงการโอเพนซอร์สที่มีชื่อเสียงซึ่งนักพัฒนานับไม่ถ้วนใช้
เหนือสิ่งอื่นใด การได้รับความมั่นใจว่า 'ฉันก็ทำได้!' เป็นสิ่งที่ฉันได้รับมากที่สุด
ไม่เป็นไรถ้าคุณไม่เข้าใจมันอย่างสมบูรณ์ คุณสามารถเริ่มต้นจากส่วนเล็กๆ น้อยๆ เหมือนฉันได้ คุณสามารถแก้ไขการพิมพ์ผิดในเอกสาร เข้าร่วมในการแปล รายงานข้อผิดพลาดง่ายๆ และมีวิธีมากมายที่คุณสามารถมีส่วนร่วมได้ สิ่งสำคัญคือ ความกล้าที่จะก้าวแรกเหนือความกลัว
หากคุณทำผิดพลาด มันเป็น โอกาสที่จะเติบโตมากขึ้นผ่านการรับข้อเสนอแนะจากชุมชน
มันเป็น โอกาสอันมีค่าในการเพิ่มบรรทัดลงในประวัติย่อของคุณและเป็นวิธีการพิสูจน์ว่าฉันได้ศึกษาอย่างหนักจริงจังโดยอิงจากการเรียนรู้
ไม่สามารถแสดงความคิดเห็นในโพสต์นี้ได้