Perbedaan antara perangkat lunak bebas dan sumber terbuka. Apa itu open source dan mengapa penting untuk cryptocurrency dan open blockchain

Sumber terbuka dan perangkat lunak bebas
07.07.2009 12:25

Di antara programmer ada orang yang siap memberikan hasil pekerjaannya secara gratis, bersamaan dengan kesempatan untuk mengubah dan memperbaikinya. Ini tentang tentang produsen apa yang disebut perangkat lunak sumber terbuka, yang selama bertahun-tahun telah menjadi subyek kontroversi di komunitas TI global. Beberapa mengatakan bahwa perangkat lunak open source adalah masa depan, sementara yang lain, sebaliknya, menganggapnya berbahaya dan tidak perlu. Tapi siapa yang benar pada akhirnya? Hampir tidak ada jawaban pasti untuk pertanyaan ini.

Jadi apa itu perangkat lunak sumber terbuka? Mungkin definisi paling umum dari istilah ini mengungkapkan ciri-ciri utamanya. Perangkat lunak sumber terbuka adalah semua perangkat lunak sumber terbuka, produk perangkat lunak berdasarkan yang tersedia tidak hanya untuk dilihat, tetapi juga untuk modifikasi, yang memungkinkan Anda menggunakan kode yang sudah dibuat untuk menulis versi perangkat lunak baru, untuk perbaikan bug dan peningkatan sumber terbuka program. Perlu dicatat bahwa definisi ini, menurut pendukung open source, tidak sepenuhnya mencerminkan inti dari konsep tersebut. Dari sudut pandang mereka, perangkat lunak sumber terbuka, selain kode sumber yang tersedia untuk diedit, juga merupakan filosofi keseluruhan, yang artinya adalah menciptakan masyarakat informasi melalui penerapan komprehensif dari membuka program produk ny di semua bidang aktivitas manusia.

Apa keindahan perangkat lunak open source? Menurut perwakilan tren ini, perangkat lunak sumber terbuka memungkinkan:

  1. menyesuaikan produk perangkat lunak dengan kebutuhan pengguna atau kelompok pengguna tertentu;
  2. memperbaiki kesalahan pengembang sebelumnya;
  3. menyaring dan meningkatkan perangkat lunak.

Selain itu, sebagian besar perangkat lunak sumber terbuka gratis, yang sangat menarik bagi usaha kecil dan menengah yang, misalnya, saat ini tidak dapat menyediakan sendiri lisensi untuk produk perangkat lunak komersial. Selain itu, pendukung gagasan kode sumber terbuka menyoroti keamanannya sebagai keuntungan, yaitu perangkat lunak sumber terbuka, karena kurangnya popularitas, praktis tidak terkena serangan virus. Dan jika ancaman tetap terdeteksi, maka ancaman itu dihilangkan secepat mungkin, karena, biasanya, banyak profesional dan amatir yang tetap berhubungan satu sama lain memiliki akses ke kode sumber. Oleh karena itu, ancaman keamanan, yang telah terdeteksi, dengan cepat dihilangkan oleh salah satu anggota komunitas, atau dengan upaya bersama.

Perlu dicatat bahwa dalam pandangan global, perangkat lunak sumber terbuka mencakup perangkat lunak sumber terbuka langsung, serta jenis produk perangkat lunak lain yang dapat didistribusikan secara gratis dan menyediakan kode sumber untuk perubahan. Perangkat lunak tersebut termasuk program gratis (freeware) dan gratis (free software).

Jadi, istilah sumber terbuka (open source software) pertama kali digunakan pada tahun 1998 oleh programmer Eric Raymond (Eric Steven Raymond) dan Bruce Perens (Bruce Perens). Mereka yakin bahwa istilah perangkat lunak bebas (free software) dalam bahasa Inggris bersifat ambigu dan dalam arti tertentu bahkan dapat menakuti pengusaha yang merupakan pengguna potensial dari perangkat lunak tersebut. Open source sekarang menjadi merek dagang dari Open Source Initiative, yang mendistribusikan perangkat lunak open source. Selain itu, ada pula panitia khusus yang memutuskan apakah lisensi program tertentu bisa disebut open source.

Di sini perlu diklarifikasi bahwa sebagian besar perangkat lunak open source juga gratis. Definisi perangkat lunak open source dan perangkat lunak bebas, meskipun tidak persis sama, secara garis besar serupa, dan sebagian besar lisensi perangkat lunak cocok dengan keduanya.

Perbedaan antara open source dan perangkat lunak bebas terletak pada prioritasnya. Misalnya, pendukung open source menekankan untuk efisiensi bekerja dengan open source sebagai metode untuk mengembangkan, memodernisasi, dan memelihara program. Pendukung istilah "perangkat lunak bebas" percaya bahwa hak untuk mendistribusikan, memodifikasi, dan mempelajari program secara bebas adalah keuntungan utama dari perangkat lunak sumber terbuka gratis, dengan demikian memperbaiki kepenulisan produk perangkat lunak tertentu.

Pendiri konsep perangkat lunak bebas adalah programmer Amerika Richard Matthew Stallman. Dialah yang pertama kali merumuskan konsep perangkat lunak bebas, yang mencerminkan prinsip-prinsip pengembangan perangkat lunak terbuka dalam komunitas ilmiah yang berkembang di universitas-universitas AS pada tahun 1970-an. Stallman merumuskan kriteria yang jelas untuk perangkat lunak bebas. Kriteria ini menetapkan hak yang diberikan pembuat perangkat lunak bebas kepada pengguna mana pun. Jadi, dengan menggunakan perangkat lunak gratis, pengguna mendapat "empat kebebasan": menjalankan, mempelajari, mendistribusikan, dan meningkatkan program.

  • "Kebebasan nol" - program dapat digunakan untuk tujuan apa pun.
  • "Kebebasan pertama" - Anda dapat mempelajari cara kerja program dan menyesuaikannya untuk tujuan Anda sendiri. Kondisi untuk ini adalah ketersediaan kode sumber program.
  • "Kebebasan kedua" - Anda dapat mendistribusikan salinan program - untuk membantu pengembang.
  • "Kebebasan Ketiga" - program dapat ditingkatkan dan diterbitkan versi perbaikannya untuk memberi manfaat bagi seluruh komunitas. Syaratnya juga ketersediaan kode sumber program.

Program yang memenuhi semua prinsip ini dapat dianggap bebas, yaitu dijamin terbuka dan dapat diakses oleh komunitas ilmiah dan hanya untuk orang dan organisasi yang berkepentingan. Harus ditekankan bahwa prinsip-prinsip ini hanya mempengaruhi ketersediaan program untuk penggunaan umum, kritik dan perbaikan, tetapi tidak mengatur terkait dengan penyebaran program hubungan uang, termasuk tidak berarti gratis.

Cara kerja perangkat lunak bebas adalah produk perangkat lunak dan kode sumbernya secara default dilindungi oleh hak cipta, yang memberikan pemegang hak cipta kekuasaan penuh untuk mendistribusikan dan memodifikasi program, bahkan jika kode sumber tersedia untuk umum. Artinya, pencipta berhak, termasuk menjual produknya. Namun, sekali pengguna tidak disediakan hak untuk mendapatkan kode sumber program, memodifikasinya dan mendistribusikan selanjutnya, perangkat lunak tersebut menjadi hak milik - terlepas dari kondisi lainnya.

Mengenai ketentuan distribusi dan penggunaan program perangkat lunak bebas, penyalinannya sering kali dilarang, dan rekayasa balik, modifikasi, redistribusi diatur dalam perjanjian lisensi.

Namun, ada program yang menurut beberapa ahli termasuk dalam definisi terbuka, tetapi tidak gratis. Program semacam itu termasuk, misalnya, UnRAR, pengurai arsip RAR. Faktanya adalah kode sumbernya ada di domain publik, tetapi lisensi melarang penggunaannya untuk membuat pengarsipan yang kompatibel dengan RAR.

Tentu saja, fakta bahwa kategori perangkat lunak open source berbeda juga penting, karena melibatkan derajat kebebasan yang berbeda dalam kaitannya dengan tindakan pengguna. Pada saat yang sama, terkadang orang dapat mengamati perbedaan yang signifikan antara definisi perangkat lunak bebas dan sumber terbuka. Perangkat lunak sumber terbuka, yaitu perangkat lunak dengan kode sumber (terbuka) (Perangkat Lunak Sumber Terbuka), adalah metode pengembangan perangkat lunak di mana kode sumber program yang dihasilkan terbuka, yaitu tersedia untuk umum untuk dilihat dan dimodifikasi. Ini memungkinkan setiap orang untuk menggunakan kode yang sudah dibuat untuk kebutuhan mereka sendiri dan, mungkin, membantu dalam pengembangan program sumber terbuka. Perangkat lunak bebas adalah hak pengguna, tetapi bukan kewajiban produsen, karena Lisensi terbuka tidak mengharuskan perangkat lunak selalu disediakan secara gratis. Namun, banyak proyek open source yang paling sukses masih gratis.

Perangkat lunak open source juga merupakan fitur utama dari perangkat lunak bebas, sehingga istilah "Perangkat Lunak Sumber Terbuka" yang kemudian diusulkan oleh Eric Raymond tampaknya lebih cocok untuk fenomena perangkat lunak bebas daripada yang diusulkan Stallman pada masanya "perangkat lunak bebas".

Perhatikan bahwa manfaat pengembangan gratis bagi pengguna tidak boleh dibesar-besarkan. Tidak semua perangkat lunak bebas sama-sama tersedia untuk dimodifikasi oleh pengguna, yang, sebaliknya, tidak ada hubungannya dengan lisensi untuk distribusi mereka. Volume program memainkan peran penting: jika program berisi puluhan ribu baris (seperti, misalnya, di OpenOffice.org, analog dari Microsoft Office), maka spesialis yang berkualifikasi pun akan membutuhkan banyak waktu. untuk menemukan dan memperbaiki kesalahan. menghitung untuk pengembang, yang akan menanggapi semua komentar dan saran pengguna dan segera memperbaiki program, juga tidak mungkin, karena mereka tidak memikul kewajiban apa pun kepada pengguna terkait kualitas program. Dalam hal ini, pengguna program berpemilik mungkin berada pada posisi yang lebih baik.

Perlu dicatat bahwa semua peserta dalam proses perangkat lunak terbuka biasanya terlibat dalam program tertentu karena minat atau karena perangkat lunak ini adalah alat yang diperlukan bagi mereka untuk aktivitas apa pun. Waktu yang dihabiskan untuk mengembangkan program tidak dibayarkan oleh karena itu, tidak ada harapan bahwa keadaan tidak akan berubah, dan pembangunan tidak akan berhenti sama sekali. Ada kasus ketika pengembangan program dimulai berkat seorang penulis-penggemar yang menarik banyak orang untuk berpartisipasi di dalamnya, kemudian antusiasme pemimpin memudar, dan dengan itu pengembangan perangkat lunak dihentikan. Sayangnya, saat ini ada ribuan program gratis yang tidak pernah dapat mencapai versi yang berfungsi penuh. Selain itu, program mungkin diperlukan, tetapi tidak menarik, yang berarti tidak ada pengembang gratis untuk itu.

