Sumber terbuka terbuka. Apa itu open source dan mengapa penting untuk cryptocurrency dan open blockchain. Paket kantor terbuka

Bagaimana program komputer dibuat

Program komputer adalah daftar instruksi yang diberikan ke komputer untuk membuatnya melakukan tugas atau rangkaian tugas tertentu. Komputer tidak mengerti bahasa Inggris, jadi pemrogram harus mengkomunikasikan instruksi ini ke komputer dalam bahasa yang dimengerti komputer. Komputer, bagaimanapun, hanya dapat bekerja dengan angka, yang membuat bahasa komputer sangat sulit dipahami manusia.

Solusi untuk masalah ini adalah membuat bahasa perantara yang dapat dipahami oleh manusia dan komputer. Inilah yang disebut bahasa pemrograman. Pemrogram membuat daftar instruksi untuk komputer dalam bahasa pemrograman seperti C, Pascal, atau Fortran. Daftar instruksi ini dikenal sebagai kode sumber. Ini bersifat tekstual dan dapat dibaca oleh orang - orang yang berbicara bahasa tersebut. Pemrogram melakukan semua pekerjaannya dalam kode sumber ini, memodifikasi instruksi untuk memperbaiki bug, menambah fitur, atau mengubah penampilan program.

Ketika seorang programmer mengira dia telah menyempurnakan instruksi untuk programnya, dia menggunakan program khusus yang disebut kompiler untuk menerjemahkan teks yang dapat dibaca manusia menjadi angka yang dapat dibaca mesin yang sesuai dengan instruksi yang sama. File yang dihasilkan dapat digunakan di komputer, tetapi tidak dapat dipahami oleh manusia. Ini disebut kode objek. Eksekusi yang dihasilkan sering disebut sebagai biner, setelah sistem bilangan yang digunakan oleh komputer. Terjemahan dari kode sumber ke kode objek biner ini adalah proses satu arah. Tidak mungkin menerjemahkan biner yang dapat dieksekusi kembali ke kode sumber.

Dapat dieksekusi- apa yang Anda butuhkan jika Anda ingin menjalankan dan menggunakan program ini. Ini biasanya yang Anda dapatkan saat membeli perangkat lunak yang dibungkus plastik dari toko ritel. Kode sumber adalah yang Anda butuhkan jika Anda ingin memahami cara kerja program secara internal, atau jika Anda ingin mengubah, menambah, atau meningkatkan program. Jika Anda memiliki kode sumber dan kompiler yang sesuai, Anda dapat membuat biner yang dapat dieksekusi, tetapi kebalikannya tidak benar.

Apa itu Sumber Terbuka?

Perangkat lunak yang hanya tersedia dalam format yang dapat dieksekusi biner adalah hak milik.

Perangkat lunak sumber terbuka adalah perangkat lunak berhak cipta yang didistribusikan sebagai kode sumber di bawah perjanjian lisensi yang memberikan hak khusus kepada pengguna perangkat lunak, hak yang biasanya dilindungi oleh pencipta. Lisensi ini memungkinkan semua pengguna untuk membuat dan mendistribusikan salinan biner dari perangkat lunak dan kode sumber tanpa izin tertulis dari penulis. Selain itu, memungkinkan pengguna untuk memodifikasi kode sumber dan mendistribusikan ulang salinan yang dimodifikasi.

Apa artinya ini

Anda bertanya-tanya mengapa Open Source itu penting.Kepentingan dari hal ini terletak pada kenyataan bahwa setiap pemrogram di mana pun di dunia dapat melihat kode sumber, memperbaiki bug, menambahkan fitur baru, dan menyesuaikan sistem tanpa batasan. Beginilah cara Linux dirancang sejak awal, dan inilah mengapa Linux adalah sistem yang sangat stabil dengan sedikit bug, dukungan perangkat keras yang luas, dan rangkaian fitur yang tumbuh sangat cepat sehingga membuat vendor sistem operasi berpemilik cemburu. Fakta bahwa kode sumber terbuka untuk ditinjau oleh para ahli di seluruh dunia memastikan bahwa setiap masalah ditemukan dan diselesaikan dengan cepat, dan perbaikan dapat didistribusikan tanpa batasan. Ini jauh lebih efisien dan efektif daripada mengandalkan korporasi untuk menjejalkan "paket layanan" di suatu tempat ke dalam jadwal rilisnya yang ketat. Lagi pula, mereka tidak dibayar untuk paket layanan.

