Pro dan Kontra Pengembangan Perangkat Lunak Open Source

Inilah saat yang tepat untuk memberi kembali kepada orang-orang yang memungkinkan Anda menggunakan Internet!

Banyak pengembang menyukai proyek sumber terbuka, dan untuk alasan yang bagus: mereka menggunakannya setiap hari untuk mempercepat pekerjaan mereka. Ada banyak contoh sukses dari solusi perangkat lunak open source, seperti Linux (sistem operasi) atau React (pustaka JavaScript). Solusi ini sering kali dibuat dengan baik, dan sangat menyenangkan bekerja dengan kode berkualitas tinggi semacam itu.

Jadi, mari kita lihat lebih dekat apa arti open source dan apa pro dan kontra untuk bekerja dengan proyek open source.

Apa Itu Open Source?

Istilah "open source" diciptakan dalam industri pengembangan perangkat lunak dan mengacu pada sesuatu yang dapat diperiksa, dimodifikasi, dan dibagikan oleh siapa pun. Ini merupakan pendekatan khusus untuk membuat program komputer yang menghargai nilai-nilai kolaborasi, transparansi, dan pembangunan yang berorientasi pada masyarakat.

Kode sumber terbuka ditulis oleh pengembang dan untuk pengembang.

Untuk melindungi semua pihak yang terlibat dalam sumber terbuka, pemilik proyek dapat menggunakan lisensi Creative Commons. Lisensi Creative Commons (CC) memungkinkan semua orang untuk berbagi, menggunakan, dan mengembangkan karya Anda.

Perangkat lunak open source biasanya merupakan produk perangkat lunak gratis, di mana pengembang memiliki akses ke kode sumbernya. Mereka dapat meningkatkan kinerja program, menambahkan beberapa fitur, dan memperbaiki kesalahan. Beberapa contoh perangkat lunak tersebut adalah LibreOffice, Mozilla Firefox, dan Chromium.

Sebaliknya, ada perangkat lunak berpemilik , juga disebut "perangkat lunak sumber tertutup". Kode sumber dari program semacam itu hanya dapat diperiksa atau diubah oleh pemiliknya. Beberapa contoh perangkat lunak berpemilik mencakup beberapa produk Microsoft, Adobe, atau Apple.

Beberapa perusahaan melihat perangkat lunak open source sebagai norma, sementara yang lain lebih suka mengembangkan perangkat lunak sumber tertutup. Dan yang pasti, model open source memiliki pro dan kontra.

Apa Hebatnya Mengembangkan Perangkat Lunak Sumber Terbuka?

manfaat open source

Manfaat pribadi

Jika saya mengatakan bahwa pengembang open source didorong oleh altruisme dan keinginan untuk membantu orang lain, banyak orang yang membaca artikel ini mungkin tersenyum tidak percaya. Tapi motivasi intrinsik ini adalah alasan utama kebanyakan orang mengerjakan proyek open source.

Jangan meremehkan pentingnya keuntungan pribadi - perasaan membantu dan berprestasi.

Pengakuan komunitas

Ilmuwan dan dokter berbagi pengalaman mereka dengan menulis artikel ilmiah dan berpartisipasi dalam konferensi ilmiah. Desainer UI / UX membagikan pengalaman mereka tentang Behance atau Dribbble. Penulis mencetak buku mereka atau membagikannya melalui platform online. Musisi dan pembuat film berbagi pekerjaan mereka dengan dunia melalui layanan streaming yang berbeda. Mengapa pengembang perangkat lunak berbeda dan ingin melewatkan kesempatan mereka untuk mendapatkan pengakuan?

Saat mengerjakan atau menjalankan proyek sumber terbuka, Anda bisa mendapatkan pengakuan dari komunitas pengembang dengan berbagai cara, seperti membuat profil GitHub yang hebat dan berpartisipasi dalam acara seperti Hacktoberfest.

Anda juga bisa mendapatkan diskon, tiket masuk gratis ke acara, dan infrastruktur yang dikembangkan dengan baik untuk menjalankan proyek Anda. Bekerja pada proyek open source tidak hanya menghemat uang Anda, tetapi juga menginspirasi Anda untuk menggunakan semua alat terbaik yang tersedia untuk Anda dalam proyek Anda sendiri.

Berikut adalah beberapa peserta Lviv Hacktoberfest.

Iklan mandiri