Tempat perangkat lunak bebas di pasar perangkat lunak saat ini sangat signifikan, dan banyak yang komersial dan negara bagian bisnis menggunakan perangkat lunak bebas secara langsung atau tidak langsung. Misalnya, semua pengguna Internet, meskipun secara tidak langsung, menggunakan program gratis Bind, yang menyediakan layanan DNS. Selain itu, banyak organisasi (khususnya, yang menyediakan layanan melalui World Wide Web) menggunakan server web Apache gratis, yang pengoperasiannya dapat secara langsung bergantung pada keuntungan perusahaan, belum lagi server pada platform Linux.

Manfaat menggunakan perangkat lunak bebas dan sumber terbuka sudah jelas: Anda biasanya tidak perlu membayarnya, dan jika Anda melakukannya, harganya jauh lebih murah daripada perangkat berpemilik. Kelemahan utama, dari sudut pandang pengguna komersial, adalah bahwa pengembang perangkat lunak bebas tidak memiliki kewajiban selain kewajiban moral. Artinya, mereka sebenarnya tidak bertanggung jawab atas kualitas perangkat lunak.

Misalnya, di salah satu lisensi publik (GNU) bahkan terdapat kata-kata standar yang menyatakan tidak adanya jaminan: “Program ini disediakan atas dasar “sebagaimana adanya”. Kecuali ditentukan lain secara tertulis, pencipta dan/atau pemegang hak cipta lainnya tidak menerima kewajiban jaminan apapun, baik tersurat maupun dan tersirat program, termasuk jaminan tersirat tentang kelayakan jual dan kesesuaian untuk tujuan tertentu, dan jaminan lainnya."

Omong-omong, saat ini sistem GNU, lebih dikenal sebagai GNU/Linux atau hanya Linux, cukup umum, terutama di pasar server, dan merupakan produk perangkat lunak yang lengkap. Ini terdiri dari sejumlah besar program proyek GNU (terutama utilitas sistem dan rantai alat GNU), kernel Linux - bagian dari sistem yang bertanggung jawab untuk menjalankan program lain, termasuk driver perangkat dan sejenisnya - dan berbagai program gratis lainnya .

Oleh karena itu, saat ini ada kecenderungan perusahaan IT besar seperti Intel, Oracle atau IBM mencoba mendukung proyek pengembangan perangkat lunak gratis dengan membayar pekerjaan karyawan proyek tersebut sehingga tingkat tanggung jawab pengembang berada pada tingkat yang tinggi. Mengapa mereka melakukan ini, karena perangkat lunak terbuka dan gratis bersaing untuk mereka? Jawabannya sederhana - mereka melihat ini sebagai keuntungan, yang mereka coba untuk tidak lewatkan, karena setiap hari banyak program berbasis perangkat lunak open source muncul, beberapa di antaranya nantinya dapat menjadi produk komersial yang kuat.

Ada beberapa lisensi utama yang saat ini digunakan untuk distribusi perangkat lunak bebas: Lisensi Publik AROS, Lisensi BSD, CDDL, Lisensi Publik Umum, Lisensi Dokumentasi Bebas GNU, Lisensi Publik Umum GNU, Lisensi Publik Umum GNU, Lisensi MIT, Lisensi Publik Mozilla, Direktori Terbuka Lisensi, dll. Semua lisensi gratis, dengan satu atau lain cara, dicirikan oleh kepatuhan terhadap prinsip-prinsip copyleft (copyleft adalah plesetan dari kata hak cipta). Sebaliknya Pendekatan hak cipta tradisional yang membatasi kebebasan untuk menyalin karya, prinsip copyleft menggunakan undang-undang hak cipta untuk memastikan bahwa tidak mungkin bagi siapa pun untuk membatasi hak untuk menggunakan, memodifikasi dan mendistribusikan baik karya itu sendiri maupun karya berdasarkan itu. Gagasan copyleft adalah bahwa siapa pun yang mendistribusikan suatu program, dengan atau tanpa perubahan, tidak memiliki hak untuk membatasi kebebasan distribusi atau modifikasi lebih lanjut. Copyleft menjamin bahwa setiap pengguna bebas dalam tindakannya.

Jumlah lisensi yang sesuai dengan Definisi open source (perangkat lunak terbuka), saat ini ada lebih dari lima puluh. Open Source adalah merek dagang dari Open Source Initiative. Ada panitia khusus yang memutuskan apakah sebuah lisensi bisa disebut open source. Salah satu situs web terbesar di dunia untuk pengembang sumber terbuka adalah portal terkenal SourceForge.net. Di situs ini, pengembang dapat memposting dan mengembangkan bersama proyek perangkat lunak mereka. Saat ini ada beberapa ratus ribu proyek yang dihosting di SourceForge.net, dan jumlah pengguna terdaftar melebihi satu juta.

Tentu saja, perangkat lunak terbuka dan bebas semakin menangkap audiens. Program sumber terbuka cukup berhasil digunakan oleh pengguna pribadi dan dan komersial organisasi negara dan publik. Perangkat lunak berbasis open source dan perangkat lunak bebas sudah digunakan sebagai pra-instalasi untuk beberapa model laptop dan netbook dari berbagai produsen. Selain itu, perangkat lunak open source secara bertahap menaklukkan pasar sistem otomasi untuk usaha kecil dan menengah.

Munculnya program-program kelas ini terkait dengan gagasan untuk membuat perangkat lunak yang bebas dari batasan peredaran. Pada tahun 1998, atas saran pengembang Amerika Bruce Perens dan Eric Raymond, Open Source Initiative dibuat.

(Inisiatif Sumber Terbuka, OSI). Gerakan ini mengembangkan dan menerbitkan "Definisi Perangkat Lunak Sumber Terbuka". kode program".

Lisensi perangkat lunak open source menyediakan kekuatan berikut:

  • 1) akses ke kode sumber;
  • 2) untuk mengubah program komputer;
  • 3) untuk mendistribusikan program yang dimodifikasi di bawah persyaratan yang sama dengan perangkat lunak yang diterima oleh penerima lisensi;
  • 4) penerima lisensi untuk menggunakan program komputer untuk tujuan yang dimaksudkan;
  • 5) untuk distribusi lebih lanjut oleh pengguna program tanpa pembayaran potongan dan remunerasi.

Sebagai kekuatan tambahan, lisensi perangkat lunak sumber terbuka dapat meliputi:

  • 1) uraian tentang perubahan yang dilakukan oleh masing-masing pemegang lisensi;
  • 2) penolakan untuk memberikan jaminan,
  • 3) penafian tanggung jawab atas kerusakan;
  • 4) pengaturan masalah paten;
  • 5) ketentuan mengenai kesesuaian lisensi ini dengan lisensi lainnya;
  • 6) pengaturan hak cipta dalam teks lisensi terbuka;
  • 7) indikasi perubahan yang dilakukan pada kode terbuka yang diterima;
  • 8) ketentuan tentang hukum yang berlaku dan pengadilan yang berwenang.

Namun, ini tidak berarti bahwa lisensi sumber terbuka harus disediakan secara gratis, mungkin ada opsi untuk penyediaan berbayar (misalnya, dukungan layanan berbayar atau lisensi komersial untuk menggunakan kode gratis untuk pengembangan perangkat lunak). Penggunaan program open source berarti kodenya terbuka, dapat diproses dan berdasarkan kode tersebut buat program Anda sendiri - sebuah "karya turunan". Perangkat lunak yang penggunanya tidak diberi hak untuk memodifikasi sumber terbuka adalah perangkat lunak tidak bebas, terlepas dari persyaratan lainnya.

Sejak Januari 2012, untuk pertama kalinya di Federasi Rusia, konsep program open source telah diperkenalkan, sebagai perangkat lunak yang didistribusikan berdasarkan ketentuan lisensi sederhana (lisensi non-eksklusif) atau eksklusif, yang memberi pengguna akses ke kode sumber program.

Lisensi open source yang berbeda memberikan hak dan kewajiban yang berbeda. Dalam beberapa lisensi untuk penggunaan program sumber terbuka, saat mendistribusikan program yang direvisi dan dimodifikasi, pembuat perubahan tersebut berkewajiban untuk menginformasikan tentang fungsi, prosedur apa dari program asli yang telah diubah atau baru dibuat. Tindakan tersebut diberikan untuk memberi tahu pengguna lain, agar tidak merugikan pembuat program asli jika program turunannya ternyata berkualitas buruk dan tidak berfungsi.

Konsep perangkat lunak bebas didasarkan pada empat kebebasan dasar:

  • 1) kebebasan untuk mereproduksi di komputer dan menjalankan program untuk tujuan apa pun;
  • 2) kebebasan untuk mempelajari pekerjaan program dan menyesuaikannya dengan kebutuhan pengguna;
  • 3) kebebasan untuk mereproduksi dan mendistribusikan salinan yang diterima dari perangkat lunak bebas;
  • 4) kebebasan untuk memperbaiki program, yaitu memodifikasinya dan mendistribusikannya dalam bentuk yang dimodifikasi.

Hanya program komputer yang memenuhi semua prinsip yang dapat dianggap sebagai perangkat lunak bebas. Kebebasan tersebut meliputi kebebasan untuk menentukan ganti rugi dari perjanjian lisensi tersebut atas penggunaan suatu program komputer. Dengan demikian, dapat dikatakan bahwa perangkat lunak bebas dapat didistribusikan dengan dasar yang dapat diganti, sambil menghormati kebebasan pengguna untuk mendapatkan kode sumber program, memodifikasinya, dan mendistribusikannya lebih lanjut.

Ada beberapa jenis lisensi open source berikut:

  • – Lisensi Publik Umum (GPL);
  • – Lisensi Perangkat Lunak Apache;
  • – Lisensi Berkeley Software Distribution (BSD);
  • – Dilisensikan oleh Massachusetts Institute of Technology (MIT);
  • – Lisensi Publik Mozilla (MPL), dll.

Arti umum dari GPL, BSD, MIT adalah untuk memperluas kekuatan pengguna program dan pada saat yang sama membebankan kepadanya beberapa kewajiban yang bukan merupakan karakteristik dari lisensi yang diatur oleh undang-undang Federasi Rusia dan negara asing. Namun saat ini, pengembangan perangkat lunak semacam itu sudah mulai didukung di Federasi Rusia. Selain itu, Konsep Reformasi Administrasi di Federasi Rusia dan Program Target Federal "Rusia Elektronik" diadopsi.

Mari daftar karakteristik utama perangkat lunak sumber terbuka.

1. distribusi gratis

Perjanjian lisensi tidak boleh membatasi hak untuk menjual atau mendistribusikan perangkat lunak yang merupakan komponen dari perangkat lunak gabungan yang menyertakan program dari sumber yang berbeda.

2. Sumber