Yang paling penting adalah perangkat lunak open source dimiliki oleh komunitas. Ini adalah perangkat lunak yang dikelola oleh komunitas orang (atau perusahaan) yang menggunakannya. Ini tersedia secara bebas di Internet dan siapa saja dapat menggunakannya. Lebih penting lagi, pengguna didorong untuk memperbaikinya. Dengan berbagi peningkatan dan ide kami, dan menyatukan sumber daya kami dengan ribuan bahkan jutaan orang di seluruh dunia melalui Internet, komunitas open source dapat membuat perangkat lunak yang kuat, stabil, dan andal dengan biaya yang sangat murah.

Tetapi komunitas open source lebih dari sekedar orang yang menulis perangkat lunak. Setiap orang yang menggunakan perangkat lunak berpartisipasi dalam komunitas nyata dan memiliki suara. Anda tidak perlu menjadi programmer. Dengan hanya melaporkan bug kepada pembuat program atau menulis artikel panduan sederhana, Anda berkontribusi pada komunitas dan membantu meningkatkan perangkat lunak. Perangkat lunak open source ditulis, didokumentasikan, didistribusikan, dan dipelihara oleh orang yang menggunakannya. Ini berarti peka terhadap kebutuhan Anda dan bukan kebutuhan korporasi yang mencoba menjualnya kepada Anda.

Tentu saja, banyak perusahaan juga berkontribusi dalam pengembangan perangkat lunak open source dengan membuat karya mereka tersedia untuk seluruh komunitas karena mereka mengetahui manfaat Open Source. Perangkat lunak yang didukung oleh seluruh komunitas pada dasarnya lebih baik dan lebih stabil, dan semakin banyak perusahaan mulai menghargai fakta ini.

Intinya adalah perangkat lunak sumber terbuka ditulis oleh orang yang menggunakannya setiap hari, orang yang memiliki kepentingan pribadi untuk membuatnya berfungsi dan bekerja dengan baik. Mereka tidak mencoba menambahkan fitur kata kunci, mereka mencoba meningkatkan kualitasnya. Mereka tidak menghabiskan waktu dan uang untuk mencoba meyakinkan orang bahwa perangkat lunak mereka hebat, mereka menghabiskannya untuk mencoba membuat perangkat lunak mereka hebat.

Sumber daya

"Sumber Terbuka" adalah frasa merek dagang yang menjelaskan lisensi perangkat lunak yang memenuhi definisi Sumber Terbuka. Merek dagang dikelola oleh Open Source Initiative, sebuah organisasi kolaboratif yang meluncurkan Linux dan gerakan perangkat lunak bebas. Hanya perangkat lunak yang memenuhi kriteria yang dijelaskan dalam definisi open source yang dapat menyebut dirinya open source.

Jauh sebelum istilah "sumber terbuka" mulai digunakan, ada komunitas orang yang berkomitmen pada gagasan "Perangkat Lunak Bebas", sebuah frasa yang tidak merujuk pada biaya, tetapi pada kebebasan untuk menggunakan dan memodifikasinya (pikirkan kebebasan seperti dalam "kebebasan berbicara", bukan "bir gratis"). Komunitas ini masih aktif mempromosikan cita-cita perangkat lunak bebas. Untuk mempelajari lebih lanjut tentang ini, Anda dapat mengunjungi The Free Software Foundation https://www.fsf.org/.

Untuk diskusi mendetail tentang bagaimana dan mengapa perangkat lunak open source dikembangkan, bacalah esai bagus "The Cathedral and the Bazaar" oleh Eric S. Raymond.