Jika Anda atau perusahaan Anda secara aktif berpartisipasi dalam komunitas open source, Anda bisa mendapatkan reputasi yang bagus. Dengan cara ini, jika Anda adalah individu atau pengembang wiraswasta, akan lebih mudah bagi Anda untuk mencari pekerjaan sebagai freelancer atau karyawan tetap. Jika Anda mewakili perusahaan pengembang perangkat lunak, akan lebih mudah bagi Anda untuk menemukan orang yang bersedia bekerja untuk Anda, mitra yang bersedia bekerja sama, dan klien yang bersedia meminta layanan profesional Anda.

Inilah sebabnya mengapa mengembangkan perangkat lunak sumber terbuka menciptakan peluang periklanan yang sempurna - situasi win-win baik bagi pengembang dan agensi pengembangan.

Rasa nilai

Tidak perlu menyembunyikan kebenaran: kelelahan pekerjaan mengganggu pekerjaan pengembang dan strategi SDM vendor perangkat lunak. Jika Anda adalah pemilik perusahaan, dengan memotivasi karyawan Anda untuk berpartisipasi dalam pengembangan open source, Anda menunjukkan kepada mereka bahwa pekerjaan mereka memiliki nilai. Mereka tidak hanya akan mengerjakan proyek komersial Anda tetapi mereka juga akan memberikan nilai kepada komunitas pengembang yang lebih luas dengan mengerjakan proyek sumber terbuka.

Dengan membantu pengembang Anda mencapai perasaan tujuan dan nilai ini, Anda membuat mereka tetap tertarik untuk bekerja dengan Anda.

Hal yang sama berlaku jika Anda adalah pengembang wiraswasta. Terlibat dalam pengembangan perangkat lunak sumber terbuka akan membuat pekerjaan Anda bermakna, dan Anda tidak akan membencinya seiring berjalannya waktu.

Kualitas perangkat lunak

Kode sumber terbuka seringkali memiliki kualitas yang lebih tinggi. Perangkat lunak yang dibuat oleh tim pengembang dapat memiliki kualitas yang lebih rendah daripada yang dikembangkan oleh ribuan pengembang dari seluruh dunia dengan pengalaman dalam berbagai teknologi, industri, dan proyek. Dan bug dalam perangkat lunak open source diidentifikasi dengan sangat cepat karena kodenya terus ditinjau oleh banyak pengembang.

Bahkan kode yang ditulis oleh satu pengembang seringkali berkualitas lebih tinggi jika bersumber terbuka. Jika Anda menulis kode yang hanya dilihat oleh Anda atau kolega dekat Anda, Anda mungkin tidak terlalu peduli dengan gaya kode. Tetapi jika Anda menulis kode yang dapat dilihat semua orang, Anda akan melakukan semua yang Anda tidak bisa agar tidak terlihat seperti kode monyet. Ulasan, kontribusi, dan pemfaktoran ulang dari komunitas semuanya berguna di sini.

Keamanan data

Anda sebaiknya menggunakan perangkat lunak open source untuk pengembangan aplikasi karena lebih aman. Komunitas segera menemukan dan melaporkan kelemahan keamanan yang biasanya langsung diperbaiki oleh pemilik perangkat lunak.

Sebaliknya, jika ada cacat keamanan dalam produk perangkat lunak berpemilik, tidak ada yang akan tahu sampai seseorang menjadi korban ancaman yang ditimbulkannya.

Selain itu, produk open source tidak boleh menyalahgunakan dan menyalahgunakan data pengguna dengan sengaja seperti yang dilakukan beberapa perusahaan perangkat lunak berpemilik. Komunitas akan menemukan penyalahgunaan ini, dan reputasi perangkat lunak serta pemiliknya akan hancur.

Kustomisasi

Mengembangkan perangkat lunak sumber terbuka biasanya berarti Anda mengembangkan perangkat lunak yang dapat disesuaikan dengan mudah. Karena kode sumber terbuka, pengembang dapat dengan mudah menambahkan perubahan pada fungsionalitas antarmuka.

Misalnya, Apache CloudStack adalah perangkat lunak sumber terbuka yang memfasilitasi komputasi awan. Contoh lain adalah platform bersumber terbuka Botpress, yang memungkinkan pengembang untuk dengan mudah membuat chatbot khusus. Pengembang KeenEthics yang merupakan kontributor Botpress merasa senang saat mereka dapat membuat hidup orang lain lebih sederhana.

