บทความวิกิฮาวนี้จะแนะนำวิธีการเริ่มต้นพัฒนาและบำรุงรักษาซอฟต์แวร์โอเพ่นซอร์สฟรีในชุมชนการเขียนโปรแกรม ในขณะที่ผู้ที่ทำเช่นนี้บางครั้งเรียกว่า "แฮ็กเกอร์ซอฟต์แวร์" ตำแหน่งนั้นมุ่งเน้นไปที่การสร้างและปรับแต่งซอฟต์แวร์มากกว่าการเจาะเข้าไป หากคุณสนใจที่จะเป็นแฮ็กเกอร์ประเภทหนึ่งที่ค้นหาและใช้ประโยชน์จากช่องโหว่ในซอฟต์แวร์หรือระบบปฏิบัติการ โปรดดูบทความเกี่ยวกับการเป็นแฮ็กเกอร์ของเราแทน
ขั้นตอน
ขั้นตอนที่ 1 ทำความเข้าใจว่าการพัฒนาซอฟต์แวร์ต้องการอะไร
การเป็นแฮ็กเกอร์ซอฟต์แวร์หมายความว่าคุณจะต้องใช้เวลาเป็นจำนวนมากในการสร้าง ปรับแต่ง และอัปเดตซอฟต์แวร์ฟรีเพื่อให้ผู้ใช้พึงพอใจและทำให้ซอฟต์แวร์ของคุณมีความเกี่ยวข้อง ด้วยเหตุนี้ คุณจะต้องมีคุณสมบัติตามเกณฑ์ต่อไปนี้:
- เข้าใจทั้งภาษาของระบบ (เช่น C++) และภาษาโปรแกรม (เช่น Python) เป็นอย่างดี
- รู้ว่าคุณต้องการตั้งโปรแกรมสำหรับแพลตฟอร์มใด (เช่น Windows, Android เป็นต้น)
- เต็มใจที่จะใช้เวลาเป็นจำนวนมากในการเรียนรู้เกี่ยวกับภาษา แพลตฟอร์ม และประเภทซอฟต์แวร์ที่คุณเลือก
ขั้นตอนที่ 2 รู้ว่าทุกคนสามารถเป็นแฮ็กเกอร์ซอฟต์แวร์ฟรีได้
ตรงกันข้ามกับความเชื่อที่นิยม การมีความเข้าใจเป็นพิเศษในวิชาคณิตศาสตร์ ความรู้ด้านการเขียนโปรแกรมก่อนหน้านี้ และ/หรือปริญญาด้านวิทยาการคอมพิวเตอร์ (หรือที่คล้ายกัน) ไม่จำเป็นสำหรับคุณในการเรียนรู้วิธีการเป็นแฮ็กเกอร์ซอฟต์แวร์ฟรี
ตราบใดที่คุณสนใจที่จะเรียนรู้วิธีพัฒนาซอฟต์แวร์โดยชอบด้วยกฎหมาย และคุณยินดีที่จะยอมรับคำวิจารณ์ตามความเหมาะสม ไม่มีเหตุผลใดที่จะคิดว่าคุณไม่สามารถเป็นแฮ็กเกอร์ซอฟต์แวร์ได้สำเร็จ
ขั้นตอนที่ 3 หาเป้าหมายสุดท้ายของคุณ
การพัฒนาซอฟต์แวร์สามารถใช้ได้กับทุกอย่างตั้งแต่งานอดิเรกง่ายๆ ไปจนถึงอาชีพเต็มเวลา การรู้ว่าคุณต้องการทำอะไรให้สำเร็จก่อนที่คุณจะเริ่มเรียนรู้ภาษาการเขียนโปรแกรมหรือเลือกแพลตฟอร์มจะช่วยให้คุณมีสมาธิจดจ่ออยู่กับที่
- แม้ว่าจะไม่จำเป็นอย่างยิ่ง แต่ปริญญาด้านวิทยาการคอมพิวเตอร์หรือการพัฒนาซอฟต์แวร์จะช่วยเร่งการจ้างงานของคุณ หากอาชีพในการพัฒนาซอฟต์แวร์เป็นเป้าหมายสุดท้ายของคุณ
- หากเป้าหมายของคุณเป็นเพียงการสร้างแอพหรือโปรแกรมที่ช่วยให้ผู้ใช้ทำงานที่ยากหรือเป็นไปไม่ได้ก่อนหน้านี้ให้สำเร็จ ตรวจสอบให้แน่ใจว่าซอฟต์แวร์ที่เป็นปัญหานั้นยังไม่ได้รับการพัฒนา
ขั้นตอนที่ 4 กำหนดแพลตฟอร์มที่คุณต้องการทำงาน
แต่ละแพลตฟอร์มหลัก - Windows, macOS, iOS, Android และ Linux- มีชุมชนของตนเอง ภาษาโปรแกรมที่ต้องการ และความต้องการส่วนบุคคล การรู้ว่าซอฟต์แวร์ของคุณจะใช้แพลตฟอร์มใดก่อนที่คุณจะดำดิ่งสู่การพัฒนาซอฟต์แวร์เป็นสิ่งสำคัญ
- ทางที่ดีควรทำงานบนแพลตฟอร์มเดียวกันกับที่คุณกำลังพัฒนา ตัวอย่างเช่น หากคุณกำลังพัฒนาแอป Android การใช้ระบบที่ใช้ Unix เช่น Mac หรือคอมพิวเตอร์ Linux จะดีกว่าการใช้ Windows
- Linux เป็นโซลูชันที่ใช้กันทั่วไป (และฟรี) สำหรับนักพัฒนาซอฟต์แวร์จำนวนมาก
ขั้นตอนที่ 5. เลือกภาษาการเข้ารหัส
ภาษาเขียนโค้ดมีสองประเภท คุณจะต้องเรียนรู้อย่างน้อยหนึ่งอย่างก่อนที่จะเริ่มพัฒนา แม้ว่าสุดท้ายแล้วคุณจะต้องรู้หลายภาษา:
- ภาษาของระบบ - ภาษาคอมพิวเตอร์ที่ใช้ติดต่อกับระบบโดยตรง ตัวอย่างทั่วไป ได้แก่ C, C++ และ Java
- ภาษาการเขียนโปรแกรม - ภาษาที่ใช้ออกแบบอินเทอร์เฟซของซอฟต์แวร์ของคุณ (เช่น สิ่งที่ผู้ใช้จะดู) รวมถึงฟังก์ชันของซอฟต์แวร์ ตัวอย่างทั่วไป ได้แก่ Python, Ruby และ Perl
ขั้นตอนที่ 6 ทำความคุ้นเคยกับบรรทัดคำสั่ง
คอมพิวเตอร์ทุกเครื่องมีแอปพลิเคชันบรรทัดคำสั่ง (เช่น Command Prompt สำหรับ Windows, Terminal สำหรับ Mac และ Linux เป็นต้น) คุณสามารถใช้บรรทัดคำสั่งเพื่อสื่อสารกับคอมพิวเตอร์ได้เอง ทำให้คุณสามารถออกคำสั่งโดยละเอียดได้ตามความจำเป็น
แม้ว่าคุณจะไม่ได้ดำเนินการพัฒนาซอฟต์แวร์จำนวนมากจากบรรทัดคำสั่งเอง แต่คุณจะต้องใช้บรรทัดคำสั่งเพื่อเรียกใช้โปรแกรมบางโปรแกรมหรือรวมคำสั่งซอฟต์แวร์เข้ากับคอมพิวเตอร์ของคุณ
ขั้นตอนที่ 7 ดาวน์โหลดและใช้ Notepad++
Notepad++ เป็นทรัพยากรการเขียนโปรแกรมที่ทรงคุณค่า เนื่องจากทั้งสองทำให้การเข้ารหัสง่ายต่อการติดตามโดยใช้อุปกรณ์ช่วยการมองเห็นและทำหน้าที่เป็นเครื่องมือทางการศึกษา
แม้ว่าคุณจะใช้โปรแกรมแก้ไขข้อความแบบบรรทัดคำสั่งและโปรแกรมต่างๆ เพื่อเขียนโค้ดจำนวนมาก แต่ Notepad++ เป็นเครื่องมือการเรียนรู้ที่ยอดเยี่ยม (และฟรี) เมื่อคุณเริ่มใช้งานครั้งแรก
ขั้นตอนที่ 8 ติดตั้งสภาพแวดล้อมการพัฒนา
ภาษาโปรแกรมและแพลตฟอร์มที่คุณเลือกมักจะมีซอฟต์แวร์พัฒนาซึ่งช่วยให้คุณบันทึกและทดสอบโครงการของคุณจากคอมพิวเตอร์ของคุณ ซอฟต์แวร์ดังกล่าวเรียกว่า "สภาพแวดล้อมการพัฒนา" หากเป็นไปได้ ให้ค้นหาและติดตั้งสภาพแวดล้อมการพัฒนาสำหรับภาษาที่คุณเลือกก่อนที่คุณจะเริ่มเรียนรู้การเขียนโปรแกรม
- ตัวอย่างเช่น หากคุณกำลังพัฒนาแอป Android คุณจะต้องดาวน์โหลดและติดตั้งชุดพัฒนา Android Studio
- ผู้ใช้ Java มักจะใช้สภาพแวดล้อมการพัฒนาเช่น Eclipse
ขั้นตอนที่ 9 เริ่มเรียนรู้วิธีการเขียนโปรแกรม
เมื่อคุณรู้แล้วว่าต้องการใช้ภาษาใด ก็ถึงเวลาเริ่มเรียนรู้วิธีการใช้งาน มีบทเรียนออนไลน์มากมายทั้งแบบฟรีและมีค่าใช้จ่าย ซึ่งคุณสามารถเข้าร่วมได้ และห้องสมุดส่วนใหญ่จะมีหนังสือเขียนโปรแกรมเฉพาะภาษา (เช่น C++ สำหรับ Dummies) ซึ่งจะช่วยให้คุณสามารถเรียนภาษาทั้งหมดได้ฟรี
แหล่งข้อมูลการเขียนโปรแกรมฟรีมีอยู่มากมายทางออนไลน์ ดังนั้นโปรดใช้สิ่งเหล่านี้ให้เป็นประโยชน์ก่อนลงทะเบียนเรียนคลาสแบบเสียเงินหรือ bootcamp
ขั้นตอนที่ 10 ค้นหาชุมชนที่ดำเนินการในหมวดหมู่ที่คุณต้องการ
โครงการโอเพ่นซอร์สเช่นที่พบใน SourceForge หรือ GitHub มักมีผู้ติดตามตัวยง หากคุณพบโครงการที่ใช้ภาษาการเขียนโปรแกรมเดียวกัน และ/หรือมีเป้าหมายคล้ายกับโครงการของคุณเอง คุณสามารถเข้าร่วมชุมชนเพื่อเพิ่มข้อเสนอแนะและสังเกตกระบวนการพัฒนาได้
เช่นเดียวกับทักษะอื่นๆ การมีส่วนร่วมในกระบวนการสร้าง (แม้ว่าคุณจะเป็นเพียงผู้สังเกตการณ์) เป็นวิธีที่ดีที่สุดในการได้รับประสบการณ์จริง
ขั้นตอนที่ 11 โต้ตอบกับชุมชน
คุณสามารถทำอะไรก็ได้ตั้งแต่โพสต์ในฟอรัมของชุมชนไปจนถึงเริ่มโครงการโอเพ่นซอร์สของคุณเอง แต่เป้าหมายหลักคือการเรียกใช้แนวคิดและอุปสรรคของคุณโดยชุมชนและรับฟังความคิดเห็นจากพวกเขา
หากคุณเริ่มโครงการโอเพ่นซอร์สของคุณเอง ให้เตรียมประนีประนอมกับชุมชนในแง่ของทิศทางของโครงการ
ขั้นตอนที่ 12 มองหาโครงการโอเพนซอร์ซที่จะมีส่วนร่วม
มักจะเป็นกรณีของการพัฒนาซอฟต์แวร์ แนวคิดหลักหรือโครงการสัตว์เลี้ยงของคุณอาจกำลังดำเนินการโดยชุมชนที่มีประสบการณ์มากกว่าที่คุณมีอยู่แล้ว ถ้าเป็นเช่นนั้น พิจารณาขอเข้าร่วมโครงการ สิ่งนี้จะช่วยให้คุณเข้าใจมากขึ้นว่าโปรเจ็กต์ซอฟต์แวร์ทำงานอย่างไร และช่วยให้คุณทำให้โปรเจ็กต์ของคุณเป็นจริงได้ แม้ว่าจะอยู่ในการตั้งค่าแบบกลุ่มก็ตาม
โครงการโอเพ่นซอร์สอาจไม่ใช่เป้าหมายสุดท้ายของคุณ แต่เป็นวิธีที่ยอดเยี่ยมในการดูมุมมองที่แตกต่างกันมากมายมารวมกันเพื่อสร้างผลิตภัณฑ์ที่มุ่งเน้นผู้ใช้
ขั้นตอนที่ 13 ยอมรับการวิจารณ์สาธารณะเกี่ยวกับงานของคุณ
ในขณะที่คุณพัฒนาซอฟต์แวร์และส่งงานของคุณ คุณจะถูกวิพากษ์วิจารณ์ การรับฟังความคิดเห็นจากชุมชนจะช่วยจัดโครงสร้างการพัฒนาในอนาคตของคุณ แต่ยังสอนทางลัดที่มีคุณค่าและวิธีแก้ไขปัญหาที่คล้ายคลึงกันสำหรับโครงการต่อๆ ไป
ข้อเสนอแนะทั้งหมดจะไม่สร้างสรรค์ หากคุณได้รับคำติชมที่หยาบคายหรือไร้เหตุผล อย่าลืมสุภาพหากคุณเลือกที่จะตอบกลับ
ขั้นตอนที่ 14. เข้าร่วมความท้าทายในการพัฒนาซอฟต์แวร์ โปรแกรม หรือการแข่งขัน
คุณมักจะพบความท้าทาย ค่ายฝึก การบรรยาย ชั้นเรียน และการแข่งขันแบบทันทีในฟอรัมชุมชนของคุณ ในสถานที่ต่างๆ เช่น Craigslist และในวิทยาเขต การลงทะเบียนสำหรับกิจกรรมหรือค่ายดังกล่าวจะทำให้คุณได้รับประสบการณ์แนะนำในขณะที่วางคุณไว้ในสภาพแวดล้อมที่มีเพื่อนร่วมงานที่มีความคิดเหมือนๆ กัน
ทางเลือกหนึ่งคือโปรแกรม Summer of Code ของ Google ซึ่งช่วยให้นักเรียนคุ้นเคยกับโครงการโอเพนซอร์สและการเขียนโปรแกรมชุมชน
ขั้นตอนที่ 15. พัฒนาทักษะของคุณต่อไป
การพัฒนาซอฟต์แวร์เป็นสาขาที่จะเติบโตต่อไปเมื่อเทคโนโลยีพัฒนาขึ้น ดังนั้นตรวจสอบให้แน่ใจว่าคุณเรียนรู้เกี่ยวกับโครงการใหม่ ภาษา ระบบปฏิบัติการ และข้อมูลที่เกี่ยวข้องอื่นๆ ในพื้นที่ที่คุณต้องการอย่างต่อเนื่อง
ความสำเร็จของแฮ็กเกอร์ซอฟต์แวร์ฟรีส่วนใหญ่นั้นขึ้นอยู่กับความอยากรู้ ตราบใดที่คุณยังคงถามคำถามและค้นหาคำตอบ เวลาของคุณกับการพัฒนาซอฟต์แวร์จะมีประสิทธิผลและยาวนาน
เคล็ดลับ
- เริ่มต้นด้วยการเรียนรู้ภาษา C (หรือ C++) และ Python จะทำให้คุณอยู่ในสถานะที่ค่อนข้างดี แม้ว่า Java จะเป็นจุดเริ่มต้นที่ได้รับความนิยมเช่นกัน
- ในที่สุด คุณจะได้เรียนรู้ภาษาคอมพิวเตอร์หลายภาษาในช่วงเวลาที่คุณเป็นแฮ็กเกอร์ซอฟต์แวร์ฟรี
- การเขียนโปรแกรมคอมพิวเตอร์อาจดูน่ากลัว แต่เป็นการพูดคุยกับคอมพิวเตอร์ในภาษาที่คอมพิวเตอร์เข้าใจ
คำเตือน
- ไม่ควรพยายามรื้อฟื้นโครงการที่ถูกทิ้งร้างซึ่งสูญเสียทีมเก่าไปแล้ว
- หลีกเลี่ยงการถามคำถามที่เกี่ยวข้องกับพื้นฐานของการเขียนโปรแกรมหรือเครื่องมือการเขียนโปรแกรมในหน้าอภิปรายของโปรแกรมโอเพนซอร์ส เวลาของโปรแกรมเมอร์ซอฟต์แวร์ฟรีนั้นมีค่า ให้หารือเกี่ยวกับพื้นฐานของการเขียนโปรแกรมในชุมชนสำหรับโปรแกรมเมอร์มือสมัครเล่นหรือมือใหม่
- การนั่งอยู่หน้าคอมพิวเตอร์มากกว่าสองสามชั่วโมงในแต่ละครั้งอาจส่งผลยาวนานต่อสุขภาพโดยรวมของคุณ อย่าลืมลุกขึ้นและยืดกล้ามเนื้อ ละสายตาจากหน้าจอ และเคลื่อนไหวไปรอบๆ อย่างน้อยทุกๆ สองสามชั่วโมง
- อดทน เช่นเดียวกับการเรียนรู้ทักษะใดๆ การเป็นแฮ็กเกอร์ซอฟต์แวร์ฟรีนั้นต้องใช้เวลาและความมุ่งมั่น