Jika Anda sedang mempertimbangkan perangkat lunak open source untuk bisnis Anda, Anda harus mengunjungi The Open Source Initiative untuk mempelajari lebih lanjut. Lihatlah dan temukan bagaimana komunitas open source dapat meningkatkan stabilitas, skalabilitas, dan kekuatan bisnis Anda sambil benar-benar memangkas biaya.


Sebagian besar perangkat lunak yang digunakan didistribusikan dalam bentuk terkompilasi. Ini menunjukkan bahwa kode sumber dari program semacam itu melewati kompiler khusus yang mengubahnya menjadi bahasa yang dapat dimengerti oleh komputer. Pada gilirannya, perangkat lunak yang menggunakan sumber terbuka, adalah kebalikannya.

Kode semacam itu, sebagai aturan, didistribusikan bersama dengan versi program yang dikompilasi, yang memungkinkan untuk memodifikasi atau meningkatkannya dengan segala cara agar dapat melakukan berbagai tugas yang lebih luas. Pengembang program semacam itu percaya bahwa seiring waktu, sumber terbuka akan memungkinkan produk perangkat lunak menjadi lebih berguna dan menghilangkan banyak kesalahan.

Ada beberapa kriteria kelayakan untuk program sumber terbuka:

  • distribusi gratis paket perangkat lunak, tetapi pada saat yang sama dapat menjadi bagian dari proyek komersial;
  • aplikasi wajib dari kode sumber;
  • kemampuan siapa saja untuk mengedit kode sumber;
  • kemampuan untuk mendistribusikan versi program yang dimodifikasi;
  • tidak boleh ada persyaratan untuk mengecualikan perangkat lunak lain atau mengganggu pengoperasiannya.

Mari pertimbangkan salah satu contoh perangkat lunak paling mencolok yang menyertai kode sumber terbuka yang telah didistribusikan ke seluruh dunia. Pada awal 1990-an, siswa Finlandia Linus Torvalds mengembangkan yang sama sekali baru sistem operasi, berdasarkan Unix, yang sekarang dikenal sebagai linux. Sistem ini dirilis di bawah perjanjian lisensi Lisensi Publik Umum GNU, yang memuat definisi open source dari sudut pandang hukum. Cukup sejumlah besar programmer mulai menggunakan dan meningkatkan sistem operasi ini. Setelah mengumpulkan peningkatan dari pemrogram di seluruh dunia menjadi satu kesatuan, pada tahun 1994 Linus Torvalds merilis Linux versi 1.0. Sebelumnya, penomoran versi dilakukan mulai dari nol.

Seiring waktu, ada kekhawatiran konsumen secara umum terkait kurangnya garansi, serta dukungan teknis untuk perangkat lunak tersebut. Jadi Red Hat Software membuat paket perangkat lunak Resmi Red Hat Linux yang berhasil mereka jual. Fitur paling signifikan dari sistem operasi yang dapat dipasarkan adalah garansi dan dukungan teknis, yang tak kalah pentingnya.

Beberapa perusahaan lain juga mengembangkan versi baru Linux untuk dijual, dan paket-paket ini adalah tambahan dilengkapi dengan berbagai perangkat lunak, di antaranya: browser Internet Mozilla, dibuat di kernel Netscape, server web Apache, bahasa untuk menyiapkan skrip web Perl, format grafik file PNG dan banyak lagi. Selain itu, ada versi paket perangkat lunak terdaftar yang dikembangkan untuk sistem operasi. Sistem Windows dan Android. Ini menunjukkan bahwa program open source tersedia tidak hanya untuk komputer, tetapi juga untuk perangkat seluler.

Kesimpulannya, perlu dikatakan bahwa program yang disertakan dengan kode sumber terbukanya memiliki sejumlah kelemahan. Pertama-tama, ini berbagai versi, akibatnya penyempurnaan satu program dapat menyebabkan pembuatan paket perangkat lunak independen baru. Hal kedua yang ditekankan adalah penggunaan pengguna program usang , di mana beberapa kesalahan mungkin tidak diperbaiki, tidak mungkin bekerja dengan format file baru, dan seterusnya. Contoh kasus seperti itu adalah programnya Microsoft Word dan OpenOffice. Jika beberapa rumus rumit ditulis di paket pertama, maka paket kedua tidak bisa membacanya.

