Apa itu perangkat lunak sumber terbuka? Sumber terbuka dan penjelasan FOSS

Yang mendasari setiap perangkat lunak yang Anda gunakan adalah kode sumber yang mengeluarkan perintah dan menangani data yang memungkinkan perangkat lunak melakukan apa yang dilakukannya. Pertanyaan tentang siapa yang berhak melihat, mengubah, atau mendistribusikan kembali kode sumber itu telah lama menjadi salah satu pemisah ideologis mendasar dalam dunia komputasi.

Para pendukung perangkat lunak open source, seperti namanya, turun di sisi keterbukaan; mereka merasa bahwa orang harus memiliki hak untuk mengakses kode sumber perangkat lunak yang mereka gunakan. Seperti yang akan kita lihat, dalam praktiknya ada banyak variasi yang termasuk dalam label itu. Berbagai jenis perangkat lunak sumber terbuka ada di hampir setiap ceruk yang dapat Anda pikirkan — pada kenyataannya, sumber terbuka mendominasi banyak di antaranya.

Apa itu perangkat lunak sumber terbuka, apa itu perangkat lunak bebas — dan apa perbedaannya?

Definisi singkat dari perangkat lunak open source adalah perangkat lunak yang kode dasarnya dapat diperiksa, diubah, dan didistribusikan ulang. (Ada definisi yang lebih panjang dan lebih resmi yang akan kita bahas sebentar lagi.) Bagian yang "diubah dan didistribusikan ulang" adalah kunci utama filosofi open source. Terlepas dari apa yang mungkin tersirat dari namanya, cukup membuka kode sumber Anda sehingga orang dapat melihatnya tidak menjadikannya open source.

Dalam beberapa hal, istilah "perangkat lunak sumber terbuka" adalah retronim: Pada dekade awal ilmu komputer, kode sumber perangkat lunak tersedia sebagai hal yang biasa dan secara bebas dipertukarkan antara peneliti dan ilmuwan industri. Komputer sangat sedikit dan jarang dan diharapkan dapat dimodifikasi secara luas oleh penggunanya, sehingga orang membutuhkan akses ke kode. Dalam banyak hal, perangkat lunak dipandang sebagai tambahan pada perangkat keras komputer; tidak sampai 1974 bahkan secara hukum didirikan bahwa perangkat lunak tunduk pada hak cipta. Tetapi ketika era komputer mikro dimulai pada akhir 1970-an, industri mulai bergeser ke posisi bahwa perangkat lunak adalah sesuatu yang memiliki nilai moneter dalam dan dari dirinya sendiri, dan bahwa akses ke kode yang mendasarinya dapat dan harus dibatasi untuk melindungi pembuat perangkat lunak. hak.Surat terbuka Bill Gates yang terkenal pada tahun 1976 kepada para penghobi yang mengeluh tentang meluasnya pembajakan produk pertama Microsoft, penerjemah Altair BASIC, adalah dokumen penting dari perubahan ini.

Sementara ide-ide baru ini dengan cepat diambil oleh industri perangkat lunak yang berkembang pesat, beberapa orang menolaknya. Salah satu penentang paling awal adalah Richard Stallman, yang mendirikan Free Software Foundation (FSF) pada tahun 1985. Perangkat lunak bebas "gratis" dimaksudkan untuk menunjukkan kebebasan pengguna untuk mengubah dan mendistribusikan kode sesuka mereka; tidak ada aturan yang melarang penagihan uang untuk perangkat lunak gratis dalam pengertian ini. Perbedaan sering ditarik antara "gratis seperti dalam bir gratis" dan "bebas seperti dalam kebebasan berbicara," dengan perangkat lunak bebas berada di kamp terakhir.

Namun, gagasan perangkat lunak bebas membuat banyak orang di industri swasta, yang bagaimanapun, bukan penggemar memberikan sesuatu, gugup. Pada tahun 1998 Christine Peterson menciptakan frase "open source" sebagai upaya untuk membuat ide lebih dapat diakses oleh pendatang baru, terutama mereka yang bekerja di perusahaan nirlaba. Meskipun Stallman telah menolak istilah open source, dengan mengatakan bahwa ia berpaling dari ide politik dan filosofis asli dari perangkat lunak bebas, itu telah menjadi frasa dominan yang menjelaskan konsep ini. Diagram Venn dari perangkat lunak bebas dan sumber terbuka cukup tumpang tindih sehingga terkadang keduanya digabungkan di bawah singkatan FOSS (perangkat lunak gratis dan sumber terbuka) . Secara umum, semua perangkat lunak gratis adalah sumber terbuka, meskipun sebagian kecil perangkat lunak sumber terbuka memiliki persyaratan lisensi yang berarti tidak gratis (lebih lanjut tentang lisensi sumber terbuka sebentar lagi).

Konsep perangkat lunak bebas dan sumber terbuka memunculkan definisi retronim lain: "perangkat lunak berpemilik ," perangkat lunak apa pun yang bukan sumber terbuka.

Lisensi perangkat lunak sumber terbuka

