Menjadi pemrogram perangkat lunak terbuka

Pengarang: Morris Wright
Tanggal Pembuatan: 24 April 2021
Tanggal Pembaruan: 1 Juli 2024
Anonim
Free Libre Open Source Software | Perangkat Lunak Sumber Terbuka Bebas | TASUR Etika Profesi
Video: Free Libre Open Source Software | Perangkat Lunak Sumber Terbuka Bebas | TASUR Etika Profesi

Isi

Menulis dan menggunakan perangkat lunak terbuka bukan hanya suatu bentuk pemrograman (juga disebut "peretasan" dalam dunia pemrogram), ini adalah semacam filosofi. Meskipun Anda hanya perlu mengetahui bahasa pemrograman untuk dapat membuat kode, artikel ini membahas tentang cara bergabung dengan komunitas, berteman, berkolaborasi dalam proyek-proyek hebat, dan menjadi spesialis yang dihormati dengan profil yang tidak dapat Anda dapatkan di tempat lain. Dalam dunia perangkat lunak terbuka, Anda dapat dengan mudah diberikan tugas yang hanya boleh dilakukan oleh pemrogram elit tingkat atas di perusahaan. Pikirkan tentang seberapa banyak pengalaman yang dapat diberikan hal ini kepada Anda. Namun, setelah Anda memutuskan untuk menjadi pemrogram perangkat lunak terbuka, Anda harus bersedia menginvestasikan waktu untuk tujuan ini. Ini juga berlaku jika Anda sudah menjadi mahasiswa IT. Pikiran Anda, artikel ini bukan tentang bagaimana menjadi seorang hacker atau cracker.