Juga di antara perangkat lunak open source tidak ada yang disebut paket khusus untuk pembukuan dan pelaporan. Kelemahan lain terkait langsung dengan perangkat keras, faktanya saat beralih dari Windows ke Linux, harus diperhatikan bahwa driver Linux tidak ada untuk semua model perangkat komputer, yang akan menyebabkan sistem tidak berfungsi.

Namun, jangan lupakan aspek positif dari perangkat lunak tersebut, karena open source memiliki banyak manfaat. Pertama, semua perangkat lunak open source didistribusikan gratis. Kedua, seperti itu program muncul lebih cepat kadang-kadang komersial karena beberapa ribu orang terlibat dalam pengembangan sekaligus, dan tidak setiap perusahaan mampu membayar pekerjaan beberapa ribu programmer. Hal terakhir yang perlu diperhatikan adalah kekhawatiran opsi pemecahan masalah cepat, berkat program sumber terbuka yang bekerja lebih stabil daripada program komersial.

Perangkat lunak sumber terbuka (OSS) adalah perangkat lunak komputer yang didistribusikan dengan kode sumbernya tersedia untuk dimodifikasi. Umumnya, perangkat lunak menyertakan lisensi bagi pemrogram untuk memodifikasi perangkat lunak dengan cara apa pun. Mereka dapat memperbaiki bug, meningkatkan fitur, atau mengadaptasi perangkat lunak agar sesuai dengan kebutuhan mereka. Open Source Initiative (OSI) adalah badan terkemuka di bidang OSS; definisi mereka tentang perangkat lunak open source sesuai dengan aturan pada 10 kriteria.

Ini termasuk:

  • Distribusi Perangkat Lunak
  • Ketersediaan Kode Sumber
  • Distribusi lisensi
  • Properti Lisensi
  • Anti-diskriminasi

Lisensi

Lisensi yang berbeda memungkinkan pemrogram untuk memodifikasi perangkat lunak dengan ketentuan yang berbeda. OSI menyetujui lisensi yang memenuhi definisi perangkat lunak open source mereka. 5 lisensi terpopuler menurut Basis Pengetahuan Bebek Hitam:

  1. lisensi MIT
  2. Lisensi Publik Umum GNU (GPL) 2.0
  3. Lisensi Apache 2.0
  4. Lisensi Publik Umum GNU (GPL) 3.0
  5. Lisensi BSD 2.0 (3-klausa, baru atau direvisi)

Saat Anda mengubah kode sumber, salah satu persyaratan OSS adalah menyertakan apa yang telah Anda ubah serta metode Anda. Perangkat lunak yang dibuat setelah modifikasi kode dapat berupa freeware atau freeware.

Perbedaan antara perangkat lunak open source dan komersial

Perangkat lunak yang tersedia secara komersial atau perangkat lunak berpemilik tidak menyediakan akses ke kode sumbernya karena perangkat lunak tersebut adalah milik orang lain hak milik intelektual.

Akibatnya, pengguna sering membayarnya.

OSS, di sisi lain, adalah upaya kolaboratif - perangkat lunak adalah kekayaan intelektual bersama di antara semua orang yang membantu mengembangkan atau memodifikasinya.

Perangkat Lunak Sumber Terbuka Vs. Perangkat lunak gratis

Berlawanan dengan kepercayaan populer, tidak satupun dari mereka berfokus pada biaya atau kerugian dari program ini.

Open Source memerlukan ketersediaan kode sumber dan distribusi gratis. Perangkat lunak bebas, dengan cara yang sama, mencakup modifikasi kode, tetapi menekankan bahwa pengguna yang menyukai perangkat lunak bebas suka melakukan apa yang mereka sukai. Free Software Foundation menjabarkan 4 syarat agar perangkat lunak dianggap benar-benar gratis.

Selain itu, software tersebut dapat digolongkan sebagai freeware. Ini berarti pengguna mengunduh perangkat lunak secara gratis, tetapi tidak dapat membuat perubahan apa pun pada kode sumbernya.

Manfaat Perangkat Lunak Sumber Terbuka

