Apakah penting bagi Anda bahwa perangkat lunak adalah "sumber yang tersedia" tetapi bukan "sumber terbuka"


11

Anda mungkin tahu daftar lisensi sumber terbuka yang secara resmi disetujui oleh OSI. Terutama saya kira akan menjadi GPL, MIT, [masukkan lisensi favorit Anda di sini].

Saya baru-baru ini berlari ke sebuah proyek yang walaupun open source (pencipta membuat semua kode sumber tersedia), tidak secara resmi open source di bawah salah satu lisensi resmi itu.

  • Itu merilis sumber, tetapi tidak berjanji untuk melepaskan sumber di masa depan.

  • Itu memungkinkan saran modifikasi, tetapi tidak berjanji untuk menerima tambalan dan melarang distribusi eksternal dari versi tambalan eksternal.

  • Itu memungkinkan penggunaan perangkat lunak dalam proyek komersial atau berbayar, tetapi melarang penjualan perangkat lunak itu sendiri.

Saya kira itu bisa disebut "sumber yang tersedia" bukan open source seperti yang kita pikirkan.

Saya dapat melihat mengapa tim manajemen suatu perusahaan tidak ingin melakukan bisnis dengan perangkat lunak ini. Mereka tidak dapat membayarnya, mereka tidak dapat menjualnya, mereka tidak dapat membuat versi perangkat lunak mereka sendiri dan mendistribusikannya atau menjualnya.

Tetapi apakah itu penting bagi Anda sebagai bagian dari tim rekayasa perangkat lunak yang baru saja menggunakan perangkat lunak ini? Saya masih bisa menyelesaikan pekerjaan saya dengan itu, saya bisa menggunakannya dalam proyek yang saya bayar (tapi saya tidak bisa menjual perangkat lunak itu sendiri, yang toh saya tidak dalam bisnis melakukan), dan saya bisa membuat perubahan pada kode untuk membuatnya berperilaku berbeda untuk kebutuhan saya (tapi saya tidak dapat membuat modifikasi itu publik), dan jika saya ingin modifikasi itu secara resmi dibuat tersedia untuk orang lain, persetujuannya tergantung pada proyek itu sendiri dan mereka memilih apakah untuk memasukkan mereka dalam rilis resmi atau tidak.

Jadi kita tahu bahwa perusahaan yang ingin mendasarkan bisnisnya pada perangkat lunak "sumber tersedia" ini tidak dapat melakukan itu, tetapi sebagai seseorang dari tim rekayasa perangkat lunak, apakah perbedaan itu penting bagi Anda atau apakah mereka tampaknya kurang relevan?

Ingin tahu apa yang orang lain pikirkan tentang ini.


1
Saya pikir bagian dari poin OSS adalah bahwa Anda tidak bergantung pada orang lain untuk menerima dan mendistribusikan tambalan, Anda memiliki sumbernya sehingga Anda dapat melakukan semuanya sendiri (termasuk mengatur semuanya sebagai cabang / produk yang bersaing jika Anda mau)?
Jon Hopkins


Kedengarannya seperti persyaratan lisensi cukup jelas dalam hal perangkat lunak ini. Kedengarannya orang harus menulis kode mereka sendiri daripada menggunakan kode yang dilisensikan dengan cara yang tidak memungkinkan mereka untuk benar-benar menggunakan kode dengan cara yang mereka butuhkan untuk menggunakannya.
Ramhound

Jawaban:


5

Untuk proyek-proyek yang harus dikembangkan dari awal, fungsionalitas yang disediakan oleh perangkat lunak ini, merupakan kenyamanan yang pasti untuk tidak melakukannya.

Tetapi apakah paket open source yang sebanding akan lebih baik tergantung pada faktor-faktor lain:

  • apakah itu akan digunakan untuk menyediakan beberapa layanan atau bundel sebagai bagian dari produk lain?
  • apakah mereka memiliki sumber daya untuk meningkatkan dan memelihara produk secara mandiri?
  • adakah keuntungan kompetitif untuk menggunakan perangkat lunak ini daripada versi open source (baik dalam kode atau manajemen proyek)?

Menjawab tidak pada faktor-faktor ini menunjukkan bahwa OSS adalah pilihan yang lebih baik.

Sebagian besar waktu, kode itu sendiri bukanlah faktor penentu. Orang perlu memeriksa gambaran yang lebih besar.

Proyek-proyek SIDEBAR OSS tidak dapat secara legal menjanjikan mereka akan tetap membuka versi masa depan, atau akan ada versi masa depan. Itulah salah satu alasan mengapa memiliki lisensi terbuka sangat menguntungkan. Juga, proyek OSS tidak diharuskan untuk menerima tambalan dari kontributor (terutama tanpa pengalihan kepemilikan atau hak).


2

Pertanyaan untuk ini dan perpustakaan eksternal lainnya adalah pemeliharaan .

Berapa umur aplikasi Anda dan berapa umur yang tampak dari perpustakaan ini? Semoga Anda menjadi yang terpendek.

Siapa yang akan melakukan perbaikan bug untuk perpustakaan ini? Seperti yang terlihat dari sini, perusahaan Anda harus secara eksplisit mengalokasikan sumber daya di masa depan untuk memelihara perangkat lunak ini, karena Anda tidak dapat mengandalkan bug perbaikan lainnya untuk Anda. Anda tidak dapat berbagi beban pemeliharaan dengan orang lain karena Anda tidak dapat berbagi sumber. Ingin memburu bug kondisi ras yang sulit dipahami dalam kode yang tidak Anda ketahui?

Pemikiran ini saja mungkin membuat perpustakaan terlalu mahal untuk digunakan.

