Sebagai seorang siswa muda yang bercita-cita untuk berkarir sebagai programmer, bagaimana perasaan saya tentang perangkat lunak open source? [Tutup]


17

Kadang-kadang di beberapa situs web teknologi, judul seperti ini akan muncul: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -milyar

Pikiran awal saya tentang pemerintah dan organisasi yang pindah ke perangkat lunak open source adalah bahwa banyak programmer akan kehilangan pekerjaan dan industri akan menyusut. Pada saat yang sama proliferasi dan penggunaan perangkat lunak open source tampaknya sangat dianjurkan di banyak komunitas pemrograman.

Apakah pemikiran saya bahwa merangkul penuh perangkat lunak open source di mana-mana akan merugikan kesalahpahaman industri perangkat lunak? Jika tidak, mengapa banyak programmer menyukai perangkat lunak open source?


4
Jika Anda berpikir bahwa strategi sumber terbuka berarti PHK, maka bacalah "Surat Strategi V" karya Joel Spolsky. joelonsoftware.com/articles/StrategyLetterV.html
user16764

Jawaban:


26

Hanya karena sebuah proyek bersifat open-source bukan berarti programmer tidak mencari nafkah darinya. Pemerintah dan perusahaan menyumbangkan sejumlah besar uang ke yayasan seperti mozilla dan apache.

Juga perlu diingat, perusahaan harus merekrut programmer untuk MENGUBAH proyek open source untuk menyesuaikannya untuk bisnis mereka. Perusahaan tidak dapat menggunakan alat rak untuk semuanya. Ini adalah sesuatu yang tidak dapat dilakukan dengan perangkat lunak sumber tertutup sehingga ini adalah contoh bagaimana Anda dapat membuka peluang baru untuk pemrograman. Ini bukan tentang menghilangkan programmer atau tidak membayar mereka, ini tentang mengatur ulang struktur agar mudah-mudahan menjadi lebih efisien sehingga kita memiliki lebih banyak waktu untuk proyek-proyek BARU.

Hal lain yang perlu disadari tentang open source adalah Anda tidak perlu mengungkapkan kode sumber program Anda kecuali Anda akan mendistribusikan program. Untuk program yang akan digunakan perusahaan untuk dirinya sendiri di server atau kebutuhan antar perusahaan, mungkin TIDAK akan mendistribusikan dan karenanya tidak perlu mengungkapkan kode sumber untuk program yang dimodifikasi.


Orang-orang yang bekerja pada proyek-proyek arus utama juga diposisikan dengan sempurna untuk mendapatkan pekerjaan kustomisasi juga berdasarkan fakta bahwa mereka sudah mengetahui bagian dalam proyek.
Matthew Scharley

Saya bertanya-tanya bagaimana Steve Streeting (pendiri proyek Ogre3D) berhasil bekerja di bidang grafis 3D dan bagaimana hal itu memengaruhi mesin yang ia buat.
jokoon

5

Ekonomi open source sangat aneh dan seringkali kontra-intuitif. Ambil produk seperti lembar kerja Excel (hanya sebuah contoh, produk komersial besar mana yang akan melakukannya). Bisnis membangun dan mendukung Excel mempekerjakan sejumlah karyawan, katakanlah X. X mungkin akan terdengar seperti angka besar bagi Anda dan saya, tetapi saya tidak tahu apa itu. Yang saya tahu adalah jumlah yang sangat kecil dibandingkan dengan jumlah orang yang mencari nafkah mendukung Excel di kantor, sekolah, dan lembaga lainnya dan membuat alat menggunakan Excel. Angka itu mungkin X * 10000. Jadi, jika Anda mengganti Excel dengan produk sumber terbuka, Anda mengganti X tetapi X * 10000 tidak terpengaruh.

