Halo semuanya!
Tahun ini
Embox berpartisipasi sebagai
organisasi mentoring dalam program
GSoC . Pada artikel ini saya ingin membicarakan hal ini, menurut pendapat kami, pengalaman yang sangat menarik.
Saya akan mengatakan beberapa patah kata tentang program GSoC itu sendiri. Google Summer of Code adalah program global Google yang bertujuan untuk melibatkan siswa di dunia sumber terbuka. Hasilnya, siswa telah meningkatkan kualitas kode, literasi teknologi, dan keterampilan dalam proses pengembangan. Kualitas ini ditingkatkan karena fakta bahwa siswa terlibat dalam proyek industri langsung dengan proses pengembangan yang cukup berkembang. Ini harus menjadi motivasi utama untuk partisipasi siswa dalam program ini. Motivasi organisasi mentoring terutama pada pengembangan dan perluasan komunitas proyek.
Sedikit tentang aturan formal. Hanya komunitas yang mewakili proyek sumber terbuka yang diizinkan untuk program ini. Proyek yang memiliki repositori, tetapi hanya satu pengembang mungkin akan gagal, karena Anda perlu mencurahkan waktu untuk siswa. Organisasi yang ingin berpartisipasi dalam program harus mengisi kuesioner singkat, menyatakan setidaknya dua administrator dan mengisi halaman dengan ide-ide yang diajukan kepada siswa. Kuesioner mencakup deskripsi singkat, detail kontak, dan link ke halaman ide. Berikutnya adalah pemilihan organisasi. Ketika sebuah proyek diterima berdasarkan hasil seleksi, kartu proyek diterbitkan di halaman organisasi mentoring program, dan seleksi siswa dimulai.
Seleksi siswa merupakan tahap yang sangat sulit bagi mentor. Untuk pertama kalinya, Embox bertindak sebagai organisasi mentoring untuk program GSoC. Dan kami agak tidak siap menghadapi begitu banyak orang yang ingin ambil bagian dalam program ini. Secara formal, pemilihan siswa didasarkan pada esai (proposal), di mana pelamar berbicara tentang tugas yang ingin mereka selesaikan dengan berpartisipasi dalam proyek dan bagaimana mereka akan melakukannya. Tentu saja, esai berisi data yang biasanya digunakan dalam resume, atau dapat diminta, tetapi informasi ini sepertinya tidak cukup untuk memahami apakah siswa akan dapat mencapai hasil yang diinginkan atau tidak. Ini adalah kesulitan utama bagi mentor pada tahap program ini.
Dalam proyek yang berbeda, perkenalan dan seleksi berlangsung dengan cara yang berbeda. Saat membahas masalah yang terkait dengan pemilihan di milis untuk mentor GSoC, seseorang merekomendasikan wawancara di Skype, seseorang untuk menyelesaikan tugas tes, seseorang untuk melihat resume mendetail. Di Embox, kami memutuskan untuk melakukan hal berikut. Untuk mengikuti program ini perlu terlebih dahulu memperkenalkan diri dengan menulis surat pendek kepada salah satu pembimbing proyek. Kedua, selesaikan setidaknya satu tugas dari daftar di github. Dan ketiga, tulis esai resmi di situs program.
Poin pertama tidak menimbulkan kesulitan tertentu. Ya, ada beberapa siswa yang mengirimkan esai tanpa memperkenalkan diri, tetapi kami sama sekali tidak mempertimbangkannya. Saya akan menjelaskan sedikit poin kedua. Embox, seperti semua proyek yang cukup berkembang, memiliki proses pengembangannya sendiri, dan biasanya siswa mungkin kurang berlatih berpartisipasi dalam proyek industri dan terdistribusi. Apalagi Embox adalah sistem operasi. Ini biasanya merupakan bidang baru dalam hal praktik bagi siswa. Dan sebelum Anda mulai meningkatkan proyek setidaknya sesuatu, Anda perlu mempelajari cara membuat, menjalankan, men-debug, dan membuat perubahan pada kode, memahami proses yang diadopsi dalam proyek, alur kerja git yang sama, dan seterusnya.
Kami tidak ingin melakukan hal-hal seperti itu di fase aktif program, dan kami mencoba melakukannya di tahap awal. Kami telah membuat tugas-tugas Good First Issue yang sangat sederhana yang bertujuan untuk memahami proses proyek, pengetahuan minimal tentang C, kemampuan membaca dokumentasi, dan mencari informasi di Internet. Faktanya, kami yakin bahwa setelah menyelesaikan tugas-tugas tersebut, siswa akan dapat membuat beberapa perubahan dalam kode dan menyiapkan Permintaan Tarik.
Dalam hal ini, prasyarat untuk pengajuan resmi aplikasi dianggap terpenuhi. Tetapi siswa dapat terus berpartisipasi dalam proyek dengan menyelesaikan tugas lain dari daftar di github dan menyarankan perbaikan dan perubahan mereka. Satu-satunya permintaan kami adalah tidak mengambil Good First Issue kedua. Kami ingin setiap orang memiliki kesempatan yang sama, dan membuat banyak tugas sederhana ternyata menjadi tugas yang menakutkan. Dalam semua hal lainnya, kami mencoba membantu semua siswa yang tertarik, mulai dari aturan untuk menyiapkan PR dan bekerja dengan git, dan untuk menjelaskan arsitektur dan fitur proyek.
Para siswa yang terus berpartisipasi dalam proyek jika memungkinkan menulis esai yang sangat bagus. Hal ini tidak mengherankan, karena dengan cara ini mereka berhasil menyelami proyek lebih dalam, merasakan tugas yang ingin mereka selesaikan, dan sekedar mendapatkan pengalaman.
Banyak esai dari siswa ini berbeda tidak hanya dalam penjabaran rencana kerja, tetapi juga dalam topik. Kami memiliki daftar topik yang disarankan yang diposting di halaman ide kami, tetapi awalnya kami menganggapnya hanya sebagai demonstrasi arah yang mungkin. Dan kami sangat senang ketika mereka mulai menawarkan tema mereka sendiri.
Penting bagi kami agar siswa dapat menangani topik yang menarik baginya. Kami melihat ini sebagai motivasi tambahan bagi siswa. Tapi, tentu saja tema Anda sendiri bukanlah prasyarat. Kami memiliki topik yang sangat menarik, dan banyak siswa, bahkan tenggelam dalam proyek, ingin menangani topik dari daftar yang diusulkan.
Sebagai hasil dari periode ini, lebih dari 30 esai telah diserahkan ke proyek. Setidaknya ada lima siswa yang sangat baik yang memenuhi tidak hanya persyaratan minimum, tetapi juga berkomunikasi dengan kami tentang tugas-tugas lain, mencoba memenuhinya, menawarkan ide-ide mereka sendiri, secara umum menunjukkan minat pada proyek. Namun sayangnya menurut hasil pembagian, slot untuk siswa hanya dapat dua, hampir harus melempar koin. Untungnya, setelah kami mengetahui beberapa saat kemudian, beberapa siswa yang baik melanjutkan ke proyek lain.
Kami memilih dua siswa
Erick Cafferata dan
Yuta Sakamoto... Keduanya muncul dengan ide masing-masing. Erick menerapkan mode perangkat USB untuk STM32. Yuta memigrasi Embox ke papan MAiX-Bit dengan arsitektur RISC-V. Menariknya, keduanya memiliki tugas dari daftar kami di email selamat datang mereka. Tapi, seperti yang diharapkan, setelah menyelami proyek lebih dalam, mereka mengartikulasikan ide mereka dengan lebih baik.
Tahap selanjutnya dalam rencana resmi program adalah tahap kenalan, saat siswa berkomunikasi lebih dekat dengan masyarakat dan melanjutkan studi proyek. Karena kedua siswa sudah terlibat dalam proyek, ini lebih seperti kelanjutan dari kenalan mereka bagi mereka. Tentu ada juga perbedaannya. Karena kami sudah tahu topik apa yang harus dilaksanakan siswa, kami menawarkan mereka tugas yang dekat dengan bidang yang dipilih.
Sebagai hasil dari tahap program ini, beberapa tugas persiapan diselesaikan, yang menurut saya, memungkinkan siswa untuk bergerak lebih sukses sesuai dengan rencana mereka di masa depan.
Di musim panas, tahap utama program dimulai - tahap pengembangan, sebagai akibatnya kode baru akan muncul. Tahap ini dibagi menjadi tiga bagian, masing-masing selama satu bulan. Setelah setiap bagian, sertifikasi dilakukan. Mahasiswa diharapkan bekerja secara merata. Dan berdasarkan hasil setiap bulan, kami harus memastikan bahwa siswa berada di jalur yang benar.
Dalam praktiknya, kami memperhatikan aktivitas siswa yang berbeda. Kadang-kadang bahkan terlihat bahwa aktivitasnya lebih rendah dari pada tahap awal. Ternyata mereka telah memulai sesi atau kewalahan dengan pelajaran dan tidak dapat mencurahkan cukup waktu untuk berpartisipasi dalam program tersebut. Tetapi mereka bekerja sangat produktif di periode lain. Ternyata ini terjadi tidak hanya di proyek kami. Sebagai hasil dari pertemuan para mentor, bahkan diusulkan untuk menyederhanakan aturan dan memungkinkan siswa dan organisasi pendamping untuk menyepakati jadwal kerja siswa.
Komunikasi adalah bagian penting dari pengembangan tim. Tentu saja, Embox, seperti proyek sumber terbuka lainnya, memiliki mekanisme komunikasi sendiri antar pengembang. Embox memiliki obrolan telegram (
Inggris ,
Rusia,
berita ) dan milis (Inggris (embox-devel [at] googlegroups.com) dan Rusia (embox-ru [at] googlegroups.com)).
Tapi, tentu saja, saya tidak ingin hal-hal yang dibicarakan dengan mahasiswa menjadi publik. Selain itu, siswa terkadang malu untuk bertanya pada obrolan umum. Selain itu, GSoC adalah program internasional dan untuk beberapa ada kendala bahasa. Salah satu siswa kami menulis bahwa sulit baginya untuk berkomunikasi dalam bahasa Inggris. Hasilnya, untuk berkomunikasi dengan masing-masing siswa, kami membuat obrolan pribadi, di mana ada dua mentor: satu utama dan satu membantu. Komunikasi utama pada proyek tertentu terjadi di obrolan ini. Tentu saja, komunikasi umum untuk proyek terjadi di tempat umum untuk proyek tersebut (
obrolan telegramatau
github ).
Namun, tentu saja, sebagian besar program difokuskan pada pengembangan. Pada tahap awal, siswa harus mengikuti pedoman pihak ketiga. Repositori dikloning, modul dikembangkan, PR ditawarkan, PR ini ditinjau, disetujui dan kemudian digabungkan menjadi sebuah proyek. Artinya, pengembang pihak ketiga menggunakan repositori mereka sendiri. Untuk memeriksa perubahan, Anda perlu beralih ke repositori ini. Ini bagus untuk pengujian saja, tetapi jika menyangkut sebuah saran atau satu tugas yang sedang dikembangkan oleh beberapa orang, ini dapat menambah kerumitan. Untuk menghindari hal ini, kedua siswa ditambahkan ke tim Embox dan oleh karena itu memungkinkan mereka membuat cabang di repositori utama. Hasilnya, ini ternyata keputusan yang tepat, karena pada tahap akhir program kami bekerja cukup dekat dengan siswa,dan ternyata para siswa memperoleh pengalaman dalam pengembangan tim.
Kedua siswa tersebut berhasil menyelesaikan program. Erick
mendemonstrasikan tampilan STM32 yang benar yang terhubung ke komputer menggunakan utilitas lsusb. Dan Yuta
mendemonstrasikan kontrol LED menggunakan utilitas perintah Embox . Tentu saja, Erick juga ingin menambahkan fungsionalitas ke beberapa perangkat, bahkan mengembangkan ECM-ACM (virtual comport). Dan Yuta ingin menambahkan dukungan untuk modul enkripsi. Tapi ini meremehkan kompleksitas pekerjaan yang diusulkan. Saya menemukan hasil yang diperoleh dalam tiga bulan di area yang kompleks seperti pemrograman sistem sangat mengesankan. Dan yang paling penting, para siswa memperoleh pengalaman hebat dalam kerja tim, mengenal dunia sumber terbuka lebih baik dan secara signifikan meningkatkan keterampilan teknis mereka.
PS Embox akan mengambil bagian pada 19 Desember dalam sesi blitz online dari
Konferensi Internasional Pengembang dan Pengguna Liburan Linux / Perangkat Lunak Bebas Eropa Timur - LVEE 2020 Edisi Online (Lightning).