Program harus berisi kode sumber, yang, seperti formulir yang dikompilasi, dapat didistribusikan kembali. Beberapa varian produk didistribusikan tanpa source code. Dalam hal ini, harus ada cara terkenal untuk mendapatkan kode sumber dengan harga yang wajar, atau kemampuannya tanda terima gratis melalui internet. Kode sumber harus dalam bentuk sedemikian rupa sehingga pemrogram dapat memodifikasi program. Kode sumber yang sengaja disamarkan, bentuk perantara seperti praprosesor atau perangkat keluaran penerjemah tidak diperbolehkan.

  • 3. produk sekunder. Perjanjian lisensi harus memberikan hak untuk memodifikasi dan mengembangkan produk turunannya sendiri, untuk mendistribusikan perangkat lunak dengan persyaratan yang sama dengan lisensi program aslinya.
  • 4. Pelestarian kode sumber penulis. Perjanjian lisensi dapat membatasi distribusi produk yang kode sumbernya telah dimodifikasi oleh pihak ketiga. Perjanjian tersebut memungkinkan distribusi file kode sumber terlampir untuk memodifikasi program pada saat pembuatan. Lisensi harus memberikan hak untuk mendistribusikan program Anda sendiri yang dibuat dengan memodifikasi kode sumber. Perjanjian lisensi dapat memuat persyaratan untuk mengubah nama perangkat lunak atau nomor versi karya turunan.
  • 5. Tidak ada batasan pada individu atau kelompok pengguna. Perjanjian lisensi harus tersedia untuk semua pemohon.
  • 6. Tidak ada batasan mengenai ruang lingkup. Perjanjian lisensi tidak boleh memuat pembatasan penggunaan program di bidang kegiatan tertentu, seperti penelitian komersial atau lainnya.
  • 7. Distribusi lisensi. Hak yang melekat pada program harus berlaku untuk semua yang menggunakannya. Tidak diperlukan lisensi tambahan untuk ini.
  • 8. Perjanjian lisensi tidak harus khusus untuk bagian dari produk. Hak yang diperoleh dengan paket perangkat lunak berlaku untuk setiap elemen paket perangkat lunak. Jika sebuah program diambil dari sebuah distribusi dan digunakan di luarnya, persyaratan perjanjian lisensi distribusi berlaku untuk program tersebut.
  • 9. Perjanjian lisensi tidak boleh memuat batasan pada perangkat lunak lain, yaitu perangkat lunak yang didistribusikan dengan perangkat lunak berlisensi. Lisensi juga tidak boleh memuat persyaratan untuk keterbukaan alat perangkat lunak yang tidak dibuat berdasarkan perjanjian lisensi ini.
  • 10. Lisensi harus netral teknologi. Persyaratan lisensi tidak boleh didasarkan pada teknologi individual dan gaya antarmuka.

Kepatuhan terhadap kondisi di atas saat membuat perjanjian lisensi memungkinkan untuk menilai program komputer sebagai perangkat lunak sumber terbuka.

Perangkat lunak sumber terbuka mirip dengan perangkat lunak bebas, tetapi dengan perbedaan yang signifikan - dalam kasus perangkat lunak bebas, hak eksklusif atas kode sumber tetap berada pada pemegang hak cipta program, dan dalam kasus perangkat lunak sumber terbuka, hak tersebut tidak dipertahankan oleh pemegang hak cipta program, tetapi hanya hak non-properti yang dipertahankan, baik pengembang asli maupun semua pengembang berikutnya.

Pada tahun 2006, di Federasi Rusia, berdasarkan Perintah No. 83 Kementerian Informasi dan Komunikasi Federasi Rusia tanggal 29 Juni 2006 "Tentang kegiatan Kementerian Informasi dan Komunikasi Rusia tahun 2006 untuk mengimplementasikan ketentuan utama dari Pidato Presiden Federasi Rusia kepada Majelis Federal Federasi Rusia", sebuah rencana aksi dikembangkan untuk mempromosikan pengembangan dan penggunaan perangkat lunak bebas (sumber terbuka) di otoritas publik. Rencana tersebut berisi kegiatan-kegiatan berikut:

  • 1) pengembangan persyaratan dan rekomendasi untuk penggunaan standar dan spesifikasi terbuka dalam pengembangan program komputer untuk kebutuhan negara bagian dan kota;
  • 2) evaluasi efektivitas biaya implementasi ISO/IEC 26300:2006 (format dokumen terbuka untuk aplikasi perkantoran);
  • 3) mengatur keikutsertaan perwakilan administrasi komunikasi Federasi Rusia dalam organisasi internasional untuk standardisasi di bidang teknologi informasi, serta memfasilitasi dan mengoordinasikan partisipasi perwakilan perusahaan Rusia dalam organisasi internasional untuk standardisasi (jika partisipasi dari badan negara dalam organisasi semacam itu tidak disediakan);
  • 4) pengembangan dan penerapan prosedur untuk memperoleh (termasuk menentukan ruang lingkup dan evaluasi) dan skema untuk mengelola hak atas perangkat lunak komputer yang diterima oleh pelanggan sebagai hasil dari pelaksanaan pekerjaan untuk kebutuhan negara bagian dan kota;
  • 5) menyempurnakan mekanisme pemantauan kondisi persaingan guna mengontrol penyediaan kondisi pasar yang setara bagi pengembang berbagai perangkat lunak;
  • 6) pengembangan konsep dan rencana aksi untuk meningkatkan level pendidikan kejuruan dan pelatihan pengguna di bidang teknologi komunikasi informasi;
  • 7) pengembangan daftar jenis (varietas) perangkat lunak gratis untuk komputer, kemanfaatan dan validitas penggunaan utamanya telah dibuktikan oleh praktik dunia dan (atau) diakui oleh sejumlah besar pelaku pasar, serta pengembangan pengklasifikasi lainnya untuk berbagai keperluan, termasuk untuk keperluan standardisasi;
  • 8) pengembangan konsep dan rencana aksi untuk pengembangan di Federasi Rusia, termasuk untuk kebutuhan negara bagian dan kota, model berorientasi layanan untuk distribusi program komputer.
  • anti korupsi;
  • keamanan;
  • perlindungan kepentingan nasional;
  • keramahan kepada warga negara;
  • kemudahan adaptasi;
  • manfaat ekonomi.

Kualitas program komputer tersebut sepadan dengan program komersial. Ini karena perangkat lunak ini diuji, diubah, ditingkatkan oleh semua orang, sehingga jumlah pengembang yang bekerja untuk meningkatkan program sama dengan staf pengembang perangkat lunak sumber tertutup komersial (dan dalam beberapa kasus secara signifikan melebihi jumlah mereka) .

Sisi positifnya, perangkat lunak semacam itu ternyata tidak hanya tersedia untuk umum, tetapi juga dapat diandalkan, dan kebebasan kreativitas pembuat perangkat lunak semacam itu lebih penting daripada remunerasi. Tentu saja, hak non-properti dalam lisensi tersebut harus dihormati, i. Bagi pembuat lisensi perangkat lunak open source terdistribusi, sangat penting untuk mengamati hak non-properti, seperti membubuhkan tanda perlindungan, tahun publikasi pertama, dan nama pencipta atau pemegang hak cipta lainnya.

Semua ini memungkinkan kami untuk mengatakan bahwa perangkat lunak open source mendapatkan popularitas besar, dan tidak hanya perusahaan terkemuka dunia seperti IBM dan Hewlett Packard, tetapi juga perusahaan Rusia termasuk yang menggunakan dan mengembangkan program ini, termasuk untuk pelanggan asing.

Keputusan Pemerintah Federasi Rusia tanggal 18 Oktober 2007 No. 1447-r menetapkan hak untuk menggunakan perangkat lunak apa pun dengan kode sumber terbuka di sekolah-sekolah Federasi Rusia. Pada tahun 2009, Federal Bailiff Service melaporkan pengenalan perangkat lunak open source - Open Office, untuk mengimplementasikan kebijakan negara di bidang penggunaan perangkat lunak bebas. "Pada bulan April - Mei 2009, sesi konferensi video diadakan dengan kepala badan teritorial Federal Bailiff Service of Russia menggunakan perangkat lunak gratis.

Untuk memposting informasi secara tepat waktu dan teratur di situs web resmi kantor pusat FSSP Rusia, untuk secara sistematis memberi tahu warga dan organisasi tentang kegiatan FSSP, Departemen Teknologi Informasi melakukan pekerjaan untuk menyelesaikan platform perangkat lunak dan desain situs , yang memungkinkan untuk memperluas fungsionalitas situs secara signifikan, meningkatkan konten informasi dan kehadiran".

Konsep pengembangan perangkat lunak bebas di Federasi Rusia melibatkan pembuatan produk-produk berikut sebelum tahun 2010:

  • 1) standar solusi kantor terintegrasi untuk pegawai negeri, serta pegawai sektor publik;
  • 2) solusi standar untuk memastikan pekerjaan lembaga pendidikan;
  • 3) perangkat lunak untuk titik akses kolektif ke Internet;
  • 4) perangkat lunak untuk situs Internet layanan publik;
  • 5) platform integrasi untuk tujuan e-government;
  • 6) solusi aman untuk fasilitas penting;
  • 7) pengembangan model berorientasi layanan untuk distribusi program komputer.

Saat ini, banyak poin yang disebutkan telah terpenuhi. Dengan demikian, spesifikasi perjanjian lisensi untuk penggunaan perangkat lunak open source ditentukan oleh ruang lingkup hak eksklusif yang dialihkan kepada penerima lisensi. Penting untuk dicatat bahwa seperti itu perjanjian lisensi tidak memengaruhi hak non-properti pribadi pembuat program dengan cara apa pun, terlebih lagi, mereka melindungi hak tersebut secara lebih luas. Program-program ini lebih andal dan aman, karena kode program dapat diperiksa dan, jika perlu, diprogram ulang, yang, dalam kerangka penerapan Doktrin Keamanan Informasi Federasi Rusia, serta Strategi Keamanan Nasional Rusia Federasi hingga tahun 2020, merupakan tugas mendasar untuk memastikan keamanan nasional. Dalam Strategi Keamanan Nasional, sarana untuk memastikan keamanan nasional meliputi, antara lain, teknologi, serta teknis, perangkat lunak, linguistik, hukum, sarana organisasi, termasuk saluran telekomunikasi yang digunakan dalam sistem keamanan nasional untuk mengumpulkan, membentuk, memproses, mengirim atau menerima informasi tentang keadaan keamanan nasional dan langkah-langkah untuk memperkuatnya.

Penggunaan program open source di wilayah Federasi Rusia tidak hanya akan mendiversifikasi program komputer, tetapi juga menambah jumlah pengembang, sehingga mengurangi jumlah pemonopoli. Selain itu, ini melambangkan perkembangan fenomena baru secara kualitatif dalam hubungan antara pembuat program komputer dan pengguna perangkat lunak open source di wilayah Federasi Rusia. Faktor positif lainnya adalah fakta bahwa fitur teritorial yang digunakan oleh hukum untuk hak eksklusif tidak ada dalam program open source. Dengan demikian, penggunaan kelas program semacam itu di wilayah Federasi Rusia akan berkontribusi pada penghapusan banyak pelanggaran hak cipta.