Bahkan, itu tidak sesederhana itu. Tanpa karyawan X, lebih banyak pengembang berbayar diperlukan untuk melatih, memecahkan masalah, dan memodifikasi spreadsheet sumber terbuka. Hanya karena tidak ada perusahaan komersial di belakang produk tidak berarti bisnis tidak akan menuntut (dan membayar) layanan yang baik. Bahkan, jika produk open source Anda mendapatkan daya tarik yang cukup, perusahaan terkadang bersedia mendukung yayasan yang menjamin pengembangan produk tersebut di masa depan. Ini terutama benar jika kepentingan bisnis mereka terkait erat dengan produk. Pikirkan Mozilla , Yayasan Perangkat Lunak Apache , Proyek Mono , atau Canonical .

Akhirnya, alat open source tidak pernah menjadi ancaman ketika Anda mencoba menjual layanan. Pikirkan organisasi seperti Facebook, Twitter, dan bahkan Stackoverflow. Pada akhirnya, organisasi-organisasi ini tidak ingin menjual perangkat lunak kepada Anda. Mereka ingin membuat jaringan raksasa. Setelah jaringan cukup besar itu menciptakan gravitasi sendiri. Menggunakan "produk" apa pun tidak masuk akal karena jumlah peserta adalah yang paling penting. Teknologi yang mendasarinya hanyalah detail.


3

Menurut saya, baca berbagai ideologi di balik beberapa proyek OpenSource yang lebih menonjol, seperti Chromium, Mozilla, dll., Lalu buat keputusan sendiri. Tidak ada yang benar-benar memiliki hak untuk memberitahu Anda bagaimana merasakan satu atau lain cara.

Yang sedang berkata, saya merangkul OpenSource karena saya suka ide transparansi dalam desain perangkat lunak. Saya juga suka bahwa komunitas pengguna memiliki dampak yang sangat nyata dan langsung pada arah proyek. Anda tidak mendapatkannya di lingkungan sumber tertutup.

Jika saya ingat dengan benar, salah satu poin yang dibuat pendukung Creative Commons adalah bahwa dengan menjadikan sesuatu "gratis," Anda mengizinkan orang menggunakan produk dari ide-ide Anda dengan cara yang mungkin tidak pernah Anda bayangkan. Ini adalah video yang sangat saya nikmati: https://creativecommons.org/videos/a- Shared-culture


2
Saya tidak berpikir bahwa proyek seperti mozilla akan mengurangi kebutuhan akan programmer. Kecuali jika perusahaan Anda mengembangkan peramban web itu sendiri, yang saya sangat ragukan. Juga, saya tidak berpikir bahwa kebanyakan orang akan melihat kode sumbernya. Pemrogram peduli dengan kode sumber, pelanggan tidak.
Joel Gauvreau

1

Kita tidak akan pernah melihat pelukan penuh .

Kami senang mencoba berkontribusi secara positif kepada dunia. Selain itu, berpartisipasi dalam proyek open source merupakan nilai tambah bagi CV Anda.


3
Kami tidak memperlakukan kontribusi sumber terbuka sama dengan pengalaman yang dikompensasi. Faktanya, pengalaman kami telah mengajarkan kami untuk tidak mempekerjakan orang yang telah memberikan kontribusi besar pada proyek sumber terbuka karena pengembangan perangkat lunak dunia nyata adalah 10% menyenangkan dan 90% pekerjaan kasar yang membosankan. Para kandidat yang kami pekerjakan yang besar dalam proyek-proyek open source tidak ingin melakukan pekerjaan kasar yang membosankan yang diperlukan untuk menghasilkan solusi berkualitas profesional.
bit-twiddler

6
@ bit-twiddler: Tentunya, seseorang harus melakukan bagian-bagian yang membosankan dalam proyek-proyek open source juga
Anto

1
@Anto: masalahnya adalah bagian-bagian yang membosankan sering tidak dilakukan pada proyek open source. Sebagai contoh, salah satu atribut yang membedakan produk komersial berkualitas tinggi dari perangkat lunak sumber terbuka mereka adalah dokumentasi. Dokumentasi untuk proyek-proyek open source yang paling sukses pun tidak ada artinya dibandingkan dengan proyek-proyek komersial berskala sama yang sukses. Kurangnya dokumentasi yang memadai membuat belajar produk open source menjadi masalah besar. Saya tidak dibayar untuk mengumpulkan dan menguraikan dokumentasi yang ditulis dengan buruk. Saya dibayar untuk menghasilkan hasil.
bit-twiddler