Sumber terbuka adalah tentang mendapatkan dan berbagi pengalaman. Terkadang, Anda melihat bahwa proyek perangkat lunak sumber terbuka kekurangan sesuatu dan Anda mengisi celah ini dengan menyumbangkan kode Anda. Di lain waktu, Anda memahami bahwa Anda dapat melakukan sesuatu yang lebih baik. Open source membantu Anda mengatasi kebosanan dan mendapatkan pengakuan dari rekan kerja.

Sergey Gornostaev

Apa yang TIDAK Hebat Tentang Mengembangkan Perangkat Lunak Sumber Terbuka?

kelemahan open source

Miskomunikasi dan kesalahpahaman

Anda dapat mengharapkan permintaan untuk meningkatkan produk Anda atau untuk membantu sesuatu, tetapi Anda mungkin harus berurusan dengan berbagai jenis orang. Beberapa orang mungkin mengharapkan Anda untuk menanggapi permintaan mereka 24/7. Orang lain mungkin membuka PR untuk meningkatkan produk Anda, tetapi Anda harus menjelaskan aturan tentang bagaimana hal-hal harus disiapkan dan bagaimana mereka digabungkan ke dalam jalur utama.

Pada akhirnya, tidak ada jaminan bahwa kontribusi masyarakat tersebut ternyata tidak lebih rendah kualitasnya. Inilah sebabnya mengapa ada kemungkinan besar bahwa Anda akhirnya memfaktorkan ulang kode seseorang dan membuat orang kecewa dengan tidak menggabungkan perubahan mereka.

Ancaman terhadap nilai bisnis inti

Anda tidak boleh membuka sumber apa pun yang memiliki nilai inti bagi bisnis Anda. Jika ada rahasia dagang - ide atau cara penerapannya yang membuat bisnis Anda unik, sebaiknya Anda tidak membuatnya menjadi open source sehingga tidak tersedia untuk pesaing Anda. Namun, jika Anda memiliki ide dan alat yang dapat digunakan oleh publik tanpa merugikan bisnis Anda - buka sumbernya.

Mengapa Open Source Adalah Hal yang Tepat untuk Dilakukan

Jika Anda adalah pengguna Internet (dan memang demikian), Anda pasti menggunakan perangkat lunak sumber terbuka gratis dalam jumlah yang luar biasa banyaknya. Para penemu Internet merancang sebagian besar darinya sebagai proyek sumber terbuka, dan siapa pun yang menggunakannya saat ini menuai hasil dari upaya mereka. Misalnya, komputasi awan sebagian besar didasarkan pada kontribusi sumber terbuka.

Selain itu, survei oleh Tidelift dan The New Stack menyatakan bahwa 84 persen pengembang perangkat lunak menggunakan sumber terbuka dalam rutinitas profesionalnya. Memanfaatkan pengalaman dan pengetahuan orang lain, mengapa Anda tidak membagikan milik Anda?

Jika kita menikmati manfaat dari open source, memberikan kembali kepada komunitas adalah hal yang tepat untuk dilakukan.

Berpartisipasilah dalam Pengembangan Sumber Terbuka!

Bagaimana memulainya? Buka repositori GitHub Anda untuk umum dan beri tahu dunia tentangnya melalui blog, media sosial, atau forum pengembang Anda. Daftar di Hacker News karena ada banyak kontributor open source yang berkumpul.

Sumber terbuka membuat Anda tumbuh lebih cepat sebagai pengembang dan memberikan hasil yang bermanfaat bagi seluruh komunitas. Pada saat yang sama, Anda harus mencoba untuk tidak merugikan komunitas yang memberi Anda semua hal sumber terbuka yang hebat ini. Berkontribusi secara bijak dan bantu orang lain dengan menjawab pertanyaan yang dapat Anda bantu.

Apakah Anda punya ide untuk sebuah proyek?

Perusahaan saya KeenEthics memiliki banyak pengalaman dengan pengembangan web sumber terbuka dan pengembangan aplikasi seluler. Jika Anda siap untuk mengubah permainan dan memulai proyek Anda, silakan hubungi kami .

Jika Anda menikmati artikel tersebut, Anda pasti harus membaca yang lain: Pengujian Agile: Cara Memastikan Perangkat Lunak Berkualitas Tinggi.

PS

Saya juga ingin mengucapkan terima kasih kepada Alex Pletnov, CTO @ KeenEthics, yang telah menginspirasi dan berkontribusi untuk artikel ini.

Artikel asli yang diposting di blog KeenEthics dapat ditemukan di sini: Apa Hebatnya Tentang Mengembangkan Sumber Terbuka dan Apa yang Tidak?