Dengan diperkenalkannya Standar Nasional Federasi Rusia GOST R 54593-201 pada tahun 2012, perangkat lunak gratis adalah platform yang aman, andal, dan menarik secara finansial untuk membangun sistem Informasi di perusahaan dan sektor publik. Perangkat lunak bebas menyediakan: kemandirian teknologi pengembangan dan penggunaan perangkat lunak dari perusahaan monopoli; kemandirian dalam memilih platform perangkat keras; biaya awal peralatan yang rendah; deteksi dini cacat pada perangkat lunak dan kemampuan untuk memperbaikinya dengan cepat; tidak ada pembayaran wajib untuk hak menggunakan produk.

Perangkat lunak bebas menggunakan prinsip sistem terbuka, yang saat ini menjadi trend utama perkembangan bidang teknologi informasi, sistem, serta teknologi komputer yang mendukung teknologi tersebut. Ideologi sistem terbuka diterapkan dalam perkembangan terbarunya oleh semua perusahaan terkemuka - pemasok peralatan komputer, transmisi informasi, perangkat lunak, dan pengembangan sistem informasi terapan.

Jadi, mari kita ungkapkan kekuatan yang ditransfer berdasarkan berbagai jenis lisensi untuk program komputer dengan kode sumber terbuka.

  • Lihat: Standar nasional Federasi Rusia GOST R 54593 201 "Teknologi informasi. Perangkat lunak bebas. Ketentuan umum", disetujui atas perintah Kementerian Perindustrian dan Perdagangan Federasi Rusia dan Badan Federal untuk Regulasi Teknis dan Metrologi tertanggal 6 Desember 2011 No.718-st.
  • Disetujui oleh Presiden Federasi Rusia pada 9 September 2000: lihat situs web Kementerian Luar Negeri Rusia mid.ru/ns-osndoc.nsf/d06bd3f5303124fe432569fa003a70ff/4db27 49a4b55f02f432569fb004872a4?OpenDocument.
  • Keputusan Presiden Federasi Rusia tanggal 12 Mei 2009 No. 537 "Tentang Strategi Keamanan Nasional Federasi Rusia hingga 2020".

Perangkat lunak open source adalah metode pengembangan perangkat lunak di mana kode sumber program yang dihasilkan terbuka, yaitu tersedia untuk umum untuk dilihat dan dimodifikasi. Ini memungkinkan setiap orang untuk menggunakan kode yang sudah dibuat untuk kebutuhan mereka sendiri dan, mungkin, membantu dalam pengembangan program sumber terbuka.

Lisensi "terbuka" tidak mengharuskan perangkat lunak untuk selalu disediakan secara gratis. Tetapi banyak dari proyek open source yang paling sukses adalah gratis.

Mayoritas membuka program pada saat yang sama bebas(GNU GPL) dan sebaliknya, karena definisi perangkat lunak open source dan perangkat lunak bebas hampir sama, dan sebagian besar lisensi cocok dengan keduanya.

perbedaan antara gerakan sumber terbuka Dan perangkat lunak gratis terutama tentang prioritas. Pendukung open source fokus pada efisiensi sumber terbuka program sebagai metode pengembangan. Para pendukung perangkat lunak bebas berangkat dari pertimbangan ideologis, dan percaya bahwa memang demikian adanya hak distribusi, modifikasi dan studi program adalah keuntungan utama perangkat lunak gratis.

OS Microsoft Windows

Beras. 39. Logo OC Windows.

MS Windows (diucapkan Windows) adalah keluarga sistem operasi dari Microsoft. Kepala Perusahaan Microsoft - Bill Gates.

Sejak 1995, Windows telah menjadi sistem operasi paling populer di pasar komputer pribadi - standar de facto. Pada tahun 2005, Microsoft Windows diinstal di lebih dari 89% komputer pribadi.

Namun, banyak pengguna memilih Windows karena mereka sama sekali tidak terbiasa dengan alternatif seperti MacOS, Linux, BSD. Di Rusia, hingga awal tahun 2000-an, hampir semua komputer pribadi dijual dengan sistem operasi yang sudah diinstal sebelumnya. sistem jendela. Perjuangan melawan distribusi produk perangkat lunak versi bajakan telah menyebabkan munculnya minat pada sistem operasi lain. Jadi, misalnya, menjadi mungkin untuk membeli komputer pribadi dengan prainstal OS Linux gratis.

Riwayat rilis versi Windows


Jendela 1.0 (1985)

1. Jendela 2.0 (1987)

2.Jendela/386 (1987)

3. Jendela 3.0 (1990)

4. Jendela 3.1 (1992)

5.Windows NT 3.1 (1993)

6. Windows NT 3.5 (1994)

7. Jendela 95 (1995)

8. Windows NT 4.0 (1996)

9. Jendela 98 (1998)

10. Jendela 2000 (2000)

11 Jendela Saya (2000)

12. Windows XP (2001)

13. Windows 2003 (2003)

14. Windows Vista (2007)

15. Judul kerja Windows Wina (2010)


Produk perangkat lunak terintegrasi dan perangkat lunak aplikasi

Termasuk sistem operasi Microsoft Windows aplikasi standar, seperti Peramban Internet Explorer, Klien email Outlook Express, meja putar Jendela Media Pemain.

Ada banyak kontroversi dan diskusi seputar penyertaan produk standar semacam itu di OS Windows, karena hal ini menimbulkan hambatan serius bagi distribusi produk pesaing.

Beras. 40. Logo paket MS Office.

Untuk MS Windows ada yang sangat nyaman dan dikuasai oleh sebagian besar pengguna Rangkaian aplikasi Microsoft Office, termasuk:

pengolah kata Microsoft Word,

pengolah lembar kerja MS Excel,

Penyelenggara MS Outlook,

Aplikasi untuk persiapan presentasi MS PowerPoint,

aplikasi manajemen basis data Akses MS.

Jangan lupa bahwa Windows dan sebagian besar aplikasi Windows populer memiliki lisensi hak cipta, mis. adalah hak milik OLEH. Karenanya, setiap salinan dari program semacam itu harus dibeli dengan uang. Sebagai contoh, pada akhir tahun 2006 harga untuk Windows XP Home Edition Russian BOX (SP2) adalah $185, Office 2003 Russian CD adalah $322.

Dengan menggunakan perangkat lunak tidak berlisensi (bajakan) yang dilindungi oleh lisensi hak cipta, Anda melanggar undang-undang hak cipta.

OS GNU/Linux

Beras. 41. Logo OS GNU/Linux adalah penguin Tux.

Sistem operasi GNU/Linux (diucapkan "gnu linux") adalah sistem operasi mirip UNIX yang gratis. Biasanya, karena alasan historis dan singkatnya, sistem ini disebut "Linux". Ini adalah alternatif paling kuat untuk MS Windows, populer sebagai sistem operasi server dan dengan cepat mendapatkan popularitas sebagai sistem operasi desktop dalam beberapa tahun terakhir karena penegakan yang meningkat. penggunaan berlisensi OS Windows oleh Microsoft dalam versi XP dan Vista.

Sistem operasi GNU/Linux juga sering menyertakan program yang melengkapi sistem operasi ini, dan program aplikasi yang membuatnya menjadi lingkungan operasi multifungsi yang lengkap.

Tidak seperti kebanyakan sistem operasi lainnya, GNU/Linux tidak hadir dengan satu bundel "resmi". Sebaliknya, GNU/Linux hadir dalam jumlah besar yang disebut distribusi, yang menautkan program GNU ke kernel Linux dan program lainnya. Distribusi paling umum di dunia:

Amerika topi merah dan penerusnya Inti Fedora;

Jerman SuSE;

Perancis Mandriva(mantan Mandrake);

Distribusi internasional tanpa negara Debian GNU/Linux;

Salah satu distribusi tertua Slackware;

Distribusi yang relatif muda dan aktif berkembang Gentoo;

Distribusi muda tapi menjanjikan ubuntu linux.

Pembuat kernel Linux - Linus Torvalds. GNU/Linux tidak memiliki pusat pengembangan geografis. Tidak ada organisasi yang memiliki sistem ini; bahkan tidak satu pun titik fokus. Program untuk GNU/Linux adalah hasil dari ribuan proyek. Beberapa dari proyek ini terpusat, beberapa terkonsentrasi di perusahaan, tetapi sebagian besar menyatukan programmer dari seluruh dunia yang hanya mengenal satu sama lain melalui korespondensi. Siapa pun dapat membuat proyek mereka sendiri atau bergabung dengan yang sudah ada, dan, jika berhasil, hasil pekerjaannya akan diketahui jutaan pengguna. Pengguna mengambil bagian dalam pengujian perangkat lunak gratis, berkomunikasi langsung dengan pengembang, yang memungkinkan mereka menemukan dan memperbaiki bug dengan cepat dan menerapkan fitur baru.

Di pasar sistem operasi server di Australia, Linux sudah mengambil sekitar 30%. Orang Australia diikuti oleh orang Brasil. Pemerintah Brasil telah memutuskan untuk beralih dari menghabiskan uang untuk perangkat lunak dan beralih dari produk Microsoft ke sistem sumber terbuka, khususnya sistem operasi Linux. Alasan utama untuk perubahan adalah ekonomi. Di negara kita, pasar Linux masih kecil.

Berkas sistem

Semua informasi di komputer disimpan dalam file yang digunakan sistem operasi.

Mengajukan(mengajukan)- adalah urutan byte bernama, penyimpanan permanen berbagai macam informasi.

File diatur dalam direktori, juga disebut direktori atau folder. Katalog adalah file yang menyimpan informasi tentang file lain: nama, ukuran, tanggal pembuatan, alamat file pada disk.

Direktori apa pun dapat berisi nomor arbitrer subdirektori, yang masing-masing dapat menyimpan file dan direktori lainnya.

Setiap disk memiliki master atau direktori akar, yang berisi semua direktori lain, yang disebut subdirektori, dan beberapa file. Jadi, itu menciptakan struktur hirarki. Direktori tempat pengguna sedang bekerja dipanggil saat ini.

File dan direktori adalah objek terpenting dalam sistem file. Berkas sistem- peraturan yang mendefinisikan metode organisasi, penyimpanan dan penamaan data pada media. Ini mendefinisikan format untuk penyimpanan fisik file. Sistem file tertentu menentukan ukuran nama file, ukuran file maksimum yang mungkin, sekumpulan atribut file.

Cara data diatur ke dalam byte disebut format file. Untuk membaca file, seperti spreadsheet, Anda perlu mengetahui bagaimana byte mewakili angka (rumus, teks) di setiap sel; untuk membaca file editor teks, seseorang harus mengetahui byte mana yang mewakili karakter dan font atau bidang mana, dan informasi lainnya.