@ bit-twiddler: Jadi programmer Anda juga diharapkan untuk mengeluarkan dokumentasi yang ditulis dengan baik? Bukankah lebih murah untuk menyewa penulis teknis, dan bukankah mereka umumnya menghasilkan produk yang lebih baik?
David Thornley

1
@ David Thornley: Ya, semua personel pengembangan diharapkan dapat menulis dengan baik selain menjadi pengembang perangkat lunak siklus hidup penuh yang kompeten (yaitu, kami tidak memiliki personel khusus kode). Tidak ada yang tahu produk lebih baik daripada tim desain dan implementasi. Penulis teknis tunggal kami ditugaskan untuk mengoordinasikan dan memijat dokumentasi yang dapat dikirim.
bit-twiddler

1

Open source adalah ancaman bagi perusahaan perangkat lunak dalam kemasan yang produknya berada di area yang cukup populer sehingga cukup diminati komunitas open source untuk mengembangkan alternatif gratis. Saya pikir satu hal yang penting adalah penurunan harga yang signifikan yang dapat dibebankan oleh Oracle dan Microsoft untuk perangkat lunak basis data. mysql lebih dari cukup untuk sebagian besar proyek dan pada dasarnya gratis kecuali pelanggan ingin membayar untuk dukungan sehingga mereka akan memiliki seseorang di hook jika semuanya berjalan menyamping.

Ini benar-benar komplementer untuk bisnis konsultasi dan layanan karena menurunkan total biaya produksi dan meningkatkan produktivitas pengembang mereka. Perusahaan menyukainya karena alasan yang sama walaupun beberapa bersikeras menemukan vendor untuk memberikan dukungan komersial sehingga ada seseorang yang bisa dihubungi / disalahkan jika tidak sesuai harapan.


MySQL dimiliki oleh Oracle. Tidak ada yang menghentikan Oracle dari menutup sumber pada produk itu sama seperti tidak ada yang menghentikan Oracle dari menghapus input komunitas ke Java. Perusahaan perangkat lunak tidak menjual perangkat lunak - mereka menjual ketenangan pikiran kepada para eksekutif! Perusahaan milik publik terus membeli perangkat lunak komersial karena mereka ingin dapat menggonggong pada perusahaan dengan ukuran yang sama dan meminta seseorang melompati lingkaran untuk membuat masalah hilang. Menjual IP adalah cara perusahaan perangkat lunak kecil menjadi perusahaan perangkat lunak besar. Model hanya layanan sepenuhnya tergantung pada biaya tenaga kerja.
bit-twiddler

2
Open source adalah ancaman dengan cara yang persis sama dengan pesaing adalah ancaman. Jika database Oracle (tepatnya apa yang Anda sebut sekarang?) Secara signifikan lebih baik daripada, katakanlah, PostgreSQL, mereka akan dapat menjualnya. Jika tidak, mengapa kita harus membayar Oracle?
David Thornley

1

Risiko terbesar ...

  • Volatiliity: banyak OSS dikembangkan dalam semburan. Ada proyek-proyek yang menonjol, rilis stabil di yang kurang dikenal, tetapi karena alam semesta OSS sangat berbeda dan terfragmentasi di banyak bidang (dan terus berkembang), jarang proyek menjadi cukup matang untuk mengatakan bahwa pembangunan akan teratur, tidak terbatas, atau abadi. Mengubah jalur tengah tentu saja mahal, bahkan jika produk gratis karena integrasi, regresi, dan dukungan langsung tidak gratis, bahkan jika tersedia.

  • Kurangnya akuntabilitas: tidak ada orang yang 'berinvestasi' sehingga sulit mencari jalan keluar ketika hal-hal buruk terjadi. Tidak ada garansi. Tidak ada yang menyerupai satu pun. Satu-satunya jaminan yang umumnya Anda miliki adalah reputasi dan pada akhirnya pengalaman pribadi Anda sendiri. Karena gratis, pengembang dapat meminta Anda untuk pergi dengan firetruck, dan tidak peduli sedikit pun tentang kurangnya kesuksesan Anda, atau yang kurang penting jika Anda terus menggunakan produk mereka.