Ini mungkin tidak relevan jika pustaka sangat solid dan kuat dan mudah untuk dikerjakan pada tingkat sumber, tetapi pengalaman saya adalah bahwa tekanan rekan dari proyek open source sejati membuat kode lebih baik karena Anda cenderung melakukan yang terbaik saat itu.

Secara pribadi saya akan berpikir sangat hati-hati tentang apakah saya akan mengadopsi ini atau kode eksternal lainnya, karena seluruh alasan untuk menggunakan kode orang lain adalah bahwa Anda tidak harus menghadapinya sendiri . Pikirkan juga tentang pengelola masa depan - Anda harus melakukan latihan mengubah kode di perpustakaan untuk melihat apakah itu bisa dilakukan sama sekali. Mungkin ada beberapa kejutan yang SANGAT tidak menyenangkan di sini.

Apakah Anda bebas untuk mendiskusikan perpustakaan yang dimaksud?


2

Sejujurnya, saya tidak melihat mengapa tim manajemen perusahaan akan mengalami masalah dengan menggunakan perpustakaan "sumber yang tersedia". Sejauh integrasi ke dalam produk mereka sendiri, mereka dapat menganggapnya sebagai perpustakaan sumber tertutup.

Bagi saya, sebagai seorang programmer, tidak masalah jika perpustakaan adalah "open source" atau "sumber yang tersedia". Saya lebih suka tidak membuat modifikasi lokal ke perpustakaan eksternal, karena itu berarti beban pemeliharaan tambahan. Tidak hanya ketika bug ditemukan di modifikasi lokal saya, tetapi juga pada mengintegrasikan modifikasi berulang kali ketika rilis baru perpustakaan keluar.

Satu-satunya situasi di mana, IMHO, "open source" mengalahkan lisensi "sumber yang tersedia" yang diuraikan dalam pertanyaan adalah kapan

  • lisensi produk kami juga mensyaratkan pengungkapan sumber perpustakaan yang ada
  • kami berada dalam bisnis memproduksi versi perpustakaan yang ditingkatkan / diperluas

1

Inilah sebabnya mengapa Free Software Foundation menggunakan istilah 'gratis' atau 'tidak bebas' untuk menggambarkan perangkat lunak. Mereka tidak mengacu pada harga, tetapi pembatasan yang ditempatkan pada penggunaan atau distribusi perangkat lunak.

Sepertinya Anda telah menemukan salah satu kasus sudut yang langka di mana Anda memiliki akses penuh ke kode sumber sesuatu, tetapi perangkat lunaknya bukan "Open Source" menurut definisi OSI .

Entah istilah memiliki kapasitas untuk menjadi keliru. Saya membayar $ 50 untuk salinan emacs pertama saya (pada kaset QIC), tetapi emacs adalah perangkat lunak gratis . Saya memiliki kode sumber untuk beberapa aplikasi berpemilik yang digunakan perusahaan saya secara internal, tetapi itu bukan open source.

Hal yang memunculkan bendera merah terbesar (setidaknya bagi saya) bukanlah jaminan untuk mengakses kode sumber versi masa depan. Jika Anda sangat bergantung pada kemampuan untuk memodifikasi alat ini, saya akan berhati-hati. Bahkan jika Anda memiliki perjanjian lisan dengan vendor bahwa Anda akan selalu memiliki kode, kecuali jika itu dalam bentuk kontrak .. perjanjian itu tidak pernah terjadi.

Sebagai CTO, saya mencoba yang terbaik untuk memastikan bahwa kami tidak bergantung pada perangkat lunak yang tidak bebas. Saya telah berada di ujung buruk kunci vendor beberapa kali di masa lalu, kesalahan yang ingin saya hindari. Meskipun kami memang menggunakan beberapa barang milik, bisnis kami tidak akan mengalami kesulitan yang tidak semestinya jika tiba-tiba kami tidak dapat menggunakannya lagi.

Bagi saya sepertinya Anda sedang membangun perangkat lunak ini dan memiliki akses ke kode, jadi saya sarankan untuk mendapatkan sesuatu secara tertulis yang mengatakan Anda akan selalu memiliki akses. Apa yang terjadi jika vendor dibeli?


-1

Ini sangat penting. Masalah utama dengan pendekatan "sumber tersedia" yang telah Anda jelaskan:

  • Anda tidak mengendalikan nasib teknologi Anda jika Anda tidak memiliki kebebasan untuk memodifikasi sumbernya. Sering meretas sumber secara langsung dapat lebih disukai daripada solusi yang berantakan.
  • Anda tidak memiliki jaminan bahwa perangkat lunak akan terus dipelihara, dan Anda tidak memiliki opsi untuk melakukannya sendiri yang Anda dapatkan dengan open source sejati.
  • Karena kedengarannya seperti lisensi khusus, Anda mungkin memiliki risiko hukum lebih besar dibandingkan dengan menggunakan sesuatu yang terkenal dan terbukti seperti lisensi GPL atau BSD.
  • Jika itu bukan open source nyata, Anda tidak akan mendapatkan tingkat komunitas yang membantu di sekitarnya yang merupakan keuntungan besar bagi banyak proyek open source

Saran saya: cobalah membujuk pencipta untuk merilis perangkat lunak di bawah lisensi sumber terbuka. Itu harus menjadi win / win untuk semua orang - Anda karena Anda mendapatkan perangkat lunak yang Anda inginkan di bawah lisensi open source, pencipta karena membuat proyek open source kemungkinan akan membuat perangkat lunak jauh lebih sukses dalam jangka panjang.


Apa itu "open source nyata" lisensi menggambarkan kepada saya terdengar nyata bagi saya.
Ramhound
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.