Melangkah

  1. Unduh distribusi Unix yang bagus. GNU / Linux adalah salah satu yang paling populer untuk pemrograman, tetapi GNU Hurd, BSD, Solaris dan (sampai batas tertentu) Mac OS X juga umum digunakan.
  2. Pelajari cara menggunakan baris perintah. Anda dapat melakukan lebih banyak hal dengan sistem operasi mirip Unix jika Anda menggunakan baris perintah.
  3. Pelajari beberapa bahasa pemrograman populer sampai Anda mencapai tingkat yang lebih atau kurang memuaskan. Jika tidak, Anda tidak dapat menyumbangkan kode (bagian terpenting dari proyek perangkat lunak apa pun) ke komunitas perangkat lunak terbuka. Beberapa sumber menyarankan untuk memulai dengan dua bahasa sekaligus: satu bahasa sistem (C, Java atau serupa) dan bahasa skrip (Python, Ruby, Perl atau serupa).
  4. Agar lebih produktif, Anda memerlukan NetBeans atau lingkungan pengembangan terintegrasi serupa.
  5. Belajar menggunakan editor tingkat lanjut, seperti vi atau Emacs. Mereka memiliki kurva belajar yang lebih tinggi, tetapi Anda dapat melakukan lebih banyak hal dengan mereka.
  6. Pelajari tentang kontrol versi. Kontrol versi mungkin merupakan alat kolaborasi yang paling penting untuk pengembangan perangkat lunak bersama. Pahami cara membuat dan menerapkan tambalan. Sebagian besar pengembangan perangkat lunak terbuka di komunitas dilakukan melalui pembuatan, diskusi, dan penerapan berbagai tambalan.
  7. Temukan proyek perangkat lunak terbuka kecil yang sesuai yang dapat Anda ikuti dengan mudah untuk mendapatkan pengalaman. Sebagian besar proyek semacam itu dapat ditemukan di SourceForge.net hari ini. Proyek yang sesuai harus mencakup:
    1. Gunakan bahasa pemrograman yang Anda tahu.
    2. Jadilah aktif, dengan rilis terbaru.
    3. Sudah terdiri dari tiga sampai lima developer.
    4. Untuk menggunakan kontrol versi.
    5. Miliki bagian yang dapat Anda mulai sekarang juga, tanpa harus mengubah kode yang ada terlalu banyak.
    6. Selain kode, proyek yang bagus juga memiliki daftar diskusi aktif, laporan bug, mendapat dan mengimplementasikan permintaan perbaikan, dan aktivitas serupa.
  8. Hubungi administrator proyek yang dipilih. Dalam proyek kecil dengan sedikit pengembang, bantuan Anda biasanya akan langsung diterima.
  9. Baca aturan proyek dengan cermat dan kurang lebih ikuti mereka. Aturan gaya pemrograman atau kebutuhan untuk mendokumentasikan perubahan Anda dalam file teks terpisah mungkin tampak konyol pada awalnya. Namun, tujuan dari aturan ini adalah untuk memungkinkan pekerjaan bersama - dan sebagian besar proyek bekerja dengannya.
  10. Kerjakan proyek ini selama beberapa bulan. Dengarkan baik-baik apa yang dikatakan administrator dan anggota proyek lainnya. Selain pemrograman, Anda memiliki banyak hal untuk dipelajari. Tetapi jika Anda benar-benar tidak menyukai sesuatu, berhenti dan beralihlah ke proyek lain.
  11. Jangan terlalu lama terjebak dalam proyek bawah tanah. Setelah Anda berhasil bekerja di tim itu, inilah saatnya untuk mulai mencari sesuatu yang lebih serius.
  12. Cari perangkat lunak terbuka tingkat tinggi atau proyek sumber terbuka yang serius. Sebagian besar proyek semacam itu dimiliki oleh organisasi GNU atau Apache.
  13. Karena kami melakukan lompatan serius di sini, Anda harus memperhitungkan sambutan yang kurang hangat. Anda kemungkinan besar akan diminta untuk menjalankan tanpa akses tulis langsung ke repositori kode untuk pertama kalinya. Namun, proyek bawah tanah sebelumnya seharusnya mengajari Anda banyak hal - jadi setelah beberapa bulan memberikan kontribusi yang produktif, Anda dapat mengklaim hak yang menurut Anda seharusnya Anda miliki.
  14. Ambillah tugas serius dan kerjakan. Sudah waktunya. Jangan takut. Lanjutkan bahkan jika Anda merasa tugas tersebut jauh lebih sulit daripada yang Anda duga - pada langkah ini penting untuk tidak menyerah.
  15. Jika Anda bisa, ajukan permohonan ke "Summer of Code" Google untuk menyumbangkan sejumlah uang ke dalam petualangan ini. Tetapi jangan khawatir jika aplikasi tidak diterima karena mereka memiliki posisi yang didanai jauh lebih sedikit daripada jumlah programmer yang benar-benar baik.
  16. Temukan konferensi yang sesuai yang diadakan di sekitar ("hari Linux" atau serupa) dan cobalah untuk mempresentasikan proyek Anda di sana (keseluruhan proyek, dan bukan hanya bagian yang Anda program). Setelah Anda menyebutkan bahwa Anda mewakili proyek serius gratis / open source, penyelenggara akan sering membebaskan Anda dari biaya konferensi (jika tidak, konferensi kemungkinan besar tidak akan sesuai). Bawa laptop Linux Anda (jika ada) dan jalankan beberapa demo. Tanyakan kepada manajer proyek tentang materi yang dapat Anda gunakan untuk mempersiapkan presentasi atau poster Anda.
  17. Cari di Internet untuk pengumuman tentang acara instalasi terdekat dan cobalah untuk berpartisipasi sebagai pengguna terlebih dahulu (catat semua masalah yang muncul dan bagaimana peretas memperbaikinya) dan tawarkan untuk menginstal program di lain waktu.
  18. Selesaikan tugas, periksa pekerjaan Anda dengan tes otomatis dan berkontribusi pada proyek. Kamu selesai! Untuk memastikannya, cobalah untuk bertemu langsung dengan beberapa programmer dalam proyek tersebut dan mengumpulkan segelas bir bersama tentang hasilnya.
  19. Untuk pemahaman yang lebih baik, lihat contoh nyata dari sejarah pengembangan proyek perangkat lunak terbuka (lihat di atas). Setiap kurva naik mewakili kontribusi (baris kode) dari satu pengembang. Pengembang cenderung menjadi kurang aktif seiring bertambahnya usia, tetapi proyek sering kali semakin cepat bahkan saat orang baru bergabung. Jadi jika Anda datang dengan beberapa keterampilan yang berguna di saku Anda, tidak ada alasan mengapa tim tidak mengundang Anda.