2
Dan ini berbeda dari perangkat lunak komersial, kepemilikan, sumber tertutup dengan cara apa? Pemilik selalu dapat memutuskan untuk pergi ke arah lain, dan satu-satunya produk umum yang pernah saya dengar dengan jaminan yang layak adalah TurboTax.
David Thornley

Ini berbeda dalam banyak hal. Salah satu caranya adalah komersial, bagi produsen perangkat lunak yang untung, terutama komponen, perpustakaan, dan waktu berjalan, umumnya melakukan pekerjaan yang jauh lebih baik dalam menyediakan transisi yang lebih lancar. Sebagai contoh, dengan penghitungan eksplisit dari perubahan yang pecah, dan apa yang harus dilakukan atau tidak dilakukan karena perubahan yang melanggar ini. Pencacahan eksplisit ini biasanya disiapkan dan diterbitkan jauh sebelum perangkat lunak itu sendiri bahkan tersedia, dengan errata pasca rilis segera tersedia, dan informasi ini berada di lokasi dan format yang umumnya konsisten.
JustinC

1

Merangkul alat dan hal-hal OSS, tetapi jangan terobsesi oleh mereka (dan ya, saya telah melihat banyak orang terobsesi dengan hal-hal open source, hampir selalu merugikan mereka).

Pilih dan pilih alat terbaik untuk setiap pekerjaan, terlepas dari apakah itu open source atau tidak (ingatlah, beberapa lisensi open source membuat apa pun yang dilisensikan di bawahnya tidak berguna untuk pekerjaan komersial, terutama perpustakaan berlisensi GPL menderita karena hal ini).


1

Mayoritas Perangkat Lunak Open Source modern dikembangkan oleh karyawan penuh waktu, yang terutama dibayar untuk mengembangkannya. Selebihnya dikembangkan oleh mereka yang dibayar untuk melakukan sesuatu yang bergantung pada perangkat lunak yang mereka kembangkan, dan kerja kolaboratif di atasnya, crowdsouring yang mendukung dan memelihara benar-benar wajib bagi mereka.


1

Sebagian besar programmer tidak dibayar per salinan yang didistribusikan dari perangkat lunak yang mereka buat. Mereka dibayar satu kali biaya untuk waktu yang dihabiskan. Bahkan perusahaan yang mempekerjakan programmer umumnya tidak menghasilkan uang per salinan yang dijual. Dengan beberapa pengecualian penting seperti Microsoft dan Adobe, perangkat lunak biasanya merupakan bagian dari infrastruktur mereka, seperti situs web perusahaan atau alat internal, atau diberikan sebagai bagian dari produk atau layanan lain.

Yang lain telah menunjukkan bahwa sebagian besar kontributor open source utama memiliki sponsor perusahaan. Di sisi penghobi, saya merasa menarik bahwa orang selalu fokus pada apa yang diberikan dan bukan diterima. Ini seperti seorang tukang listrik yang menerima semua komponen rumah secara gratis, sudah berkumpul kecuali untuk beberapa perbaikan kabel yang dia lakukan sendiri, dan orang-orang menganggapnya gila jika dia menghabiskan beberapa jam satu akhir pekan mengajar orang lain untuk melakukan perbaikan yang sama untuk rumah lain yang mendapat kesepakatan yang sama. Tentu, dia memberikan sebagian dari waktu dan keahliannya secara gratis, tetapi sebagai imbalannya dia mendapatkan produk yang bagus senilai beberapa kali pekerjaan yang dia lakukan dan memastikan ekosistem yang sehat untuk waktu berikutnya dia membutuhkan sesuatu.


0