Semua hak dan tanggung jawab yang terlibat dalam perangkat lunak sumber terbuka ditetapkan oleh lisensi di mana perangkat lunak didistribusikan. Ketika doktrin hukum bahwa perangkat lunak tunduk pada hak cipta menjadi mapan, lisensi perangkat lunak mulai ditulis untuk memberikan kontrak antara pemilik hak cipta dan pengguna, memberikan izin kepada pengguna untuk mengeksekusi perangkat lunak di komputer pribadi.

Lisensi perangkat lunak awalnya ada untuk membatasi perilaku pengguna dan melindungi hak-hak produsen perangkat lunak. Tetapi pendukung perangkat lunak bebas menyadari bahwa mereka dapat membalikkan tujuan asli lisensi: Lisensi paket perangkat lunak malah dapat mensyaratkan bahwa kode yang mendasari tersedia untuk siapa saja yang menggunakan perangkat lunak, dan bahwa pengguna memiliki hak untuk mengedit dan mendistribusikan kembali kode itu. Lisensi perangkat lunak open source pertama (meskipun lebih awal dari istilah tersebut) mungkin adalah pemberitahuan izin penyalinan GNU Emacs, dirilis pada tahun 1985 untuk versi editor teks Emacs yang ditulis oleh Stallman FSF.

Sejak saat itu jumlah lisensi bebas dan sumber terbuka telah berkembang biak, masing-masing menetapkan persyaratan yang sedikit berbeda untuk penggunaan kode berlisensi; Wikipedia memiliki bagan yang cukup bagus dengan rincian tentang lisensi yang paling penting. Menurut definisi, salah satu dari lisensi sumber terbuka ini memberi pengguna tiga kebebasan dasar untuk dapat membaca, mengedit, dan mendistribusikan ulang kode sumber; area utama di mana mereka berbeda adalah dalam istilah yang mereka terapkan pada redistribusi:

  • Lisensi permisif memungkinkan Anda untuk mendistribusikan kembali kode sumber apa pun yang Anda inginkan. Anda dapat, misalnya, mengambil kode sumber yang dirilis di bawah lisensi permisif, memasukkannya ke dalam perangkat lunak Anda sendiri, kemudian merilis perangkat lunak itu di bawah lisensi berpemilik. Lisensi BSD adalah salah satu lisensi permisif paling terkenal.
  • Lisensi Copyleft memerlukan kode yang didistribusikan ulang yang menggabungkan kode berlisensi untuk juga dirilis di bawah lisensi serupa. Berbagai versi Lisensi Publik GNU (GPL) dari FSF adalah lisensi copyleft, dan tujuan mereka adalah meminta pengembang untuk membayarnya dengan membagikan manfaat yang mereka terima dari memasukkan kode sumber terbuka dalam proyek mereka.

Menarik untuk dicatat bahwa ide di balik lisensi ini telah menyebar ke luar dunia perangkat lunak. Creative Commons adalah infrastruktur hukum untuk menerapkan istilah serupa pada karya seni tertulis atau visual.

Definisi Sumber Terbuka dan Inisiatif Sumber Terbuka

Sumber terbuka pada dasarnya tidak dikendalikan oleh entitas atau organisasi mana pun. Pada tahun 1998, sekelompok pengembang terkemuka termasuk Bruce Perens dan Eric S. Raymond mendirikan Open Source Initiative (OSI), sebuah organisasi nirlaba yang didedikasikan untuk mengadvokasi open source dalam industri perangkat lunak yang lebih besar. OSI mencoba dan gagal untuk merek dagang istilah open source pada tahun 1999; Namun demikian, Definisi Sumber Terbuka formal mereka, berdasarkan konsensus, merupakan kerangka kerja yang diikuti oleh semua lisensi yang menyebut dirinya open source. Selain kebebasan untuk memeriksa, memodifikasi, dan mendistribusikan ulang kode yang telah kita diskusikan, Definisi Sumber Terbuka melarang lisensi yang mendiskriminasi kelompok atau orang tertentu, yang mencegah kode digunakan untuk tujuan atau bidang usaha tertentu, atau dari berjalan di perangkat atau jenis perangkat tertentu.

Pengembangan sumber terbuka dan proyek sumber terbuka

Pengembangan menggunakan kode sumber terbuka terjadi di semua jenis lingkungan, dari universitas hingga perusahaan besar, dan seringkali mengikuti pola yang sama seperti jenis pengembangan perangkat lunak lainnya. Tapi ada proses pengembangan komunitas terbuka tertentu yang terkait dengan open source. Dalam esainya yang berpengaruh "The Cathedral and the Bazaar", Eric S. Raymond menguraikan visinya untuk proses ini, di mana siapa pun dapat mengakses kode, dan pembaruan ditambahkan ke basis kode dari grup pengembang yang didistribusikan secara luas yang masuk dan keluar sebagai minat mereka menentukan.

Pengembangan sumber terbuka jenis ini diatur seputar proyek sumber terbuka . Ini terkadang bekerja pada satu perangkat lunak dan terkadang satu set aplikasi terkait. Perangkat lunak kontrol versi menjaga kontribusi semua orang sejalan. GitHub mungkin yang paling populer.