Tips

  • Sebelum mengajukan pertanyaan tentang persyaratan praktis dalam proyek, cari jawabannya di dokumentasi proyek dan arsip milis.
  • Selalu berusaha menyelesaikan pekerjaan pemrograman apa pun yang Anda mulai. Tidak dapat dibangun, tidak dapat dijalankan, sistem macet? Sana menjadi alasan untuk semuanya, dan jika Anda memiliki kode sumber, biasanya itu berarti Anda memiliki sistem baik dapat memaksa Anda untuk melakukan apa pun yang Anda inginkan, terutama dengan bantuan beberapa riset online. Aturan ini memiliki batasan, tentu saja, tetapi penting untuk tidak pernah menyerah begitu saja.
  • Sebut diri Anda sendiri sebagai programmer (atau hacker) hanya setelah Anda dikenali oleh beberapa komunitas hacker yang sebenarnya.
  • Pada awalnya, pilih kelas, modul atau unit lain di mana tidak ada orang yang bekerja dengan sangat aktif saat ini. Bekerja bersama di kelas yang sama atau bahkan suatu posisi membutuhkan lebih banyak keterampilan dan perhatian dari semua sisi.
  • Pengusaha dari beberapa peretas / pemrogram tampaknya cukup termotivasi untuk mengizinkan kontribusi selama jam kerja (biasanya karena institusi menggunakan program gratis / sumber terbuka yang dikembangkan pemrogram). Pikirkan, mungkin Anda bisa mendapatkan setidaknya sebagian waktu yang dibutuhkan dengan cara ini.
  • Jika Anda masih kurang percaya diri, mulailah dari beberapa bagian kode yang menurut Anda hilang dan bisa ditulis dari awal. Perubahan pada kode yang ada lebih cenderung dikritik.