Bagaimana perasaanmu? Astaga, selanjutnya Anda akan bertanya "bagaimana saya berbicara dengan wanita". Open source tidak akan pernah menggantikan sebagian kecil dari SW yang dibayar. Bagi sebagian besar organisasi, peningkatan biaya untuk pindah dari apa yang sudah mereka ketahui ke hal lain, bahkan gratis, lebih dari biaya SW.


0

Filosofi utama dari sumber bebas / terbuka (seperti yang saya lihat) adalah bahwa ketika Anda mendistribusikan perangkat lunak, Anda juga mendistribusikan sumbernya. Sumber terbuka tidak harus berarti bebas biaya. Dan tentu saja dalam proyek besar apa pun, cukup memilih solusi open source tidak berarti Anda hanya mengambil sesuatu dari rak dan menancapkannya dan Anda selesai. Untuk aplikasi besar apa pun, Anda perlu menyesuaikannya untuk kebutuhan spesifik Anda (bisa sesederhana mengaturnya dan memigrasikan sistem Anda yang ada ke sana atau serumit memodifikasi sebagian besar dari itu) dan memiliki mekanisme yang dapat diandalkan untuk mendukung serta pembaruan / perbaikan bug dengan perangkat lunak asli. Itu berarti akan selalu ada pekerjaan untuk programmer. Belum lagi, untuk proyek open source utama,

Pikirkan seperti ini, jika ada solusi open source yang matang untuk masalah Anda yang sudah ada di luar sana dan digunakan oleh banyak orang, apakah masuk akal untuk tenggelam dalam jumlah besar uang tunai untuk sesuatu yang tidak mungkin setua itu ? Ini lebih efisien untuk menggunakannya. Ini bukan tentang melestarikan pekerjaan (seperti yang saya katakan akan selalu ada kebutuhan untuk programmer), tetapi naluri bisnis yang sederhana, yang bahkan lebih penting ketika uang pembayar pajaknya. Menghindari open source atas nama menjaga pekerjaan hanya menciptakan lingkungan buatan, membatasi berbagi teknologi dan IMHO umumnya buruk untuk kesehatan komunitas pemrograman.



0

Bagi saya, open source juga bersifat politis: ini memungkinkan programmer untuk saling membantu sehingga kerja keras tidak harus diulang kembali dan tidak boleh digunakan di antara proyek.

Itu juga menetapkan seperangkat aturan latar belakang yang lebih baik untuk proyek, itu tidak di bawah aturan pengelolaan: pada akhirnya, hasilnya adalah kode kualitas yang lebih baik dan umur panjang.

Ketahuilah bahwa subjek ilmu komputer jauh lebih luas, dan ada beberapa perangkat lunak yang sangat rumit sehingga tidak ada begitu banyak orang yang kompeten untuk menulisnya, memeliharanya, dan juga menambahkan fitur-fitur menarik.

Saya benar-benar menemukan argumen Anda "banyak programmer akan kehilangan pekerjaan mereka dan industri akan menyusut" sangat menyesatkan, tidak hanya tentang industri perangkat lunak, tetapi untuk dunia pada umumnya. Ingat gelembung web: mudah untuk menipu orang yang tidak memprogram di perusahaan. Open source adalah cara yang aman untuk membatasi hal itu.

Anda juga harus berpikir bahwa perangkat lunak tidak seperti banyak industri lain: Anda memberikan sesuatu yang mudah berubah, sesuatu yang tidak dapat bekerja dengan kapitalisme. Bayangkan saja jika kami dapat menduplikasi objek fisik, tetapi Anda harus membayar untuk setiap pil aspirin yang Anda duplikat, karena molekulnya semacam "dimiliki" oleh seseorang. Itu sangat masuk akal. Sekarang pikirkan tentang menyalin air bersih dan murni (yang suatu hari nanti akan menjadi mahal): apakah menurut Anda secara etis dan filosofis benar untuk membuat orang membayar untuk hal seperti itu?

