การเกี่ยวข้องกับโครงการโอเพ่นซอร์ส [ปิด]


19

ฉันกำลังจะเข้าสู่ปีสุดท้ายของฉันในสาขาวิศวกรรมคอมพิวเตอร์และได้ฝึกงานในฤดูร้อนและฤดูใบไม้ร่วงนี้ เนื่องจากฉันจะไม่ทำการบ้านฉันชอบที่จะใช้โอกาสนี้ในการมีส่วนร่วมกับโครงการโอเพนซอร์ซบางประเภท ฉันมีความเชี่ยวชาญใน C, C ++, Java และ Python ฉันยังคุ้นเคยกับ Linux ด้วยการใช้มันบนแล็ปท็อปของฉันในขณะนี้และทุกชั้นเรียนของฉันในภาคการศึกษานี้มุ่งเน้นไปที่มัน

ฉันกำลังพิจารณาที่จะดูที่ Android หรือ Ubuntu แต่ในอดีตฉันรู้สึกสับสนเล็กน้อย ไม่มีใครมีคำแนะนำใด ๆ ? สนใจในสิ่งที่จะเป็นโครงการที่ดีที่จะทำงานในที่ที่จะเริ่มต้นและถ้าฉันจะสามารถมีส่วนร่วมมากจริงๆ

และท้ายที่สุดการยอมรับของผู้คนเปลี่ยนแปลงบ่อยเพียงใด? ฉันจะเขียนรหัสได้บ่อยแค่ไหนที่จะถูกปฏิเสธ?

tl: dr กำลังมองหาประสบการณ์การเขียนโปรแกรมเพิ่มเติมโดยมีส่วนร่วมในโครงการโอเพ่นซอร์ส ใหม่ไปยังที่เกิดเหตุต้องการคำแนะนำ


ฉันว่าการลงจอดที่นี่คุ้มค่าอย่างแน่นอน!
squillman

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

1
อาจพิจารณาการเรียนรู้ภาษาการเขียนโปรแกรมใหม่ที่มีความชัดเจนมากกว่าภาษาที่คุณพูดถึง เช่นเดียวกับ Haskell หรือสกาล่า จากนั้นทำงานในโครงการโอเพ่นซอร์ส
mrsteve

คำตอบ:


15

+1 ถึง Steve Haigh เพื่อกล่าวถึงแสงจันทร์

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

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

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


1
นโยบายของพวกเขาเกี่ยวกับแสงจันทร์เป็นสิ่งที่ฉันไม่ได้พิจารณา OpenHatch.org ก็ดูดีเช่นกัน ลงทะเบียนตอนนี้เพื่อตรวจสอบ
Tarmon

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

ฉันไม่อยากจะเชื่อว่าคำถามนี้ถูกปิดโดยเฉพาะอย่างยิ่งเนื่องจากมี "คำตอบ" ที่ยอดเยี่ยมมากมายตามความคิดเห็นหรือไม่!
Dave Kanter

7

ในฐานะผู้จัดการโครงการโอเพ่นซอร์ส (FireBreath) ฉันขอแนะนำให้คุณหาโครงการที่คุณใช้หรือสนใจสิ่งนั้นและมองหาวิธีที่คุณสามารถช่วยได้ มีหลายสิ่งที่คุณสามารถทำได้โดยไม่ต้องเขียนโค้ดเลยแม้แต่น้อย ในโครงการของเราเราต้องการคนที่จะช่วย:

  • ทดสอบและรายงานข้อบกพร่อง
  • อัพเดทเอกสารบนเว็บไซต์
  • ช่วยเขียนเครื่องมือรอง
  • ออกไปเที่ยวในห้อง IRC และช่วยเหลือผู้ใช้ใหม่
  • สร้างปลั๊กอินตัวอย่างโดยใช้ FireBreath เพื่อให้ผู้ใช้ใหม่ดู

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

โชคดี!


ฉันไม่ได้คิดอะไรแบบนั้น ขอบคุณสำหรับคำแนะนำ ฉันจะลองค้นหาโครงการใหม่ที่ต้องการสิ่งเหล่านั้น
Andrew

+1 สำหรับเอกสาร ในฐานะผู้ประสานงานสำหรับ SharePoint SUSHI หนึ่งในสิ่งที่น่าเบื่อที่สุดและยากที่สุดในการเขียนคือเอกสาร แต่มันก็เป็นสิ่งที่สำคัญที่สุดสำหรับผู้ใช้ใหม่ การช่วยเหลือที่นั่นจะช่วยให้คุณคุ้นเคยกับคุณสมบัติต่างๆของโครงการและวิธีการทำงาน
Ryan Hayes

3

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


2

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


2

สำหรับการเข้าสู่โปรเจกต์โอเพ่นซอร์สให้มองหา OpenHatchนั่นคือภารกิจทั้งหมดของพวกเขา:

โครงการโอเพ่นซอร์สที่มีเป้าหมายในการลดอุปสรรคในการเข้าสู่การมีส่วนร่วมโอเพนซอร์สและเพิ่มความหลากหลาย เราบรรลุเป้าหมายเหล่านี้ผ่านทางโครงการจำนวนมาก ...


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

1

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

ในอีกด้านหนึ่งมีหลายโครงการที่กำลังจะตายเพราะไม่มีใครที่จะพัฒนา อาจเป็นเรื่องยากที่จะค้นหาคนที่สามารถช่วยคุณหรือจัดทำเอกสารในประเภทเหล่านี้

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.