Semua file dapat dibagi secara kondisional menjadi dua bagian - teks Dan biner.

File teks- jenis data yang paling umum di dunia komputer. Untuk menyimpan setiap karakter, satu byte paling sering dialokasikan, dan penyandian file teks dilakukan menggunakan tabel penyandian khusus.

Tapi bersih file teks menjadi kurang dan kurang umum. Orang ingin dokumen berisi gambar dan diagram dan menggunakan font yang berbeda. Akibatnya, muncul format yang merupakan berbagai kombinasi tekstual, grafik, dan bentuk data lainnya.

Binari, tidak seperti teks, tidak mudah untuk dilihat dan, sebagai aturan, tidak ada kata yang kita kenal di dalamnya - hanya banyak karakter yang tidak dapat dipahami. File-file ini tidak dimaksudkan untuk dapat langsung dibaca oleh manusia. Contoh file biner adalah program yang dapat dieksekusi dan file grafik.

Setiap file pada disk diberi label ( nama lengkap), yang terdiri dari 2 bagian: nama Dan ekstensi, dipisahkan oleh titik.

Ekstensi nama file- urutan karakter opsional yang ditambahkan ke nama file dan dimaksudkan untuk mengidentifikasi jenis (format) file. Ini adalah salah satu cara umum pengguna atau perangkat lunak komputer dapat menentukan jenis data yang disimpan dalam file.

Di sistem operasi awal, panjang ekstensi dibatasi hingga tiga karakter, di sistem operasi modern batasan ini tidak.

Sistem operasi atau pengelola file dapat memetakan ekstensi file ke aplikasi.

Saat pengguna membuka file dengan ekstensi terdaftar, program yang terkait dengan ekstensi tersebut akan diluncurkan secara otomatis. Beberapa ekstensi menunjukkan bahwa file itu sendiri adalah sebuah program. Seringkali, ekstensi file ditampilkan kepada pengguna dengan ikon.

Driver

Berbagai perangkat dapat dihubungkan dengan PC: kartu video, kartu suara, printer, pemindai, manipulator, disk drive, kamera digital, Handphone... Masing-masing memiliki kumpulan perintahnya sendiri - "bahasanya" sendiri. Agar sistem operasi tertentu dapat mengontrol perangkat tertentu, mereka menggunakan bantuan program "penerjemah" yang, di satu sisi, tahu bahasa perintah perangkat tertentu, dan di sisi lain, bahasa sistem operasi tertentu tempat perangkat ini seharusnya bekerja.

Program seperti itu disebut pengemudi(driver) dan disertakan bersama perangkat oleh pabrikannya. Produsen perangkat keras biasanya juga memposting driver perangkat yang mereka buat di situs web mereka.

Peter Van Valkenburgh, Kepala Riset di Coin Center, Anggota Dewan Direksi Yayasan Zcash, menjelaskan alasannya Pengembangan perangkat lunak open source penting untuk membangun kepercayaan dan keamanan dalam jaringan blockchain.

Kode komputer di balik semua cryptocurrency utama dan proyek blockchain terbuka sedang dikembangkan sebagai perangkat lunak sumber terbuka. Regulator dan pembuat kebijakan yang mencoba memahami apa itu cryptocurrency tetapi tidak akrab dengan perangkat lunak semacam itu dapat tertipu untuk percaya bahwa sistem ini (dan harus) dikembangkan oleh satu atau lebih perusahaan komersial. Sementara banyak perangkat lunak terkenal memang dikembangkan dengan cara ini (misalnya, Microsoft Windows atau RDBMS Oracle), hal-hal yang berbeda dengan proyek open source, dan perbedaan ini dapat dan harus membentuk opini publik. Perangkat lunak open source dibuat secara kolaboratif, didistribusikan secara bebas, dipublikasikan secara terbuka, dan dikembangkan sebagai produk komunitas, bukan milik satu perusahaan atau individu. Dalam hal ini, tidak ada monopoli, tidak ada satu pun perusahaan atau individu yang akan membuat dan menjual perangkat lunak, akan memilikinya. Sama seperti tidak ada satu perusahaan pun yang memiliki jaringan bitcoin, tidak ada satu pun perusahaan yang memproduksi perangkat lunak yang, berjalan di komputer yang terhubung ke Internet, membentuk jaringan. Desentralisasi semacam ini membawa beberapa manfaat mendasar yang mungkin sulit dipahami oleh orang yang tidak terbiasa dengan pengembangan perangkat lunak. Untuk lebih memahami kekuatan dan sifat open source, ada gunanya memiliki beberapa wawasan tentang salah satu perangkat lunak open source yang sangat sukses. Kita berbicara tentang sistem operasi Linux.

Sumber terbuka di mana-mana

Sulit untuk menghitung berapa kali Anda menggunakan Linux dalam sehari, karena sistem operasi ini adalah basis dari sebagian besar server di Internet. Setiap kali Anda mengunjungi Facebook, Google, Pinterest, Wikipedia, dan ribuan situs utama lainnya, layanan yang disediakan oleh situs-situs (sangat berbeda) ini, Anda berurusan dengan komputer yang kemungkinan besar berjalan di sistem operasi Linux. Linux dapat ditemukan lebih dekat; kemungkinan besar Anda memilikinya di ujung jari Anda. Katakanlah sistem operasi smartphone Android berbasis Linux. Jika Anda memiliki Chromebook, maka Anda menggunakan laptop berbasis Linux. Sistem operasi ini semakin banyak digunakan di televisi, termostat, sistem multimedia di pesawat terbang, mobil, dll.

Mengapa ini menarik? Karena Linux bukanlah produk dari satu programmer, atau bahkan sekelompok programmer; tidak seperti MacOS atau Windows, itu tidak dikembangkan oleh satu atau bahkan selusin perusahaan. Linux memiliki ribuan kontributor. Seperti yang dilaporkan pada tahun 2015 oleh Linux Foundation (organisasi nirlaba yang mempromosikan pengembangan terbuka sistem operasi), sekitar 14.000 pengembang dari lebih dari 1.300 perusahaan berbeda telah menyumbangkan potongan kode. Pada tahun 2015 saja, 2.355 pengembang berkontribusi dalam peningkatan kode untuk pertama kalinya. Dengan demikian, dengan ekstrapolasi, dapat dihitung hingga tahun 2017, sekitar 18.000 orang telah berkontribusi, dan jumlah ini akan terus bertambah.

Siapa yang mengira bahkan lima tahun yang lalu (pada tahun 1991) bahwa sistem operasi kelas dunia dapat, seolah-olah secara ajaib, dibentuk menjadi satu kesatuan dari fragmen pekerjaan lepas dari beberapa ribu pengembang yang tersebar di seluruh dunia dan hanya dihubungkan oleh utas hantu dari Internet?

Manfaat sumber terbuka

Dalam bukunya, Raymond berbicara tentang bagaimana open source adalah cara revolusioner untuk menciptakan teknologi. Linux, dengan ribuan pengembang independen bekerja dalam kolaborasi publik, mencontohkan model open source. Cryptocurrency mengikuti pola yang sama, tetapi kita akan membicarakannya di bawah.

Raymond menyoroti beberapa keunggulan model open source. Yang utama dalam konteks diskusi kita adalah sebagai berikut:

  • Setiap perangkat lunak yang bagus dimulai dengan kepuasan keinginan pribadi pengembang. Sebagian besar pengembang open source termotivasi oleh keinginan untuk secara pribadi menggunakan produk yang mereka buat. Mereka tidak terikat oleh kontrak yang mewajibkan mereka menciptakan sesuatu untuk orang lain; mereka memiliki kebutuhan pribadi yang mereka puas. Dengan demikian, motivasi yang berbeda secara kualitatif muncul, menghasilkan pengetahuan terperinci tentang masalah tersebut.
  • Pemrogram yang baik tahu apa yang harus ditulis. Yang hebat tahu apa yang harus ditulis ulang (dan digunakan kembali). Ketika pengembangan dilakukan secara terbuka, redundansi dapat dihindari dan kode yang bermasalah, rumit, atau berlebihan dapat diidentifikasi dan disederhanakan.
  • Ketika Anda kehilangan minat pada suatu program, tugas terakhir Anda adalah menyerahkannya kepada penerus yang kompeten. Orang masuk dan keluar dari proyek sumber terbuka berdasarkan minat dan keahlian mereka. Tidak ada yang terjebak mengerjakan proyek yang tidak lagi menarik. Pikiran segar bermunculan, menawarkan sudut pandang berbeda tentang masalah lama atau perspektif baru.
  • Menganggap pengguna sebagai sesama pengembang adalah cara termudah untuk meningkatkan kode dan men-debug perangkat lunak secara efektif. Banyak pengguna open source membantu mengidentifikasi masalah dan bahkan menyarankan solusi. Garis antara konsumen dan produsen perangkat lunak open source kabur: pengerjaan perangkat lunak transparan, dilakukan di depan publik, dan partisipasi dalam proses pembuatan tersedia untuk semua orang.
  • Dengan basis penguji dan pengembang beta yang cukup besar, hampir semua masalah akan dikualifikasikan dengan cepat, dan solusinya pasti akan jelas bagi seseorang. Postulat ini dinamai Hukum Linus setelah Linus Torvalds, pencipta kernel Linux, yang untuk waktu yang lama tetap menjadi pengembang utama sistem operasi ini. Ketika proses pengembangan kode ditutup, pengembang berisiko kehilangan titik lemah atau tidak memperhatikan kesalahan tertentu. Berkembang di lingkungan pengguna yang kuat dengan visi unik meningkatkan kemungkinan bug diidentifikasi dan diperbaiki, membuat perangkat lunak open source lebih aman dan tangguh.

Hasil pengembangan ini adalah kode yang sangat kuat yang dibuat oleh pengguna untuk pengguna. Tujuannya bukan untuk menciptakan sesuatu yang memperkaya perusahaan yang membuat dan menjual produk, melainkan untuk memecahkan masalah yang cukup umum bagi komunitas besar pemrogram berbakat untuk dengan senang hati berkontribusi. Orang-orang tanpa keterampilan pemrograman sangat diuntungkan dari model seperti itu. Perangkat lunak gratis tampaknya muncul begitu saja, gratis untuk digunakan semua orang, dan menerima pembaruan selama pengguna tingkat ahli juga tertarik untuk menggunakannya.

Hukum dan perangkat lunak bebas

Perundang-undangan saat ini mendukung dan dalam beberapa kasus mendorong pengembangan perangkat lunak open source. Itu, seperti semua perangkat lunak, dilindungi oleh hak cipta, tetapi penulisnya merilis kode dengan lisensi yang memungkinkan siapa saja untuk menggunakan dan memodifikasinya tanpa izin khusus atau pembayaran apa pun kepada penulisnya (yaitu, dengan lisensi yang dikembangkan oleh Massachusetts Institute of Teknologi - MIT).