Peringatan

  • Status peretas Anda dalam proyek komunitas lebih merupakan cerminan masa kini Anda daripada masa lalu Anda.Jika Anda menginginkan rekomendasi atau hal serupa dari pemimpin proyek, silakan tanyakan apakah Anda masih berkontribusi secara aktif.
  • Jangan terlibat dalam pengoptimalan kode kecil, komentar tambahan, peningkatan gaya pengkodean, dan hal-hal "skala kecil" serupa lainnya. Ini bisa menimbulkan lebih banyak kritik daripada kontribusi serius. Sebagai gantinya, Anda dapat menyertakan perubahan ini dalam satu tambalan "pembersihan".
  • Jika Anda berencana untuk bertemu langsung dengan para peretas perangkat lunak terbuka, tinggalkan laptop Windows Anda di rumah. Mac OS sedikit lebih dapat ditoleransi, tetapi itu juga tidak diterima. Jika Anda membawa laptop Anda, itu harus menjalankan Linux atau sistem operasi lain yang mereka anggap sebagai "perangkat lunak terbuka."
  • Jika klien email Anda mendukung pesan HTML, maka Anda harus menonaktifkan fitur ini. Jangan pernah melampirkan dokumen yang hanya dapat dibuka oleh perangkat lunak komersial (seperti Microsoft Word) dengan benar. Peretas menganggap ini ofensif.
  • Jangan menjadi sukarelawan dalam proyek perusahaan yang kodenya tidak dicakup oleh lisensi sumber terbuka yang disetujui. Dalam kasus seperti itu, bagian yang sangat penting dari proyek kemungkinan besar akan tetap berada di balik pintu tertutup dari pemiliknya, mencegah Anda mempelajari sesuatu yang berguna.
  • Hindari pertanyaan apa pun tentang dasar-dasar pemrograman atau alat pemrograman. Waktu menjadi programmer perangkat lunak terbuka sangat berharga. Alih-alih, diskusikan dasar-dasar pemrograman dalam kelompok pemrogram amatir atau pemula.
  • Proyek yang sudah mapan dan sangat sukses mungkin memiliki kebijakan tertulis atau tidak tertulis tentang tidak pernah mengganti biaya pekerjaan Anda (tidak ada uang, tidak ada kemampuan untuk mempromosikan diri Anda sendiri, tidak ada status yang lebih tinggi terlepas dari kontribusi Anda, dll. - lihat: Do_not_expect_reward Wikipedia). Jika Anda tidak setuju dengan ini, pertahankan proyek yang lebih umum yang tidak mampu menerima sikap seperti itu.
  • Jangan memulai proyek Anda sendiri kecuali jika Anda selalu ingin menghabiskan waktu dengan kesendirian yang membanggakan. Untuk alasan yang sama, lebih baik tidak memulai upaya untuk menghidupkan kembali proyek yang sudah terbengkalai yang telah hilang dari tim sebelumnya.
  • Dalam kasus pertemuan informal tentang proyek yang Anda tidak pernah menyumbangkan kode apa pun, Anda akan memiliki perasaan tidak menyenangkan karena diabaikan sepenuhnya. Jangan khawatir, beberapa peretas bisa menjadi teman baik nanti setelah Anda dihormati dengan kode Anda sendiri.
  • Proyek perangkat lunak terbuka yang besar, terutama yang ada di sekitar domain GNU, tidak memperlakukan pekerjaan Anda sebagai bisnis pribadi Anda. Setelah Anda mendapatkan pekerjaan di dalam perusahaan yang berhubungan dengan perangkat lunak, mereka meminta majikan Anda untuk menandatangani perjanjian tertentu [1], yang akan atau tidak akan ditandatangani oleh perusahaan tersebut. Ini dapat memaksa Anda untuk memilih proyek dengan persyaratan yang tidak terlalu ketat.

Kebutuhan

  • Linux. Banyak proyek perangkat lunak terbuka lebih rumit untuk dibangun di Windows, atau tidak dibangun dengan benar sama sekali. Hal ini terutama berlaku untuk proyek lanjutan yang didedikasikan untuk pemrograman ponsel, kunci USB, dan perangkat lain.
  • Komputer dengan koneksi internet yang relatif bagus. Jika Anda ingin mempertahankan dual boot dengan Windows, maka hard drive atau partisi kedua untuk Linux bisa menjadi solusi yang baik.
  • Pengetahuan dasar tentang setidaknya satu bahasa pemrograman dan niat yang kuat untuk mempelajari lebih lanjut. Bahasa yang paling populer saat ini adalah C dan Java.
  • Jumlah waktu yang signifikan, setidaknya lima jam seminggu (seorang programmer hardcore biasa menyumbang 14 jam kekalahan).
  • Meskipun pendidikan formal IT akan membuat jalan Anda jauh lebih mudah, ini dia tidak persyaratan wajib dan tidak ada komunitas peretas sejati yang akan menanyakannya kepada Anda. Pemrogram / peretas menilai satu sama lain dengan pemrograman seseorang, bukan kriteria palsu seperti nilai, usia, ras, atau posisi. Ingatlah, setidaknya 60% dari peretas sumber terbuka yang menilai tambalan Anda memiliki gelar sarjana yang "benar" dan tidak akan mengizinkan Anda untuk memberikan kontribusi yang tidak masuk akal untuk proyek tersebut.
  • Selama langkah-langkah terakhir (konferensi dan 'instal pesta'), Anda dapat memanfaatkan laptop Anda sendiri. Tetapi tidak baik untuk mengerjakannya di rumah, jadi belilah satu jika Anda mampu membeli mesin kedua.
  • Jalan yang dijelaskan untuk menjadi "peretas" perangkat lunak sumber terbuka membutuhkan waktu setidaknya dua tahun untuk menyelesaikannya.