Sementara biaya adalah kekuatan pendorong, OSS memiliki beberapa manfaat tambahan:

  • Hasil berkualitas tinggi saat kode sumber dibagikan, diuji, dan diperbaiki.
  • Ini adalah kesempatan belajar yang berharga bagi programmer. Mereka dapat mempelajari dan menerapkan keterampilan untuk program paling populer yang tersedia saat ini.
  • Banyak yang menganggap perangkat lunak sumber terbuka lebih aman daripada perangkat lunak berpemilik karena bug diidentifikasi dan diperbaiki dengan cepat.
  • Karena perangkat lunak open source berada dalam domain publik, kecil kemungkinannya menjadi tidak dapat diakses. Ini penting untuk proyek jangka panjang yang mengandalkan alat ini selama durasi proyek.
  • Sebagian besar perangkat lunak gratis. Namun, biaya mungkin timbul kemudian, seperti biaya langganan atau dukungan.

Jenis perangkat lunak open source yang populer

Teknologi open source telah banyak membantu menciptakan Internet.

Selain itu, banyak program yang Anda dan saya gunakan setiap hari didasarkan pada teknologi sumber terbuka. Misalnya, OS Android dan Apple OS X masing-masing berbasis kernel dan open source Unix/BSD.

Perangkat lunak open source populer lainnya:

  • Peramban web Mozilla Firefox
  • Klien surat Thunderbird
  • Bahasa Skrip PHP
  • bahasa pemrograman Python
  • Server web server Apache
  • > Sumber Terbuka dan Pengembang

Proyek OSS adalah peluang kolaborasi yang meningkatkan keterampilan dan membangun koneksi di lapangan. Pengembang harus terbiasa dengan alat pengembangan sumber terbuka standar.

Alat komunikasi

  • - Surel, perpesanan waktu nyata, forum, dan wiki membantu pengembang menemukan solusi atau saling bertukar ide. Sistem kontrol versi terdistribusi
  • - Ketika banyak pengembang di lokasi geografis yang berbeda mengubah data dan file, sistem ini mengelola versi dan pembaruan yang berbeda. Pelacakan bug dan daftar tugas
  • - Izinkan proyek skala besar untuk memantau masalah dan melacak perbaikannya. Alat Pengujian dan Debugging
  • - Otomasi pengujian selama integrasi sistem dan debugging program lain. Kesimpulan

Ribuan proyek sumber terbuka memberikan alternatif untuk perangkat lunak berpemilik. Bekerja pada proyek OSS sebagai jalan menuju karir dalam pengembangan perangkat lunak. Selain itu, programmer dapat mengasah keterampilannya dengan mengerjakan produk perangkat lunak terbesar di dunia. Facebook, Google, dan LinkedIn sebagai Sumber Terbuka, sehingga pengembang dapat berbagi pengetahuan, mengimplementasikan solusi, dan berkontribusi pada produk fungsional yang stabil.

Banyak orang membeli berbagai perangkat lunak atau menggunakan versi bajakan yang diretas. Pengguna melihat antarmuka grafis program, tetapi kode untuk produk ini biasanya disembunyikan. Dalam hal ini, hampir tidak mungkin untuk mengubah perangkat lunak, yang menjamin perlindungan penulis dari mereka yang ingin menyalin kode program dan menetapkannya sendiri. Namun, meskipun demikian, semakin banyak yang disebut program "Sumber Terbuka". dunia modern. Mari kita pahami apa itu program open source dan apa sisi positif dan negatifnya.

Apa yang bisa dianggap open source?

Hampir semua perangkat lunak telah mencapai pengguna akhir sebagai perangkat lunak siap pakai. Ini adalah program yang cukup fungsional dengan antarmuka yang bagus dan mudah digunakan. Jika kode produk ini terbuka, siapa pun dapat mengubahnya, menawarkan opsi mereka sendiri untuk memperbaiki bug yang ditemukan, atau membuat semacam inovasi. Dengan demikian, kualitas produk ini meningkat dari waktu ke waktu. Contoh sistem operasi open source adalah linux, Unix, ubuntu.