Beberapa lisensi menyertakan persyaratan agar turunan dari perangkat lunak dirilis berdasarkan persyaratan yang sama. Melalui skema ini, basis open source tumbuh dan menyebar. Fenomena ini dikenal sebagai Lisensi Perangkat Lunak Bebas, atau LGPL-3, Lisensi Publik Umum yang lebih rendah.

Sumber terbuka dalam cryptocurrency dan proyek token

Linux mungkin adalah contoh terbesar dan terpenting dari model open source, tetapi ada yang lain. Ini termasuk semua proyek cryptocurrency dan blockchain utama. Mereka semua menciptakan jaringan komputer, memungkinkan peserta mencapai kesepakatan tentang data bersama (cryptocurrency blockchain).

Perangkat lunak yang memungkinkan setiap peserta untuk terhubung ke jaringan disebut klien, dan merupakan perangkat lunak sumber terbuka. Seringkali, perangkat lunak klien dikembangkan oleh beberapa pihak yang tidak terkait sebagai versi sederhana dari perangkat lunak jaringan (yaitu, yang disebut klien referensi), yang menjadi dasar pembuatan penambangan, dompet, pertukaran, atau perangkat lunak lain yang kompatibel dengan jaringan.

Klien inti bitcoin- hasil kerja lebih dari 450 pengembang independen yang telah berkontribusi lebih dari 15.000 kali untuk pengembangan kode. Perangkat lunak ini tersedia untuk digunakan dan dimodifikasi secara gratis sesuai dengan Lisensi Perangkat Lunak Bebas MIT, dan seluruh riwayat pengembangan tersedia untuk dilihat di repositori publik di Github - layanan awan, memungkinkan siapa saja membuat akun, mengunggah kode baru, dan melacak perubahan. Jika repositori yang Anda buat terbuka untuk umum untuk ditinjau, dikomentari, dan saran perubahan, maka Anda bahkan tidak perlu membayar akun Github.

Repositori publik juga melacak apa yang disebut fork dari klien asli. Garpu membuat tiruan dari perangkat lunak asli, yang kemudian dapat dimodifikasi untuk satu tujuan atau lainnya tanpa mengubah repositori asli. Pengembang dengan bebas membagi repositori Bitcoin Core Github untuk membuat aplikasi khusus yang kompatibel dengan bitcoin (seperti dompet ponsel cerdas) atau mata uang kripto baru yang tidak lagi kompatibel dengan jaringan bitcoin dan melibatkan pembuatan jaringan mata uang kripto baru (seperti sebelumnya dengan Litecoin atau Zcash). Hingga saat ini, klien Bitcoin Core asli telah di-fork lebih dari 10.000 kali, dan repositori baru yang muncul menunjukkan bahwa pekerjaan turunan terus berlanjut.

Sekarang ada setidaknya 121 repositori di Ethereum, yang masing-masing berfokus pada aspek tertentu dari proyek (misalnya, bahasa pemrograman untuk menulis kontrak pintar, browser grafis untuk interaksi pengguna akhir dengan jaringan Ethereum, klien yang kompatibel untuk berpartisipasi dalam jaringan, dll). Setidaknya ada delapan proyek yang berfokus pada pengembangan klien yang kompatibel dengan ethereum, dengan ratusan pengembang independen mengerjakan klien paling populer (go-ethereum dan Parity). Kode Ethereum dan sejarah lengkapnya, serta kode dan sejarah Bitcoin, tersedia untuk umum di Github dan repositori jaringan lainnya, dan semua kode dirilis di bawah lisensi LGPL-3, yang mengharuskan semua karya turunan di masa mendatang dirilis di bawah lisensi yang sama. .

Bahkan proyek terbaru yang diprakarsai oleh start-up komersial menunjukkan kepatuhan terhadap kredo open source. Perusahaan Zcash mengembangkan protokol Zcash melalui repositori publik. Beberapa pengembang utama tidak bekerja untuk perusahaan, dan organisasi nirlaba yang dibangun dengan tujuan khusus dipanggil untuk memastikan bahwa ada transisi bertahap dari pengembangan berbasis perusahaan ke pengembangan berbasis komunitas. Basis kode sumber Zcash dirilis di bawah lisensi dari Massachusetts Institute of Technology. Lab protokol, pengembang Filecoin, bermaksud untuk membuat model terbuka serupa dan telah mengujinya dalam proyek IPFS mereka, bekerja dengan kode di repositori terbuka dan merilisnya di bawah lisensi MIT.

Mengapa open source itu penting

Cryptocurrency dan blockchain terbuka dapat memberikan fungsionalitas yang akan diatur jika berasal dari satu perusahaan. Penerbit mata uang digital terpusat, seperti Liberty Reserve atau E-gold, adalah layanan keuangan dan harus mendaftar ke Kantor Penegakan Kejahatan Keuangan Departemen Keuangan AS dan mendapatkan lisensi untuk mentransfer uang di setiap negara bagian. Jika token semacam itu dipromosikan di pasar untuk menarik investor, mereka dapat disamakan sekuritas, dalam hal ini pendaftaran dengan Komisi Sekuritas dan Bursa AS akan diperlukan. Pembatasan ini masuk akal karena layanan terpusat berisiko bahwa pihak yang menjadi pusat dari keseluruhan skema tidak akan dapat memenuhi janji mereka dengan menguji produk secara memadai dan membuatnya aman.

Namun, teknologi seperti bitcoin dapat menawarkan fungsionalitas serupa dengan menjadi jaringan terbuka dan tidak dimiliki. Tidak ada korporasi di sini. Pengguna bergabung dengan jaringan ini, dan perangkat lunak sumber terbuka merangsang keinginan mereka untuk berkolaborasi. Pada akhirnya, semua peserta mencapai kesepakatan tentang setiap bagian data yang diperlukan untuk membuat mata uang. Desentralisasi bertumpu pada dua pilar: mekanisme konsensus terbuka dan perangkat lunak sumber terbuka. Jika kodenya bukan open source, bagaimana peserta (orang yang tidak mengenal satu sama lain di internet) dapat memahami dan mempercayai sistem yang mereka ikuti?

Faktanya, proyek token berdasarkan kode hak milik mungkin berubah menjadi layanan terpusat yang bersembunyi di balik bahasa gaul profesional dan "omong kosong blockchain". Namun, untuk proyek "nyata", kode yang menciptakan jaringan terdesentralisasi, yang memungkinkan peserta untuk saling percaya, memiliki motivasi yang sama, dan menghukum scammers, didesentralisasi dengan sendirinya. Ini sedang dikembangkan di depan semua orang oleh ratusan penggemar, tersedia untuk semua orang di dunia untuk digunakan dan dimodifikasi dan sepenuhnya terlepas dari kepentingan perusahaan.

Mark Roberts
Direktur Manajemen Produk (Direktur, Manajemen Produk)
Sistem Perangkat Lunak QNX
surel: [email dilindungi]

anotasi

Artikel ini berfokus pada manfaat, pertimbangan strategis, hambatan, dan peluang yang terkait dengan penggunaan perangkat lunak sumber terbuka dalam produksi komersial. Menggunakan Integrated Development Environment (IDE) berdasarkan platform Eclipse sebagai contoh, kita akan membahas perbedaan antara lisensi kode sumber perangkat lunak protektif (protektif) dan non-protektif (nonprotektif). Saat mengintegrasikan atau menautkan kode sumber terbuka dengan kode sumber tertutup "eksklusif", seringkali diperlukan kehati-hatian dan perhatian. Ada juga berbagai masalah hukum yang harus diperhatikan, seperti potensi pelanggaran paten. Kami juga akan mencoba menjelaskan mengapa prinsip dasar penggunaan perangkat lunak sumber terbuka di lingkungan teknologi informasi (TI) tidak berlaku untuk produk komersial untuk perangkat yang disematkan.

QNX Momentics Development Environment sebagai Contoh Sumber Terbuka

Kembali pada tahun 2001, ketika banyak perusahaan perangkat lunak sedang berjuang untuk bertahan hidup dalam menghadapi keruntuhan umum di pasar saham perusahaan IT, terutama yang terkait dengan bisnis elektronik di Internet, QNX Software Systems membuat keputusan strategis untuk mulai mengembangkan integrasi baru lingkungan pengembangan (IDE) untuk pasar sistem tertanam. Perusahaan telah memiliki pengalaman yang kuat dalam mengembangkan serangkaian alat yang digunakan dalam pengembangan perangkat yang disematkan, tetapi manajemen perusahaan menyadari bahwa pembuatan IDE akan memungkinkan mereka untuk tetap berada di puncak gelombang dalam lingkungan yang sangat kompetitif. Keputusan untuk membuat IDE juga didorong oleh pergeseran penekanan pada kebutuhan pelanggan. Selama penurunan bisnis, pelanggan yang kekurangan uang menjadi lebih tertarik pada solusi yang dapat memaksimalkan produktivitas dan membuat mereka lebih mobile (fleksibel) dalam pekerjaan mereka, yang akan meningkatkan efisiensi ekonomi secara keseluruhan.

Bagi QNX, mengembangkan IDE adalah "taruhan untuk masa depan" karena pada saat itu biaya dan upaya untuk mengembangkan proyek berada di luar jangkauan sebagian besar vendor alat sistem tertanam. Untungnya, QNX telah bekerja sama dengan IBM di berbagai segmen pasar perangkat tertanam. Melalui kolaborasi erat, IBM berbagi dengan QNX rencananya untuk merilis lingkungan pengembangan terintegrasi open source yang kemudian menjadi dasar platform Eclipse.

IBM menawarkan untuk menggunakan pengalaman QNX untuk menyesuaikan teknologi IDE dengan kebutuhan pengembang yang terlibat dalam pembuatan aplikasi tersemat berdasarkan bahasa C/C++. Pakar QNX segera menunjukkan aspek menarik yang tak terbantahkan dari penggunaan kode sumber terbuka untuk IDE. Misalnya, untuk lingkungan seperti itu dimungkinkan:

  • menghilangkan ketergantungan pada satu vendor, yang biasanya dikaitkan dengan kebutuhan untuk melisensikan platform jendela;
  • menawarkan kode sumber untuk penyesuaian dengan kebutuhan pelanggan;
  • menarik pemain industri yang serius untuk mendukung dan menciptakan ekosistem teknologi dan plug-in pelengkap;
  • menyediakan pelanggan dengan arsitektur stabil yang dapat mendukung diferensiasi produk;
  • memungkinkan pengembang perangkat tersemat untuk menggunakan workstation standar yang cocok untuk bekerja dengan aplikasi teknologi informasi (dalam rentang aplikasi terluas) sebagai platform pengembangan.

Terakhir, ada kemungkinan terpisah bahwa platform IDE dapat mengikuti dan menjadi standar de facto, memungkinkan QNX untuk mengeksploitasi ekosistem besar pengembang dan alat pihak ketiga menggunakan platform semacam itu.

Proyek sumber terbuka Eclipse.org didirikan

Pada November 2001, Borland, IBM, Merant, QNX Software Systems, Red Hat, dan SUSE mendirikan Eclipse Consortium. Pada awal 2004, Board of Stewards mereorganisasi Eclipse Consortium menjadi sebuah perusahaan nirlaba bernama Eclipse Foundation.

