Mengapa beberapa pustaka sumber terbuka tidak menyediakan binari? Saya telah memperhatikan bahwa beberapa proyek tunduk kepada pihak ketiga yang mempertahankan versi perangkat lunak saat ini, terutama untuk versi Windows.
Saya bertanya karena sepertinya penghalang untuk adopsi perpustakaan. Ini lebih banyak pekerjaan untuk pengembang karena dia harus mengatur lingkungannya untuk membangunnya. Seorang pengembang juga harus khawatir bahwa ia memperkenalkan bug dengan membangun perpustakaan secara tidak benar.
EDIT : Beberapa pembaruan untuk membahas komentar dan jawaban. Saya sudah menghapus contohnya karena tidak penting dalam diskusi. Juga mengulangi pertanyaan saya karena "beberapa perpustakaan open source menyediakan" daripada "perpustakaan open source cenderung menyediakan" ... tidak menyadari bahwa orang akan tersinggung dengan hal itu.
sumber
Jawaban:
Karena membuat binari windows adalah pekerjaan yang sama sekali berbeda yang membutuhkan basis pengetahuan dan alat yang sama sekali berbeda. Orang-orang tampaknya kesulitan memahami ini tentang pengembang Linux, jadi izinkan saya memutarnya.
sumber
Kairo adalah perpustakaan, bukan aplikasi. Postgres tampaknya memiliki binari Windows . Proyek yang lebih kecil sering tidak menyediakan bangunan karena mereka tidak memiliki infrastruktur / sumber daya.
sumber
.dll
sering menggunakan , jadi biner-biner itu sebagian besar tidak berguna bagi sebagian dari kita. Sumber murni akan lebih baik.Ini adalah bagian dari filosofi open-source "jika Anda ingin sesuatu dilakukan, ambil sekop." Secara alami, ini mengurangi beban kerja pada pengembang jika pengguna hanya mengkompilasi program itu sendiri. Tidak perlu khawatir tentang semua arsitektur, OS, dll ...
Tetapi, jika Anda membuat produk tingkat konsumen (Firefox, Paint.NET, Audacity, Keepass, dll) dan Anda peduli tentang mendapatkan pengguna, Anda harus selalu, selalu, selalu! termasuk binari. Mungkin hanya 2% orang yang menemukan situs web Anda, dan tertarik dengan produk Anda, akan:
(Tentunya di linux banyak hal yang lebih waras, tetapi sebagian besar konsumen masih menggunakan Windows.)
Jauh lebih mudah bagi pendatang baru untuk mengatakan "ooh, versi Windows! Unduh. Jalankan".
Namun, banyak proyek open source bukan tingkat konsumen; mereka menargetkan programmer, yang memiliki toleransi yang jauh lebih tinggi untuk cobaan semacam ini, dan biner adalah DIY. Dalam pengalaman saya, pemrogram bisa sama malasnya dengan pengguna, jadi berhati-hatilah. :)
sumber
Pembuat aplikasi yang ditulis dalam lingkungan Write Once Compile Anywhere (C, C ++, dll) mendapat manfaat dari mendorong langkah kompilasi ke distributor (apt, rpm, yum, dll) yang membuat dan mengemas binari untuk arsitektur populer. Ini mencapai aplikasi portabel maksimal dengan sedikit usaha dari pihak pencipta dan memungkinkan mereka untuk menghabiskan lebih banyak waktu berfokus pada kompetensi inti mereka (mengembangkan aplikasi, tidak menyusun dan hosting untuk beberapa arsitektur). Beberapa pembuat aplikasi WOCA bersedia membayar biaya tambahan dalam kasus-kasus khusus seperti Windows karena - yah - tidak ada orang lain yang akan, para pengguna mengharapkannya, dan mereka tidak ingin menyerah pasar.
Di sisi lain, aplikasi yang ditulis dalam lingkungan Write Once Run Anywhere (Java) atau untuk arsitektur target tertentu (aplikasi OS X, misalnya) dapat memberikan biner tunggal dan sering melakukannya karena mereka hanya perlu membayar kompilasi biaya sekali.
Akhirnya, para penggunanya biasanya merasa nyaman membangun dari sumber atau menggunakan manajer paket OS mereka, sehingga model ini juga memberikan kegunaan yang lebih baik. Pengguna tahu di mana mendapatkan binari (manajer paket mereka), memiliki pengalaman siklus hidup instalasi dan manajemen paket yang konsisten, dan tahu di mana mendapatkan sumber jika mereka membutuhkannya.
sumber
Mengapa saya ingin mengunyah bandwidth yang menyediakan Anda dengan membangun (yang jelas bisa sangat besar) daripada Anda membangun sumber yang saya berikan kepada Anda? Belum lagi bahwa membangun proyek di komputer Anda sendiri akan selalu menghasilkan hasil yang lebih baik karena ini dikompilasi khusus untuk platform Anda ..
sumber
Saya dapat memikirkan dua alasan.
Pertama, Anda memiliki beberapa sistem operasi yang berjalan pada beberapa jenis perangkat keras; jumlah target biner yang harus Anda bangun menjadi tidak terkelola. Ada tiga versi Windows yang masih umum digunakan (XP, Vista, 7) berjalan pada perangkat keras 32-bit atau 64-bit; itu 6 target biner di sana. Situasinya lebih buruk di sisi Linux, dengan berbagai distro yang jauh lebih besar yang berjalan di atas Tuhan tahu perangkat keras apa (x86, PPC, MIPS, SPARC, PA-RISC, dll.). Apakah Anda akan membangun untuk setiap kombinasi yang memungkinkan? Apakah Anda memiliki peralatan dan / atau perangkat lunak untuk melakukannya? Jika ada seseorang di luar sana yang masih berjalan (Tuhan tolong kami) NT pada PII, apakah Anda akan membangun biner untuk mereka?
Kedua, sumber pengiriman berarti bahwa pengguna dapat mengoptimalkan pembangunan untuk lingkungan khusus mereka; mereka dapat mengaktifkan optimasi apa pun yang mereka butuhkan, atau mengubah sumbernya sendiri jika perlu.
sumber
Biasanya, nilai proyek open-source, baik itu aplikasi, sistem, modul atau perpustakaan, adalah bahwa hal itu dapat dipelajari dan / atau dimodifikasi sesuai kebutuhan. Mendistribusikan sumber itu intrinsik ke model penerbitan.
Mendistribusikan biner berisiko karena telah dimodifikasi dalam beberapa cara untuk tujuan jahat. Mengkompilasi proyek dari sumber mencoba untuk mengurangi risiko itu.
sumber
Ini dapat memiliki beberapa alasan. Banyak (jika tidak sebagian besar) proyek sumber terbuka dimulai di Linux. Jadi proyek awal dilakukan untuk sistem ini dan pengemasan dilakukan oleh anggota tim.
Membuat installer Windows adalah pekerjaan ekstra yang membutuhkan pengetahuan yang mungkin tidak dimiliki pengembang Linux. Jadi jika seseorang dari luar tim inti melakukan pekerjaan ini, ia sering disebut secara khusus.
Hal yang sama mungkin berlaku untuk sistem lain seperti OS X atau bahkan distribusi Linux tertentu. Itu semua tergantung siapa yang memiliki pengetahuan dan waktu untuk melakukan pekerjaan ekstra.
sumber