Нээлттэй эх(Open Source) нэртэй номын эх сурвалж Англи хэл дээр http://en.wikibooks.org/wiki/Open_Source холбоос дээр байгаа бөгөөд нээлттэй эхийн тухай мэдэхийг хүсэгчдэд зориулж GNU лицензийг баримтлан орчуулж бэлтгэлээ. Номын хэсгүүдэд эндүү ташуу орчуулга, үг үсгийн алдаа байвал бичиж тусалбал номыг сайжруулж засахаар хичээх болно.
Одоо байгаа нээлттэй эхийн төслүүдэд нэгдэх
Хүний санаанд хамгийн түрүүнд орж ирэх бодол нь өөрийн нээлттэй эхийн төсөл эхлүүлнэ гээд бараг хүн бүр бодож эхэлдэг ч, анхлан эхлэгч нарт энгийн зөвлөгөө болгоход ингэж бодох хэрэггүй байх. Төсөл үнэхээр сайн төлөвлөгөө таамаг дээр тулгуурласан, нэг биш хэд хэдэн амжилттай хөгжүүлэгч нарын хөдөлмөрийн хандиваар хэрэгжиж эхлэхийг шаарддаг. Эсрэг тохиолдолд хүмүүс зүгээр програм хангамжийг татаж аваад байхаас биш эргэх холбоогоор төсөл хэрэгжин хөгжихгүйд хүрдэг. Иймээс ихэвчлэн хэрэгжиж байгаа төсөлд нэгдэж эхэлснээр та өөрөө хангалттай туршлага хуримтлуулж өөрийн гэсэн төслийг эхлүүлж болно. Чөлөөт програм хангамжийг бичих болон хэрэглэх нь зөвхөн програмчлах гэсэн утга биш юм. Програмын хэл бол танд зөвхөн програм бичихэд хэрэг болно, харин хамтран ажиллах олон сайхан мэргэжилтэн, найз нөхөдтэй болохыг төсөлд нэгдсэнээр олох ба үлэмж ажлыг хамтдаа хийснээр та өөрийн гэсэн тодорхойлолттой байр суурьтай мэргэжилтэн болох болно. ( http://www106.pair.com/rhp/hacking.html ) дэлгэрэнгүй үз.
Үе шат
Эхний бэлтгэл
Програмчлагчийн хувьд та хувь нэмэр оруулах хангалттай чадвартай байх шаардлагатай. Ийм чадваргүй бол хамтран ажиллах нийгэмлэгийн хэн ч чамтай ярихгүй бөгөөд та ямар ч хэрэгцээгүй юм шиг байдалд орно. Өөр нэг бодох зүйл бол хувилбар хянах хэрэгслийг CVS(http://www.linux.ie/articles/tutorials/cvs.php), SVN(http://www.linux.ie/articles/subversion/index.php) дээд зэргээр эзэмшсэн байх шаардлагатай.
(“CVS = Concurrent Versions System”, Зэрэгцэх хувилбарын систем хэрэгсэл нь файлуудаас бүрдэх олонлогийн хэд хэдэн хувилбарыг хадгалж ашиглах бөгөөд үүгээр олон хөгжүүлэгч хамтран нэг төсөл дээр ажиллах боломж олгодог. “SVN=Subversion - a better CVS”, Мод дүрс бүхий салбарласан эх кодын багц дээр олон хөгжүүлэгчид хамтран ажиллах бөгөөд зэрэг өөрчлөлт орж байгаа файлуудыг харж хянаж ажиллахад хэрэглэнэ. Орч.)
Мөн програмд нөхөөс тавих болон нөхөлт яаж бэлтгэхийг ойлгосон байх шаардлагатай. FOSS-ийг хөгжүүлж байгаа ихэнх баг эсвэл нийгэмлэг нь янз бүрийн нөхөлтийг хийх тухай хэлэлцүүлэг өрнүүлж заавар зөвлөгөөг гаргасан байдаг тул түүнээс их зүйлийг суралцаж болно.
Нэгдэх анхны төслөө олох
Алдартай, маш амжилттай хэрэгжиж байгаа төсөл нь танд олон янзын мэдлэгийг өгөх бөгөөд дээр нь хувь нэмэр оруулагч нартаа нэлээд шаардлага тавьдаг. Тэд танаас өөрсдийн програмчлах загвараар програмчлахыг, CHANGELOG буюу төсөлд оруулж байгаа өөрчлөлтийн тэмдэглэлийг хөтлөхийг, нөхөөс бэлтгэх болон тавихыг, туршилтын үед өөрийн бичсэн кодыг хариуцах гэх мэт шаардлага тавина. Туршлагагүй танд яагаад ийм байх ёстой юм гэх мэтээр сүүлдээ та төсөл хэрэгжүүлж байгаа хамтлагийнхантай маргалдаж ч болно. Хэрэв та үнэхээр FOSS-д шинээр оролцох гэж байгаа бол эхлээд та бага шаардлагатай, богино хугацаанд хэрэгжүүлэхээр оролцож болно. Ихэнх жижиг, хялбар төслүүдийг SourceForge.net дээрээс олж нэгдэн орж болно. Тохирох төслөө олохдоо:
Зарим FOSS-ийн идэвхтэй ажиллаж байгаа төслийн вэб сайт дээр ажил байна (job openings) гэсэн зарыг шинэ хөгжүүлэгчийг татан оролцуулахаар зар нийтлэлийг идэвхтэй илгээдэг. Үүнийг сонирхон унших зүгээр ч та өөрийн дуртай оролцох төслөө хайх нь ч дээр байж магадгүй.
Анхны төсөлд оролцох алхам
Хоёрдугаар төсөлд холбогдох
Одоо байгаа нээлттэй эхийн төслүүдэд нэгдэх
Хүний санаанд хамгийн түрүүнд орж ирэх бодол нь өөрийн нээлттэй эхийн төсөл эхлүүлнэ гээд бараг хүн бүр бодож эхэлдэг ч, анхлан эхлэгч нарт энгийн зөвлөгөө болгоход ингэж бодох хэрэггүй байх. Төсөл үнэхээр сайн төлөвлөгөө таамаг дээр тулгуурласан, нэг биш хэд хэдэн амжилттай хөгжүүлэгч нарын хөдөлмөрийн хандиваар хэрэгжиж эхлэхийг шаарддаг. Эсрэг тохиолдолд хүмүүс зүгээр програм хангамжийг татаж аваад байхаас биш эргэх холбоогоор төсөл хэрэгжин хөгжихгүйд хүрдэг. Иймээс ихэвчлэн хэрэгжиж байгаа төсөлд нэгдэж эхэлснээр та өөрөө хангалттай туршлага хуримтлуулж өөрийн гэсэн төслийг эхлүүлж болно. Чөлөөт програм хангамжийг бичих болон хэрэглэх нь зөвхөн програмчлах гэсэн утга биш юм. Програмын хэл бол танд зөвхөн програм бичихэд хэрэг болно, харин хамтран ажиллах олон сайхан мэргэжилтэн, найз нөхөдтэй болохыг төсөлд нэгдсэнээр олох ба үлэмж ажлыг хамтдаа хийснээр та өөрийн гэсэн тодорхойлолттой байр суурьтай мэргэжилтэн болох болно. ( http://www106.pair.com/rhp/hacking.html ) дэлгэрэнгүй үз.
Үе шат
Эхний бэлтгэл
Програмчлагчийн хувьд та хувь нэмэр оруулах хангалттай чадвартай байх шаардлагатай. Ийм чадваргүй бол хамтран ажиллах нийгэмлэгийн хэн ч чамтай ярихгүй бөгөөд та ямар ч хэрэгцээгүй юм шиг байдалд орно. Өөр нэг бодох зүйл бол хувилбар хянах хэрэгслийг CVS(http://www.linux.ie/articles/tutorials/cvs.php), SVN(http://www.linux.ie/articles/subversion/index.php) дээд зэргээр эзэмшсэн байх шаардлагатай.
(“CVS = Concurrent Versions System”, Зэрэгцэх хувилбарын систем хэрэгсэл нь файлуудаас бүрдэх олонлогийн хэд хэдэн хувилбарыг хадгалж ашиглах бөгөөд үүгээр олон хөгжүүлэгч хамтран нэг төсөл дээр ажиллах боломж олгодог. “SVN=Subversion - a better CVS”, Мод дүрс бүхий салбарласан эх кодын багц дээр олон хөгжүүлэгчид хамтран ажиллах бөгөөд зэрэг өөрчлөлт орж байгаа файлуудыг харж хянаж ажиллахад хэрэглэнэ. Орч.)
Мөн програмд нөхөөс тавих болон нөхөлт яаж бэлтгэхийг ойлгосон байх шаардлагатай. FOSS-ийг хөгжүүлж байгаа ихэнх баг эсвэл нийгэмлэг нь янз бүрийн нөхөлтийг хийх тухай хэлэлцүүлэг өрнүүлж заавар зөвлөгөөг гаргасан байдаг тул түүнээс их зүйлийг суралцаж болно.
Нэгдэх анхны төслөө олох
Алдартай, маш амжилттай хэрэгжиж байгаа төсөл нь танд олон янзын мэдлэгийг өгөх бөгөөд дээр нь хувь нэмэр оруулагч нартаа нэлээд шаардлага тавьдаг. Тэд танаас өөрсдийн програмчлах загвараар програмчлахыг, CHANGELOG буюу төсөлд оруулж байгаа өөрчлөлтийн тэмдэглэлийг хөтлөхийг, нөхөөс бэлтгэх болон тавихыг, туршилтын үед өөрийн бичсэн кодыг хариуцах гэх мэт шаардлага тавина. Туршлагагүй танд яагаад ийм байх ёстой юм гэх мэтээр сүүлдээ та төсөл хэрэгжүүлж байгаа хамтлагийнхантай маргалдаж ч болно. Хэрэв та үнэхээр FOSS-д шинээр оролцох гэж байгаа бол эхлээд та бага шаардлагатай, богино хугацаанд хэрэгжүүлэхээр оролцож болно. Ихэнх жижиг, хялбар төслүүдийг SourceForge.net дээрээс олж нэгдэн орж болно. Тохирох төслөө олохдоо:
- Өөрийн сайн мэдэх програмын хэлээрээ ажиллах.
- Сүүлийн үед идэвхтэй хэрэгжиж байгаа төсөлд орох, жил идэвхжээгүй болон унтарсан эсвэл өөр зүйлээс хамаарсан төслийг битгий сонго.
- Хамгийн доод тал нь 3-5 хөгжүүлэгчтэй төсөлд оролцох.
- Хувилбар хянах хэрэгсэл хэрэглэ.
- Байгаа кодыг нэг их өөрчлөхгүйгээр та шууд нэмж чадах хэсгээр эхлэн ажиллах.
- Сайн төсөл кодоос гадна маш сайн хэлэлцүүлгийн жагсаалтай байдаг тул тэндээс алдааны тайлангууд, түүнийг ирүүлсэн болон хэрэгжүүлсэн хэлэлцүүлгүүд, гэх мэт идэвхтэй хэрэгжиж байгаа үйл ажиллагааг үз.
Зарим FOSS-ийн идэвхтэй ажиллаж байгаа төслийн вэб сайт дээр ажил байна (job openings) гэсэн зарыг шинэ хөгжүүлэгчийг татан оролцуулахаар зар нийтлэлийг идэвхтэй илгээдэг. Үүнийг сонирхон унших зүгээр ч та өөрийн дуртай оролцох төслөө хайх нь ч дээр байж магадгүй.
Анхны төсөлд оролцох алхам
- Сонгосон төслийнхөө системийн зохицуулагч буюу администратортай холбоо барь. Хэрэв цөөхөн хөгжүүлэгчтэй жижиг төсөл бол таны туслалцааг дор нь зөвшөөр ч хариу хурдан ирнэ.
- Төслийн журмыг хянамгай уншиж, аль зэрэг мөрдөж болохоо мэдэж авбал сайн. Програм бичих загвар эсвэл таны өөрчлөх баримт өөр өөр файлд байх зэрэг танд хачин санагдах зүйлс эхний үед тааралдаж болно. Магадгүй энэ хачин дүрэм олон хүн нэг зэрэг ажиллаж байгаатай ч холбоотой байж болох юм. Гэлээ ч ихэнх төсөл ийм дүрмээр явагдана.
- Эхлээд энэ төсөл дээрээ хэдэн сар ажилла. Администратор болон төслийн бусад гишүүдийн юу хэлэхийг анхааралтай сонс. Програмчлахаас гадна та тэндээс их зүйлийг суралцана. Хэрэв үнэхээр танд ямар нэг зүйл таалагдахгүй бол энэ төслөө орхиод, өөр төсөлд шинээр ор.
- Далдалсан төсөлд удаан хугацаагаар битгий ажилла. Хэрэв та энэ багийн ажилд амжилттай ажиллаж байгаагаа өөрөө олж мэдвэл, та өөр нухацтай бодит төсөлд ажиллахыг бодох цаг болсон байна.
Хоёрдугаар төсөлд холбогдох
- Дээд төвшинд хэрэгжих Чөлөөт болон нээлттэй эхийн төслийг хайж олоорой. Ихэнх энэ төрлийн төслийг GNU болон Апачи байгууллагууд эрхлэн явуулдаг.
- Та энэ төвшний төсөлд оролцоно гэж шийдсэн тул арай хүнд шаардлагыг хүлээн авч чадах болно. Эхлээд тэд таныг програмын код хадгалагч руу шууд хандалгүй програм бичиж ажиллахыг тодорхой хугацаагаар хүсэх болно. Төслийн урьдчилсан нуугдмал энэ ажиллагаа танд маш их зүйлийг зааж сургах ба хэдэн сарын дараа та үр дүнтэй хувь нэмэр оруулснаар та юуг хүсэх шаардах эрхтэйгээ ойлгоно.
- Хэрэгцээтэй ажлын олж аваад хий. Та тэр ажлыг хэрэгтэйг мэдээд хийж эхэлсэн ч таны бодсоноос хамаагүй төвөгтэй болох нь мэдэгдсэн ч энэ үед шантрах хэрэггүй.
- Хэрэв та хийж байгаа энэ ажлаа үнэхээр хийж дуусгахыг хүсэж байвал Google's “Summer of code” гэдэгт хүсэлт гаргаж бага хандив олж авах боломжтой. Таны тодорхойлж бичсэн хүсэлт хандивын төсөлд хамрагдахгүй ч таны эргэн тойронд чадалтай хакерууд ажиллаж байгаа тул ажлын байр олдох магадлалтай.
- Ойрын үед болох таны төсөлд тохирох (“Өнөөдөр линүкс” гэх мэт) бага хурлын зарыг ажиглаж байгаад, хуралд зөвхөн өөрийн програмчилж байгаа хэсгийг биш төслийнхөө талаар илтгэл хийхээр оролдоорой. (Хэрэв хуралдаанд Чөлөөт ба нээлттэй эхийн төслөөр илтгэл хийх тухайгаа мэдэгдсэний дараа хурлын төлбөр нэхэгдвэл энэ таны оролцох хурал биш болохыг ойлго.) Өөрийнхөө Линүкстэй зөөврийн компьютераа авчраад демо хийж үзүүлэхийг хичээ.
- Төсөлд зориулан хийсэн ажлаа автомат тестийн хамт бүрэн бүрэлдэхүүнээр нь бэлтгэж оруулаарай. Тодорхой төсөл хэрэгжиж дуусахад та гол ажлыг нугалагчдын нэг болж төлөвшин. Ингээд энэ төслөө үргэлжлүүлэн ажиллах эсвэл үүнээсээ өөр төсөл рүү шилжин ажиллаж өөр зүйлийг шинээр сурч мэднэ.
- Энэ байдлаар олон төсөлд ажиллаж ажиллах чадвар эзэмшсэн байхад бусад сонирхолтой төслүүд яагаад таныг урь ажиллуулахгүй байх билээ.
Comments