Sejak awal, Eclipse benar-benar merupakan proyek sumber terbuka. Proyek ini menawarkan teknologi open source gratis dan akses ke komunitas pengembang paling terdidik dan maju di bidangnya. Dengan demikian, teknologi ini ternyata menjadi platform universal untuk mengintegrasikan semua jenis alat pengembangan. Ini didasarkan pada arsitektur yang terbuka dan dapat diperluas, dan dengan jelas dilisensikan sebagai produk bebas royalti yang dapat didistribusikan kembali secara bebas. Kontribusi anggota komunitas untuk proyek Eclipse didasarkan pada model pengembangan Perangkat Lunak Sumber Terbuka (OSS) standar, tetapi sebagian besar anggota juga berkontribusi dalam pengembangan komersial berdasarkan platform Eclipse.

Proyek penyimpanan alat

Pada bulan Desember 2001, QNX mulai membangun QNX® Neutrino® RTOS berdasarkan Eclipse IDE. Visi perusahaan adalah agar IDE menjadi sangat fungsional, berorientasi C/C++, dengan alat yang sangat terintegrasi untuk debugging, pembuatan profil, analisis, dan membangun aplikasi tersemat. Sejak awal, tim QNX menginginkannya menjadi IDE multiguna dan multibahasa yang mendukung berbagai platform alat. Ini termasuk:

  • beberapa platform instrumental: Windows, Solaris, QNX Neutrino RTOS (pengembangan yang dihosting sendiri);
  • beberapa arsitektur target: ARM, MIPS, PowerPC, SH-4, x86;
  • bahasa pemrograman C, C++, Java.

Sejak itu, IDE terus berkembang untuk menyertakan dukungan untuk platform Linux dan dukungan untuk arsitektur prosesor tambahan, termasuk prosesor XScale.

Implementasi proyek diluncurkan dengan gaya "pemrograman ekstrim". Perusahaan memilih tim yang terdiri dari 12 insinyur terbaik. Mereka diberi ruangan khusus, mereka diisolasi dari semua gangguan, proyek diberikan kepada mereka sepenuhnya.

Grup diberi otoritas pengambilan keputusan yang diperlukan, jadwal kerja yang ketat dan menghindari risiko diberlakukan, dengan rilis beta produk dalam 16 minggu dan rilis komersial pada 4 Juli 2002. Grup tersebut bertemu dengan semua menetapkan tonggak sejarah dan merilis produk baru - dijuluki QNX Momentics® IDE - sesuai jadwal, menunjukkan potensi perangkat lunak sumber terbuka untuk mempersingkat waktu pemasaran.

Dari ide hingga pengiriman produk - kurang dari 7 bulan

Dibangun di atas platform Eclipse, tim QNX menyelesaikan IDE yang sangat kuat dan serbaguna untuk pengembangan perangkat lunak tersemat dalam enam bulan. IDE mendukung pengembangan lintas platform untuk beberapa platform alat dan bahasa pemrograman, dan mendukung papan prosesor target tersemat yang paling populer. Dengan platform Eclipse, QNX dapat:

  • gunakan kompiler GNU dan alat baris perintah untuk pengembangan silang;
  • mengimplementasikan dukungan untuk plug-in pihak ketiga, seperti IBM WebSphere untuk aplikasi Java tertanam dan Rational ClearCase untuk Model-Driven Development;
  • membuat alat tambahan untuk membangun sistem, mengelola perangkat target, menganalisis memori, membuat profil sistem dan aplikasi, dll.

Pada ara. Gambar 1 memberikan contoh bagaimana platform Eclipse dapat mengurangi biaya pembuatan IDE, memungkinkan perusahaan untuk fokus pada pengembangan tingkat atas di mana inovasi nyata dibuat. Misalnya, dengan menggunakan platform Eclipse, QNX telah dapat dengan mudah membuat beberapa alat visualisasi inovatif yang memungkinkan Anda masuk jauh ke dalam sistem tersemat dan menampilkan perilakunya.

Kembalikan kontribusi untuk pekerjaan komunitas

Kekuatan proyek open source yang sukses terletak pada kerja sama komunitas pengembang dan terus meningkatkan basis kode. Jika sebuah perusahaan merangkul dan memanfaatkan open source dengan baik, maka ia memiliki kewajiban untuk berkontribusi kepada komunitas. Untuk tujuan ini, QNX mengambil alih kepemimpinan proyek CDT Eclipse pada bulan Juni 2002.

Tujuan proyek Eclipse CDT (C/C++ Development Tools) adalah untuk membuat seperangkat alat bahasa C/C++ interoperable untuk platform Eclipse. Eclipse CDT telah diposisikan sebagai proyek open source, dengan hak pengelolaan dari Eclipse Corporation. Untuk memulai proyek CDT, QNX menyumbangkan sumber pengembangan dan kode sumbernya untuk proyek QNX Momentics IDE. Rational dan Red Hat, sebagai anggota komunitas, juga memberikan dukungan yang signifikan untuk proyek tersebut.

Beras. 1. Dengan platform Eclipse, vendor alat dapat berfokus pada level teratas tumpukan pekerjaan, tempat inovasi sebenarnya dibuat.

QNX terus mempertahankan proyek CDT, yang telah berkembang dari awalnya hanya 80.000 baris kode menjadi lebih dari 700.000 baris kode saat ini. Pada awal 2006, log kemajuan proyek Eclipse CDT memperkirakan kontribusi QNX sebesar 52%. Berikutnya adalah IBM dengan kontribusi sebesar 36%. Proyek CDT adalah proyek Eclipse terpopuler kedua setelah platform Eclipse itu sendiri.

Bisakah saya memberi "hadiah" kode?

Tampaknya "menyumbangkan" kode Anda berarti bertindak bertentangan dengan akal sehat. Namun, jika fungsionalitas produk Anda ternyata bermanfaat untuk digunakan, mengapa tidak menyumbangkannya ke komunitas pengguna open source. Dengan mengambil langkah ini, seseorang dapat memperoleh manfaat dari penawaran penerapan "standar", bersama dengan manfaat dari keahlian dukungan produk. Anda akan mendapat manfaat dari kerja seluruh komunitas yang bertujuan untuk meningkatkan basis kode. Strategi semacam itu dapat membebaskan sumber daya Anda sendiri untuk penelitian tambahan yang berfokus pada inovasi dan penambahan fungsionalitas pada produk Anda.

Terlebih lagi, Anda bisa mendapatkan kendali atas arah platform "standar" - diperoleh, tentu saja, melalui kontribusi Anda kepada komunitas! Jika Anda mendukung suatu proyek, bersikaplah seperti warga masyarakat yang baik, hargai pendapat orang lain, hargai kontribusi dan saran dari anggota lain. Jangan berpikir bahwa seseorang akan mencoba untuk "membersihkan kantong Anda" sebagai akibat dari penggunaan kode tersebut dan mengendalikan arah pengembangan platform dari Anda.

Misalnya, strategi QNX Software Systems adalah memanfaatkan keterlibatan Eclipse sambil mengembangkan fungsionalitas baru yang terhubung melalui poin ekstensibilitas standar yang sudah termasuk dalam platform Eclipse dan CDT. Untuk tujuan ini, QNX bermaksud untuk tetap menjadi anggota aktif komunitas Eclipse, memanfaatkan basis kode yang ada dan pekerjaan pihak ketiga (plugin), membantu memenuhi kebutuhan pelanggan nyata dengan membuat ekstensi berpemilik. Strategi yang dijelaskan diilustrasikan pada gambar. 2.

Beras. 2. Dengan karya Anda, Anda dapat berkontribusi pada karya komunitas.

Ringkasan Manfaat

Platform alat berbasis Eclipse saling menguntungkan bagi pengembang aplikasi seperti QNX dan pelanggan yang membeli alat platform.

Pengembang mendapat manfaat dari berkurangnya waktu untuk memasarkan produk mereka dan kemampuan untuk mendapatkan keuntungan dari penelitian orang lain (dengan biaya rendah). Hasil ini mungkin mencakup kode "IP bersih" berkualitas tinggi yang disediakan oleh perusahaan terkemuka seperti IBM dan QNX. Keuntungan lain bagi pengembang adalah mendapatkan skema lisensi yang sederhana dan jelas, termasuk hak komersial dan beberapa perlindungan paten. Selain itu, pengembang memperoleh kemampuan untuk bekerja pada beberapa platform OS yang didukung oleh Eclipse, serta akses ke titik ekstensi yang terdefinisi dengan baik dalam proyek Eclipse.

Pelanggan yang membeli IDE berbasis Eclipse mendapat manfaat dari platform alat yang dirancang untuk mengembangkan aplikasi yang disematkan dengan dukungan kompilasi silang yang kuat, debugging yang mudah, dan ekstensi manajemen. sistem sasaran. Tim pengembangan klien akan menghargai banyak fitur yang membuatnya mudah untuk digunakan, sedikit waktu yang diperlukan untuk pelatihan tambahan, kinerja produk yang baik, dan platform tangguh yang memungkinkan Anda mengerjakan proyek besar. Pelanggan juga dapat memanfaatkan platform Eclipse dalam aplikasi mereka sendiri (misalnya RCP, eRCP, dll.).

Masa Depan Perusahaan Eclipse

Eclipse Corporation adalah komunitas yang aktif dan energik. Proyek baru terus bermunculan, arsitektur baru tersedia untuk perusahaan inovatif yang mapan, dan bahkan perusahaan kecil dapat mengkomersialkan platform Eclipse dengan membuat plug-in baru yang memperluas fungsionalitas yang ada dengan biaya minimal (lihat Gambar 3).

Beras. 3. Eclipse Corporation adalah komunitas pengembang plug-in yang bersemangat dan berkembang pesat.

Perbandingan lisensi open source

Tidak semua lisensi perangkat lunak open source sama. QNX membuat langkah yang dipikirkan matang-matang dengan Lisensi Publik Eclipse. Pilihan ini sebagian didorong oleh kebutuhan pelanggan bawaannya dan sebagian oleh keinginan untuk menguasai (dan memanfaatkan) teknologi yang membedakan produk.

Inisiatif Sumber Terbuka korporasi nirlaba () telah menghasilkan definisi 10 poin sumber terbuka yang berguna. Saat ini ada lebih dari 50 lisensi yang disetujui OSI di situs web, termasuk Lisensi Publik Eclipse. Lisensi ini mungkin berisi perbedaan signifikan yang harus dipahami dengan jelas. Perbedaan ini secara signifikan dapat memengaruhi kekayaan intelektual (IP) pengembang dan kemampuan untuk melindunginya. Ini paling benar dalam kasus penggunaan open source (atau karya turunan berdasarkan open source) di perangkat yang disematkan.

Lisensi protektif dan non-defensif