Terkadang dimulai oleh satu orang, proyek sumber terbuka umumnya diatur sendiri, komunitas internet kecil, dan meskipun siapa pun dapat berkontribusi untuk proyek apa pun, sebagian besar biasanya dikerjakan oleh sekelompok kecil pengembang. Terkadang sebuah proyek dapat disponsori oleh perusahaan nirlaba yang berencana untuk menggunakan perangkat lunak yang diproduksinya, bahkan sampai menempatkan pengembang proyek yang paling menonjol dalam daftar gaji.

Contoh open source

Perangkat lunak open source sebenarnya ada di mana-mana dan menciptakan banyak fondasi Internet modern. Mungkin proyek open source paling terkenal adalah Linux, varian Unix open source yang menggerakkan jutaan server. Proyek terkemuka dan sangat penting lainnya termasuk server web Apache, database MySQL, dan WordPress. Banyak kerangka kerja pengembangan dirilis sebagai sumber terbuka, dari Ruby on Rails hingga .Net Core Microsoft.

Open source kurang berhasil dalam memproduksi perangkat lunak komputer rumahan yang ditujukan untuk pengguna biasa. Terlepas dari biaya tinggi paket perangkat lunak berpemilik seperti Microsoft Word dan Adobe Photoshop, mitra open source seperti OpenOffice dan GIMP tidak pernah berhasil menemukan ceruk di luar penggemar berat, sebagian besar karena komunitas open source secara tradisional memprioritaskan fitur dan fleksibilitas daripada kemudahan menggunakan. (Penguncian format file dari vendor berpemilik tidak membantu.) Bahkan Linux, yang pendukungnya telah mengklaim sejak akhir 1990-an bahwa OS open source hanya satu tahun lagi dari mendominasi desktop, tidak pernah benar-benar berhasil melompat ke ruang konsumen. Secara umum, open source digunakan untuk infrastruktur jauh lebih banyak daripada untuk perangkat lunak pengguna akhir.Namun perpindahan dari perangkat lunak monolitik yang Anda jalankan secara lokal ke aplikasi SaaS telah menjadi keuntungan bagi open source, karena infrastruktur berbasis cloud sebagian besar didasarkan pada tumpukan yang didominasi oleh open source.

Ingat apa yang kami katakan tentang perusahaan nirlaba yang mendukung open source? Seringkali proyek tersebut diproduksi di bawah lisensi permisif, sehingga perusahaan tersebut dapat menempatkan kode sumber terbuka sebagai inti dari penawaran kepemilikan mereka sambil mempertahankan basis kode sumber terbuka yang terpisah secara paralel sebagai proyek komunitas. Misalnya, OS seluler Android memiliki Linux sebagai intinya; semua OS seluler dan desktop Apple didasarkan pada Darwin, sistem operasi sumber terbuka yang aslinya berasal dari BSD Unix. Bahkan Google Chrome didasarkan pada browser sumber terbuka yang disebut Chromium.

Komunitas open source dan gerakan open source

Open source lebih dari sekedar proses pengembangan; itu adalah filosofi yang disukai banyak orang, dan ini adalah komunitas sosial yang dapat diikuti oleh siapa pun yang memiliki keterampilan pemrograman. Faktanya, ini adalah serangkaian komunitas, seperti yang dikatakan oleh Linux Foundation. (Keberadaan lembaga nonprofit seperti Linux Foundation dan OSI merupakan aspek penting dari komunitas tersebut.) Florian Effenberger memiliki esai yang bagus tentang bagaimana komunitas open source memperkaya hidupnya.

Anda pasti sering mendengar orang berbicara tentang gerakan open source atau perangkat lunak bebas, yang memiliki konotasi politik dan advokasi. Banyak orang di komunitas open source telah mendorong adopsi perangkat lunak open source secara luas karena berbagai alasan: Mereka berpikir open source menghasilkan kode yang secara inheren lebih baik, atau mereka berpikir akses ke kode sumber adalah hak mendasar yang harus dinikmati pengguna komputer, atau kombinasi keduanya. Aspek komunitas ini tampaknya sedikit kurang terlihat saat ini, tetapi mungkin itu karena, dalam banyak hal, open source menang. Kembali pada tahun 2001, CEO Microsoft saat itu Steve Ballmer mengatakan bahwa, karena lisensi open source-nya, Linux adalah "kanker yang melekatkan dirinya dalam arti kekayaan intelektual ke semua yang disentuhnya." Saat ini, Microsoft adalah pengguna dan produsen perangkat lunak open source yang ekstensif.Singkatnya, itulah dua dekade terakhir dari sejarah open source.

Unduhan perangkat lunak sumber terbuka

Ingin mulai menjelajahi dan mengutak-atik proyek open source? Lihat halaman Proyek dan Aplikasi opensource.com, tab Jelajahi GitHub, atau Peta Perangkat Lunak Jaringan Pengembangan Sumber Terbuka. Ada banyak orang yang ingin tahu dari tingkat keahlian apa pun.