Jika programmer kehilangan pekerjaan karena open source, itu mungkin karena mereka tidak dapat mereproduksi kualitas perangkat lunak yang sama, sehingga mereka layak dipecat. Tetapi itu tidak berarti bahwa mereka harus memiliki lebih sedikit programmer yang memiliki pekerjaan: itu hanya masalah komunitas, kerja tim dan etika: perusahaan harus membayar programmer baik untuk mengimplementasikan solusi untuk masalah menggunakan perangkat lunak yang ada, atau menyewa programmer yang lebih kompeten yang dapat menambahkan fitur untuk kode yang ada.

Ambil iOS, windows phone, symbian dan android: mereka 75% melakukan hal yang sama, yang berarti "roda" yang hampir sama. Hanya rasa yang berbeda, tetapi pada akhirnya, banyak uang dihabiskan karena perusahaan ingin bertahan dengan cita-cita mereka.

Open source tidak hanya bersifat politis, tetapi juga tentang inovasi: bagaimana Anda ingin memberikan kenyataan pada ide baru jika Anda harus memulai kembali semuanya dari awal lagi dan lagi?


0

Apa yang dilakukan oleh perangkat lunak Free / Open Source adalah menetapkan garis dasar: jika perusahaan Anda tidak dapat menghasilkan sesuatu yang lebih baik daripada alternatif F / OS, itu tidak akan mampu menjual banyak salinan. Jika perusahaan Anda dapat menawarkan sesuatu yang jauh lebih baik daripada F / OS yang tersedia, itu akan dapat menjual salinan dan menghasilkan keuntungan. Oleh karena itu, salah satu penggunaannya adalah mengurangi kemampuan perusahaan untuk mendapatkan dengan menjual perangkat lunak yang buruk.

Ini juga menurunkan hambatan masuk. Siapa pun dengan desktop atau laptop setengah jalan modern dapat, tanpa mengeluarkan sepeser pun untuk lisensi perangkat lunak, memiliki OS yang sangat fungsional dengan GUI yang mudah digunakan dan lingkungan pengembangan yang sangat baik (ada banyak orang yang berpikir MS Windows dengan Visual Studio lebih baik daripada ini semacam lingkungan, dan banyak yang tidak).

Oleh karena itu, F / OSS membantu pengusaha perangkat lunak memulai bisnis dengan biaya rendah. Ini meningkatkan pengaruh dan keuntungan dari inovator perangkat lunak dibandingkan dengan orang-orang keuangan, yang adalah orang-orang yang mengendalikan sebagian besar penggunaan komputer non-Universitas di masa lalu. Banyak kisah sukses besar baru-baru ini akan lebih sulit untuk dilangsungkan, mungkin mustahil, tanpa F / OSS dan dampaknya.

Ini mengurangi kesempatan untuk menghasilkan banyak uang tanpa kemampuan yang sesuai, yang bisa dibilang adalah hal yang baik.

Pengembang yang tidak terlalu baik akan menemukan celah dalam perangkat lunak internal untuk perusahaan yang tidak mengandalkan sistem komputer mereka sebagai aset strategis, dan pekerjaan itu tidak akan banyak dipengaruhi oleh F / OSS.

Pengembang yang sangat baik tetapi bukan tipe pengusaha tetap akan melakukan dengan baik dengan perusahaan yang menjual perangkat lunak komersial non-F / OS berkualitas baik. Pasar berbasis uang lebih efektif dalam menyediakan banyak kebutuhan daripada pasar reputasi F / OSS, dan jauh lebih baik dalam memproduksi barang-barang yang diperlukan yang membosankan. Ada banyak aplikasi penting yang sebagian besar pengembang F / OSS akan hindari.

Jadi, secara keseluruhan, saya pikir itu sehat untuk komunitas pembangunan. Ini memungkinkan para pengembang lebih baik untuk menjadi kaya, dan berfungsi sebagai insentif untuk membuat produk yang baik (dan sebagian besar pengembang lebih suka bekerja pada produk yang baik daripada yang buruk). Ini bisa melukai pengembang yang tidak sebagus itu, atau bekerja untuk perusahaan yang dijalankan dengan buruk, tetapi itu tidak mengurangi permintaan terlalu banyak, dan mereka mungkin bisa menemukan pekerjaan.

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.