Di bawah ketentuan lisensi pelindung, seperti GPL v2, karya turunan hanya dapat didistribusikan bersama dengan kode sumber yang sesuai. Di bawah ketentuan lisensi perlindungan, dijamin bahwa ketika kode sumber dipindahkan ke kategori open source, itu akan tetap berada dalam kategori ini di semua generasi berikutnya dan produk turunannya. Seperti yang akan kami jelaskan nanti, persyaratan ini menyebabkan masalah tertentu dalam kasus sistem tertanam.

Contoh lisensi non-protektif adalah lisensi asli MIT dan BSD. Lisensi non-protektif mempertahankan hak cipta pemiliknya, tetapi memberikan hak ekstensif kepada pengguna, termasuk hak untuk memodifikasi dan distribusi gratis (atau penggunaan pribadi) perangkat lunak tanpa batas.

Yang dimaksud dengan "lisensi viral"

Beberapa orang menyebut GPL sebagai "lisensi viral". Nama ini muncul karena ketidakpastian definisi hukum dari konsep "pembangunan turunan". Dengan interpretasi definisi yang ketat, ternyata jika bahkan sebagian kecil kode berlisensi GPL disematkan di beberapa aplikasi berpemilik, maka seluruh aplikasi harus dilisensikan sebagai GPL. Analogi dengan virus langsung terlintas di benak.

Masalah kompensasi

Baru-baru ini, isu ganti rugi atas pelanggaran IP (IP Indemnification) menjadi topik pembicaraan utama para pengembang. Sebagai tanggapan, beberapa vendor open source telah mengumumkan bahwa mereka akan membela pelanggan terhadap tuntutan hukum pelanggaran paten atau hak cipta. Dan lisensi open source terbaru menguraikan hukuman bagi pengguna yang mencoba untuk menegaskan hak paten mereka terhadap pengguna basis kode lainnya.

Masalah utama yang muncul dalam komersialisasi software open source

Perbandingan aplikasi tertanam dan TI

Keberhasilan ruang open source didorong oleh adopsi Linux oleh organisasi TI. Manfaat menggunakan Linux berasal dari menjalankan perangkat keras yang relatif homogen dan stabil (biasanya keluarga x86) dan menggunakan platform komputasi yang fleksibel dan kaya sumber daya.

Dengan perangkat lunak yang disematkan, semuanya sangat berbeda. Perangkat lunak ini berjalan pada sejumlah besar perangkat dengan serangkaian fitur tetap, menggunakan berbagai perangkat keras dengan beragam arsitektur. Perancang perangkat tersemat sering mendasarkan keunggulan kompetitif mereka pada serangkaian fitur, ukuran, kinerja, biaya, masa pakai baterai, keandalan, interoperabilitas, dan skalabilitas tertentu. Fitur-fitur yang membedakan ini biasanya diimplementasikan dalam perangkat lunak tingkat rendah, yang dalam kasus Linux memerlukan penautan langsung ke kernel OS. Menyesuaikan perangkat lunak tingkat rendah dengan kebutuhan pelanggan adalah norma, bukan pengecualian, sehingga pengembang sering kali mendapatkan fungsionalitas yang mereka inginkan dengan mengubah kernel OS. Metode penautan langsung juga digunakan dengan menyematkan ke dalam fragmen kode untuk mengurangi biaya pembuatan perpustakaan. Secara keseluruhan, praktik-praktik ini membuat sangat sulit untuk melindungi kode kepemilikan di bawah lisensi seperti GPL (domain publik).

Biasanya, masalah lisensi ini tidak berlaku untuk aplikasi TI, karena perangkat lunak khusus perusahaan bermerek tidak didistribusikan di luar perusahaan, digunakan secara eksklusif untuk kebutuhan internal. Dalam kasus perangkat yang disematkan, perangkat lunak turunan selalu didistribusikan melaluinya, yang memicu klausul "buka paksa" dari lisensi sumber terbuka, yang dapat membahayakan aspek utama dari penawaran sumber terbuka yang berharga.

Selain itu, produk yang disematkan seringkali memiliki masa pakai yang lama, baik dalam produksi maupun layanan. Produk tersemat yang tunduk pada ketentuan penggunaan sumber terbuka memiliki risiko lebih besar, termasuk kurangnya dukungan teknis jangka panjang, potensi masalah keamanan, dan pelanggaran IP.

Masalah Perizinan

Ketidakpastian Status Hukum

Terlepas dari kata-kata menghibur dari beberapa pendukung lisensi open source, banyak masalah utama yang dikhawatirkan oleh pengembang sistem tertanam belum diuji secara ekstensif oleh pengadilan. Seperti yang telah disebutkan, definisi "pekerjaan turunan" adalah kunci untuk menegakkan ketentuan lisensi tertentu, meskipun banyak individu dan organisasi yang menerima ketentuan penggunaan sumber terbuka memiliki sedikit atau bahkan tidak memahami arti istilah ini.

Beberapa solusi yang memungkinkan vendor komersial untuk menyematkan driver "eksklusif" di Linux (seperti Modul Kernel yang Dapat Dimuat) bergantung pada argumen "katanya, katanya" daripada tautan langsung ke teks perjanjian lisensi. Nyatanya, driver yang menggunakan modul LKM tersebut merupakan pengelakan yang berbahaya dari persyaratan lisensi GPL. Secara ekstrim, seseorang dapat menginterpretasikan kasus ini sedemikian rupa sehingga basis kode Linux dapat ditampilkan sebagai tidak berguna bagi mayoritas. aplikasi praktis, jika tidak menyertakan beberapa driver yang sangat "berpemilik" ini. Situasi ini dapat secara efektif merendahkan gagasan lisensi GPL.

Kurangnya kompensasi untuk pelanggaran IP

Dalam kebanyakan kasus di mana kode sumber terbuka digunakan, ada kemungkinan nyata bahwa Anda secara tidak sengaja akan melanggar hak paten orang lain. Beberapa lisensi open source membuat referensi eksplisit untuk paten, dan lisensi tersirat tidak dapat dinilai. Anda harus melisensikan secara terpisah setiap paten yang berkaitan dengan, misalnya, kodek sumber terbuka yang mengimplementasikan algoritme MP3 atau solusi berpemilik lainnya. Sementara itu, anak nakal (termasuk Microsoft) sedang sibuk membangun portofolio paten yang diyakini banyak ahli dapat dipecat pada pendukung open source.

Beberapa lisensi membuat referensi eksplisit untuk paten. Misalnya, Lisensi Publik Eclipse secara eksplisit menyebutkan hak paten, dan berisi klausul tentang hukuman jika seseorang mencoba untuk menegaskan hak paten dengan cara yang berbeda. Eclipse Corporation juga berusaha keras untuk memverifikasi kode dan menentukan sumber asalnya dalam hal lisensi, paten, atau hak cipta.

Upaya Tambahan untuk Melestarikan IP

Untuk menggunakan open source, perusahaan harus melakukan upaya signifikan dalam bidang berikut:

  • manajemen distribusi produk;
  • pengurusan izin;
  • penyelesaian konflik hukum dalam hal kewajiban pelanggan;
  • memperhatikan masalah hukum: menjaga kemurnian hak IP, memeriksa hak IP untuk open source, menetapkan sumber asal kode, melacak perubahan dalam versi lisensi, misalnya GPL v3, dll.

Penerimaan persyaratan pelanggan

Beberapa pelanggan besar, dihadapkan pada kerumitan dan ketidakpastian perangkat lunak open source, menolak berurusan dengan produk yang menyertakan open source. Jika Anda masih ingin bekerja dengan klien ini, Anda harus mendapatkan atau mengundang mereka untuk menyertakan persyaratan lisensi komersial untuk kode Anda.

masalah terkait IP

Apakah ketentuan lisensi open source Anda memengaruhi kekayaan intelektual yang membedakan produk Anda? Jika ya, maka IP Anda berisiko.

Jika sistem tertanam menggunakan campuran perangkat lunak Anda sendiri dan perangkat lunak sumber terbuka, maka Anda harus memahami esensi, asal, dan hubungan semua komponen perangkat lunak tersemat. Tanpa wawasan mendalam tentang materi pelajaran, Anda dapat secara tidak sengaja melanggar IP orang lain atau bahkan kehilangan hak atas perangkat lunak Anda sendiri.

Tanpa lisensi paten dan kompensasi, perangkat lunak sistem tertanam yang berumur panjang, harga jual yang relatif tinggi, dan volume penjualan perangkat tertanam dengan fungsi tetap membuat sistem seperti itu menjadi target yang jelas untuk klaim pelanggaran paten oleh "anak nakal" tersebut dan pesaing utama.

Seperti yang ditunjukkan oleh contoh penggunaan QNX Momentics IDE, ada banyak manfaat langsung dari perangkat lunak open source, termasuk waktu pemasaran yang lebih singkat, biaya pengembangan yang lebih rendah, dan lebih banyak kebebasan untuk menambahkan fitur dan inovasi pada produk Anda. Jika Anda menawarkan perangkat lunak Anda sebagai layanan yang memecahkan masalah pelanggan, maka pelanggan tidak peduli apakah Anda menggunakan perangkat lunak sumber terbuka atau tidak, mereka hanya membayar untuk fitur yang mereka butuhkan.

Namun, Anda harus memahami perbedaan antara berbagai lisensi open source dan memilih salah satu yang paling sesuai dengan kebutuhan aplikasi dan pelanggan Anda. Selain itu, bersiaplah untuk bertanggung jawab atas kewajiban lisensi perangkat lunak yang Anda pilih. Anda harus mengetahui persyaratan IP lainnya (seperti hak paten) yang terkait dengan kode program. Berhati-hatilah terhadap basis kode yang tidak menampilkan pesan tentang konsekuensi pelanggaran IP. Mencari proyek yang lebih baik, di mana diusulkan untuk mengganti kerugian yang mungkin terjadi dan di mana pesan layar ditampilkan tentang sumbangan uang untuk mengembangkan kode untuk mengkompensasi biaya yang terkait dengan pelanggaran hak cipta atau paten, dan seterusnya. Pastikan juga perangkat lunak sumber terbuka yang Anda gunakan konsisten dengan kebijakan kekayaan intelektual Anda dan hindari lisensi defensif yang mungkin memaksa Anda untuk mengungkapkan bagian khusus dari kode Anda. Jika produk Anda dibangun ke dalam sistem, maka pertimbangkan juga untuk menawarkan persyaratan lisensi komersial untuk IP Anda.

Penggunaan open source pada perangkat yang disematkan menimbulkan masalah yang lebih kompleks daripada menggunakan perangkat lunak open source pada aplikasi TI, karena yang pertama lebih berisiko. Sebelum memutuskan untuk menggunakan perangkat lunak sumber terbuka apa pun, evaluasi biaya kepemilikan sebenarnya (TTCO) dan kesesuaiannya untuk proyek Anda.

Terakhir, bergabunglah dengan komunitas pengguna dan pengembang sumber terbuka untuk mendapatkan nilai dan keuntungan terbesar bagi diri Anda sendiri!



Memuat...
Atas