การมีส่วนร่วมโอเพ่นซอร์ส 101
ย้อนหลัง⏮
ในฐานะผู้ให้คำปรึกษาที่ ADPListฉันมักถูกถามเกี่ยวกับการมีส่วนร่วมแบบโอเพ่นซอร์สในฐานะผู้ส่ง Apache และวิธีการเริ่มต้นใช้งาน Github
การได้รับการแต่งตั้งให้เป็น Apache Committer ( apache/mxnet#19512 ) เป็นหนึ่งในความสำเร็จที่ยิ่งใหญ่ที่สุดของฉันในโลกของการเข้ารหัสและเทคโนโลยี ฉันต้องการแบ่งปันการเรียนรู้จากการใช้เวลากับชุมชนโอเพ่นซอร์ส สิ่งนี้กระตุ้นให้ฉันให้คำปรึกษากับผู้เชี่ยวชาญด้านซอฟต์แวร์ในช่วงต้นอาชีพและวิทยาการคอมพิวเตอร์/engg นักศึกษามหาวิทยาลัย บทความนี้พยายามตอบคำถาม —
วันนี้ฉันจะทำอะไรในเดือนพฤศจิกายน 2022 หากฉันจะเริ่มการเดินทางในโอเพ่นซอร์ส
♀ โอเพ่นซอร์สหมายถึงอะไร?
Githubคือต้นแบบของจักรวาลโอเพ่นซอร์ส โดยทำให้แนวคิดของที่เก็บ การดึงคำขอ และการควบคุมเวอร์ชันเป็นที่นิยม โอเพ่นซอร์สนั้นโดยพื้นฐานแล้วเกี่ยวกับการทำให้การเข้าถึงซอร์สโค้ดลดลง มันเกี่ยวกับการทลายกำแพงที่วางไว้ด้วยข้อตกลงไม่เปิดเผยข้อมูล [NDAs] และลิขสิทธิ์และเครื่องหมายการค้าที่เข้มงวด ™ ️ นี่ไม่ได้หมายความว่ารหัสโอเพ่นซอร์สไม่มีใบอนุญาตหรือลิขสิทธิ์ มันเกี่ยวกับการให้อิสระในการแบ่งปันความรู้และข้อมูลสู่สาธารณะด้วยความปลอดภัยในการอ้างอิงและการอ้างอิงที่เหมาะสม โอเพ่นซอร์สเป็นตัวปรับระดับที่ยอดเยี่ยมในแง่นั้น ผู้คนจากทั่วโลกสามารถอ่าน แสดงความคิดเห็น เขียน และแสดงออกได้อย่างอิสระเกี่ยวกับซอฟต์แวร์ที่กำลังพัฒนาในโลกโอเพ่นซอร์ส เสรีภาพในการแสดงออกซึ่งเป็นสิทธิมนุษยชนขั้นพื้นฐาน เมื่อนำไปใช้กับโลกของซอฟต์แวร์และเทคโนโลยี จะแสดงออกมาในรูปของ "โอเพ่นซอร์ส"
♂️การสนับสนุนโอเพ่นซอร์สเกี่ยวข้องกับอะไร?
เอาล่ะ ตอนนี้เราอยู่ในหน้าเดียวกันกับคำว่า "โอเพ่นซอร์ส" ที่เกี่ยวข้อง กิจกรรมใดบ้างที่เกี่ยวข้องกับการสนับสนุนระบบปฏิบัติการ
ในความเห็นของฉัน ชุดของการดำเนินการต่อไปนี้อยู่ภายใต้การสนับสนุนของ OS
- สร้างปัญหา จุดบกพร่อง และถามคำถาม
- เพิ่มคำขอฟีเจอร์ [ผ่านปัญหา จิราหรือซอฟต์แวร์ติดตามโครงการ]
- คิดและทำข้อเสนอ
- แสดงความคิดเห็นและมีส่วนร่วมในการอภิปราย
- ตอบคำถาม
- แก้ไขข้อบกพร่อง
- ตรวจสอบโค้ดที่พัฒนาโดยสมาชิกคนอื่นๆ ในชุมชน
- เพิ่มการทดสอบ ปรับปรุงโครงสร้างพื้นฐานการทดสอบ/CI/CD
- เขียนโค้ดคุณลักษณะใหม่
- เข้าร่วมกิจกรรมเสมือนจริง/ตัวต่อตัว
- ประชาสัมพันธ์ห้องสมุด/สินค้า/บริการ
- สื่อสารอย่างแข็งขันในการสนทนา/ช่องแชท/รายการผู้พัฒนา
- โหวตและมีส่วนร่วมในขั้นตอนการเผยแพร่ [ของห้องสมุด/ผลิตภัณฑ์/เฟรมเวิร์ก/บริการ]
ฉันควรเริ่มต้นอย่างไร?
ฉันจะติดตาม 1 ใน 2 เส้นทางต่อไปนี้
- โครงการที่มีชื่อเสียงโดยองค์กรโอเพ่นซอร์สที่มีชื่อเสียง
- โครงการที่ฉันได้รับบริบทมากที่สุด
ค้นหาโครงการที่คุ้นเคยซึ่งสนับสนุนโดยองค์กรโอเพ่นซอร์สที่ มีชื่อเสียง
![](https://post.nghiatu.com/assets/images/m/max/724/1*cevSmi5MVJDU1605_-BC3g.png)
- Apache Software Foundations — hadoop, hive, hbase, mxnet, cassandra
- The Document Foundation — ชุดโปรแกรม LibreOffice [Open office]
- GNOME Foundation — สภาพแวดล้อมเดสก์ท็อป GNOME ที่มีชื่อเสียง
- Linux Foundation — มีชื่อเสียงในด้านระบบปฏิบัติการที่ใช้ UNIX
- Mozilla Foundation — มีชื่อเสียงในด้านเบราว์เซอร์
วิธีง่ายๆ ในการสร้างผลกระทบที่มีความหมายต่อชุมชนนักพัฒนาคือเมื่อคุณมีโมเดลในใจของผลิตภัณฑ์/เฟรมเวิร์ก/บริการพื้นฐานอยู่แล้ว ฉันจะใช้พลังของฉันในการสนับสนุนโอเพ่นซอร์สดังกล่าวข้างต้นโดยใช้ประโยชน์จากความรู้และบริบทที่ฉันสร้างมาจนถึงตอนนี้ในฐานะนักพัฒนา
นี่อาจหมายถึงโครงการที่แตกต่างกันสำหรับนักพัฒนาที่แตกต่างกัน โดยขึ้นอยู่กับชุดซอฟต์แวร์ที่พวกเขาคุ้นเคยมากที่สุด
ฉันจะแสดงรายการโครงการโอเพ่นซอร์สทั่วไปตามภาษา:
![](https://post.nghiatu.com/assets/images/m/max/724/1*u8i3AnWjw4uu4aglqgQRsw.png)
โครงการ Javascript 10 อันดับแรกโดยTechnical Geek
- ตอบสนองโดย Facebook / Meta
- Tensorflow.jsโดย TF [ต้นฉบับโดย Google]
- โหนด js
- Angular.js
- jQuery
- ตัวจัดการแพ็กเกจโหนด [npm]
- Vue.js
- Ember.js
- ดาวตก.js
- พอลิเมอร์
- Tensorflow — การเรียนรู้เชิงลึก
- matplotlib — การแสดงข้อมูล
- Flask — ผู้พัฒนาเว็บ
- Djangoโดยมูลนิธิซอฟต์แวร์ Django
- PyTorch — สร้างสรรค์โดย Facebook/Meta
- MXNetโดย Apache Software Foundation
- Ansible — การปรับใช้ Ops & เครื่องมือประสาน
- คำขอ — ไลบรารี HTTP โดย Python Software Foundation
- Scikit-learn — ML ในไพ ธอน
- Pandas — วิทยาศาสตร์ข้อมูล/การวิเคราะห์ข้อมูล
- OpenJDK
- RXJava
- Apache Pinot — ที่เก็บข้อมูล OLAP
- Hazelcast — แพลตฟอร์มการคำนวณและการจัดเก็บแบบกระจาย
- รูปแบบ Google Java — สไตล์ Google Java
- jOOQ — SQL สำหรับ Java
- สปริงบูต
- Glide — การแคชและการสร้างรูปภาพสำหรับ Android
- Guava — ไลบรารี Java หลักของ Google
- mockito — จำลองกรอบการทดสอบ
- ค้นหาใน Google ด้วยคีย์เวิร์ด “โครงการโอเพ่นซอร์ส 10 อันดับแรก” และ “ภาษา”
- ค้นหาบน Github —https://github.com/search?q=java+language%3AJava&type=repositories&l=Java