Semua orang akrab dengan kantor Microsoft , yang analog, tetapi sudah open source, adalah kantor terbuka. Browser Mozilla Firefox dan Google Chrome juga perangkat lunak sumber terbuka. Ada banyak produk serupa, banyak yang menggunakan perangkat lunak dalam jumlah besar dan tidak curiga bahwa semua ini mungkin merupakan program Open Source.

Fitur sumber terbuka

Agar perangkat lunak disebut program, tidak cukup kodenya terbuka untuk semua orang. Program seperti itu seharusnya benar-benar gratis. Selain itu, dengan penggunaan lebih lanjut dan upaya untuk mengubah kode, pengguna juga tidak perlu membayar apapun. Siapapun berhak untuk mendistribusikan produk ini secara bebas, dan, sebagaimana disebutkan di atas, mengubahnya. Program semacam itu tidak memiliki batasan ruang lingkup dan ketentuan penggunaan. Mereka dapat digunakan untuk melakukan bisnis, penelitian, pendidikan, digunakan untuk keperluan Anda sendiri dalam waktu yang tidak terbatas.

Lisensi Perangkat Lunak Sumber Terbuka

Lisensi program semacam itu juga gratis. Sama sekali tidak ada batasan pada aplikasi, modifikasi, distribusi, penggunaan dengan perangkat lunak lain yang kompatibel. Juga, secara teknologi netral untuk semua program lain yang ada.

Pro dan Kontra Program Sumber Terbuka

Berbeda dengan klasik program berlisensi, dikembangkan oleh sekelompok programmer gratis, itulah sebabnya mereka gratis.

Keuntungan penting kedua adalah kita bisa meng-upgrade data program. Pemrogram yang baik, setelah memahami kodenya, dapat menambahkan opsi baru ke program atau meningkatkan fungsi fungsi yang ada. Misalnya, pengguna macOS tidak dapat mengubah sistem operasinya, tidak seperti linux, yang tidak hanya dapat disesuaikan oleh setiap orang atas kebijakannya sendiri, tetapi juga menambahkan fungsi individual apa pun. Alhasil, ia akan mendapatkan produk yang benar-benar baru, yang sangat nyaman digunakan. Jika program yang dihasilkan benar-benar bagus, maka bisa dipatenkan bahkan dijual (!)

Keuntungan lain yang tak terbantahkan dari program ini adalah perlindungannya dari virus. Hampir semua virus ditulis untuk aplikasi Windows, dan malware pada saat yang sama linux jumlah yang dapat diabaikan. Dengan demikian, kemungkinan terkena virus menggunakan sistem operasi open source sangat kecil.

Saat ini, banyak organisasi beralih ke penggunaan perangkat lunak sumber terbuka. Ini mengurangi biaya dan meminimalkan kemungkinan peretasan sistem.

Tapi medali apa pun, seperti yang Anda tahu, memiliki dua sisi, kami akan memberi tahu tentang kontra dari open source program.

Jika Anda memiliki masalah dengan perangkat lunak, Anda biasanya menghubungi dukungan teknis. Perangkat lunak sumber terbuka tidak memilikinya. Masalah ini muncul karena program tersebut telah dimodifikasi oleh programmer yang berbeda dari seluruh negara atau bahkan dunia. Jadi, Anda harus mencari solusi untuk masalah di ruang terbuka jaringan. Internet atau mencari tahu sendiri.

Minus kedua muncul lagi karena siapa pun dapat mengubah kode program. Seringkali pandangan orang tidak sesuai, dan ini menyebabkan konflik dalam modifikasi produk. Hal ini dapat menyebabkan runtuhnya proyek yang telah lama dikerjakan banyak orang.

Juga di bawah sumber terbuka sering menyamar malware, membedakannya dari perangkat lunak yang benar-benar aman terkadang bisa sangat sulit.

Terlepas dari kenyataan bahwa program semacam itu memiliki beberapa kekurangan, semakin banyak pengguna yang tertarik padanya. Semakin banyak produk saat ini dibuat dengan open source. Artinya, program semacam itu memiliki masa depan dan patut untuk diperhatikan.