Programcı olarak kariyer yapmak isteyen genç bir öğrenci olarak, açık kaynaklı yazılım hakkında ne düşünmeliyim? [kapalı]


17

Bazı teknoloji web sitelerinde arada bir böyle bir başlık çıkacaktır: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -milyar

Açık kaynak yazılıma geçiş yapan hükümet ve kuruluşlar hakkındaki ilk düşüncem tonlarca programcının işini kaybedeceği ve endüstrinin daralacağıdır. Aynı zamanda, açık kaynak kodlu yazılımların çoğalması ve kullanımı birçok programlama topluluğunda büyük ölçüde teşvik edilmektedir.

Her yerde açık kaynaklı yazılımların tam olarak benimsenmesinin yazılım endüstrisine bir yanılgı yaratacağını mı düşünüyorum? Değilse, neden bu kadar çok programcı açık kaynak yazılımını seviyor?


4
Açık kaynaklı bir stratejinin işten çıkarmalar anlamına geldiğini düşünüyorsanız Joel Spolsky'nin "Strateji Mektubu V" bölümünü okuyun. joelonsoftware.com/articles/StrategyLetterV.html
user16764 14:11

Yanıtlar:


26

Bir projenin açık kaynak olması, programcıların geçimini sağlamadığı anlamına gelmez. Hükümetler ve şirketler mozilla ve apache gibi vakıflara büyük miktarda para bağışlıyor.

Ayrıca, şirketlerin işlerini özelleştirmek için açık kaynak projesini DEĞİŞTİRMEK için programcılar kiralaması gerektiğini unutmayın. Şirketler raf araçlarını her şey için kullanamazlar. Bu, kapalı kaynaklı yazılımlarla yapılamayan bir şeydir, bu nedenle programlama için yeni fırsatları nasıl açabileceğinize bir örnektir. Programcıları ortadan kaldırmak ya da ödememek değil, umarım işleri daha verimli hale getirmek için yapıyı yeniden düzenlemekle ilgilidir, bu yüzden YENİ projeler için daha fazla zamanımız var.

Açık kaynak hakkında farkına varmanız gereken bir diğer şey de, programı dağıtmayacaksanız, programınızın kaynak kodunu ortaya çıkarmak zorunda olmamanızdır. Bir şirketin kendi sunucularında veya şirket içi ihtiyaçlarında kullanacağı programlar için, muhtemelen dağıtılmayacak ve bu nedenle değiştirilen programın kaynak kodunu göstermesi gerekmeyecektir.


Ana hat projelerinde çalışan insanlar da, projenin iç kısımlarını zaten bildikleri gerçeğinden dolayı bu özelleştirme işlerine girmek için mükemmel bir şekilde konumlandırılmıştır.
Matthew Scharley

Ogre3D projesinin kurucusu Steve Streeting'in 3D grafikler alanında nasıl çalışmayı başardığını ve tasarladığı motoru nasıl etkilediğini merak ediyorum.
jokoon

5

Açık kaynak ekonomisi oldukça gariptir ve genellikle sezgiseldir. Excel elektronik tablosu gibi bir ürün alın (sadece büyük bir ticari ürünün yapacağı bir örnek). Excel'i kurma ve destekleme işinde, X'in X'in muhtemelen size ve benim için büyük bir sayı gibi geleceğini, ancak bunun ne olduğu hakkında hiçbir fikrim yok. Bildiğim şey, ofislerde, okullarda ve diğer kurumlarda yaşayan bir Excel'i yaşayan ve Excel kullanarak araçlar oluşturan insanların sayısıyla karşılaştırıldığında küçük bir sayı olması. Bu sayı muhtemelen X * 10000'dir. Bu nedenle, Excel'i açık kaynaklı bir ürünle değiştirirseniz, X'i değiştirirsiniz, ancak X * 10000 etkilenmez.

Aslında, o kadar da basit değil. X çalışanları olmadan, açık kaynak e-tabloyu eğitmek, sorun gidermek ve değiştirmek için daha fazla ücretli geliştiriciye ihtiyaç vardır. Ürünün arkasında ticari bir işletme olmaması, işletmenin iyi hizmet talep edemeyeceği (ve ödeyemeyeceği) anlamına gelmez. Aslında, açık kaynak ürününüz yeterli çekişe sahipse, şirketler bazen söz konusu ürünün gelecekteki gelişimini garanti eden bir vakfı desteklemeye istekli olurlar. Bu, özellikle ticari çıkarları ürüne sıkı sıkıya bağlıysa geçerlidir. DüşünMozilla , Apache Yazılım Vakfı , Mono Projesi veya Kanonik .

Son olarak, bir hizmet satmaya çalışırken açık kaynaklı araçlar hiçbir zaman bir tehdit oluşturmaz. Facebook, Twitter ve hatta Stackoverflow gibi kuruluşları düşünün. Sonuçta, bu kuruluşlar size yazılım satmak istemiyor. Dev bir ağ oluşturmak istiyorlar. Ağ yeterince büyük olduğunda kendi yerçekimini oluşturur. Başka bir "ürün" kullanmak hiç mantıklı olmaz çünkü en önemli şey katılımcı sayısıdır. Temel teknoloji sadece bir ayrıntı.


3

Chromium, Mozilla vb.Gibi daha belirgin OpenSource projelerinin arkasındaki çeşitli ideolojileri okuyun ve sonra kendi kararınızı verin. Hiç kimsenin size şu ya da bu şekilde nasıl hissedeceğinizi söyleme hakkı yoktur.

Bununla birlikte, OpenSource'u kucaklıyorum çünkü yazılım tasarımında şeffaflık fikrini seviyorum. Ayrıca, kullanıcı topluluğunun projenin yönü üzerinde çok gerçek ve doğrudan bir etkiye sahip olmasını seviyorum. Bunu kapalı kaynaklı bir ortamda elde edemezsiniz.

Doğru hatırlıyorsam, bir Creative Commons destekçisinin öne sürdüğü noktalardan biri, şeyleri "özgür" hale getirerek, insanların fikirlerinizin ürününü hiç hayal etmediğiniz şekillerde kullanmalarına izin vermenizdi. Bu özellikle beğendiğim bir video: https://creativecommons.org/videos/a-shared-culture


2
Mozilla gibi projelerin programcı ihtiyacını azaltacağını düşünmüyorum. Şirketiniz kendi web tarayıcısını geliştirmedikçe, gerçekten şüpheliyim. Ayrıca, çoğu insanın kaynak koduna bakacağını bile sanmıyorum. Programcılar kaynak kodu önemser, müşteriler umursamaz.
Joel Gauvreau

1

Asla tam bir kucak görmeyeceğiz .

Dünyaya olumlu katkıda bulunmaya çalışmayı seviyoruz . Ayrıca, açık kaynak kodlu bir projeye katılmak CV'niz için harika bir PLUS.


3
Açık kaynak katkılarına telafi edilmiş deneyimler gibi davranmıyoruz. Aslında, deneyimimiz bize açık kaynaklı projelere büyük katkılarda bulunan kişileri işe almamayı öğretti, çünkü gerçek dünyadaki yazılım geliştirme% 10 eğlenceli ve% 90 sıkıcı homurdanma işi. Açık kaynak projelerinde büyük olan işe aldığımız adaylar, profesyonel kalitede çözümler üretmek için gerekli olan sıkıcı homurdanma işi yapmak istemiyordu.
bit-twiddler

6
@ bit Twiddler: Şüphesiz, birisi açık kaynak projelerine sıkıcı bölümlerini yapmak zorunda da
Anto

1
@Anto: Sorun, sıkıcı parçaların açık kaynak projelerinde sık sık gerçekleştirilmemesidir. Örneğin, yüksek kaliteli ticari ürünleri açık kaynaklı yazılım meslektaşlarından ayıran özelliklerden biri belgelendirmedir. En başarılı açık kaynaklı projelerin belgeleri bile aynı başarılı ticari ürünlerin belgelerine kıyasla zayıflar. Yeterli dokümantasyon eksikliği, açık kaynaklı ürünleri öğrenmeyi büyük bir acı haline getirir. Kötü yazılmış belgeleri toplamak ve deşifre etmek bana ödenmiyor. Sonuç üretmem için bana para ödeniyor.
bit-twiddler

@ bit-twiddler: Yani programcılarınızın iyi yazılmış belgeler hazırlaması bekleniyor mu? Teknik yazar kiralamak daha ucuz değil mi ve genellikle daha iyi bir ürün üretmiyorlar mı?
David Thornley

1
@David Thornley: Evet, tüm geliştirme personelinin yetkin tam yaşam döngüsü yazılım geliştiricileri olmanın yanı sıra iyi yazabilmesi beklenmektedir (yani, yalnızca kodlu personelimiz yoktur). Ürünü tasarım ve uygulama ekibinden daha iyi kimse bilmiyor. Tek teknik yazarımız, teslim edilebilir belgeleri koordine etmek ve masaj yapmakla görevlidir.
bit-twiddler

1

Açık kaynak, ürünleri ücretsiz bir alternatif geliştirmek için açık kaynak topluluğuna yeterince ilgi duyacak kadar popüler bir alanda olan paket yazılım şirketleri için bir tehdittir. Bence bir örnek nokta hem Oracle hem de Microsoft'un veritabanı yazılımı için ücret alabileceği fiyatlardaki önemli düşüş. mysql çoğu proje için fazlasıyla yeterlidir ve müşteri destek için ödeme yapmak istemediği sürece temelde ücretsizdir.

Danışmanlık ve hizmet işlerini kesinlikle tamamlayıcı niteliktedir, çünkü toplam üretim maliyetini düşürür ve geliştiricilerinin verimliliğini artırır. Bazıları ticari destek sağlamak için satıcı bulma konusunda ısrar etse de, aynı beklentileri karşılayan şirketler, böylece beklentileri karşılamıyorsa arayacak / suçlanacak biri var.


MySQL'in sahibi Oracle'dır. Oracle'ın topluluk ürününü Java'ya kaldırmasını engelleyen hiçbir şey olmadığı gibi Oracle'ın bu üründeki kaynağı kapatmasını engelleyen hiçbir şey yoktur. Yazılım şirketleri yazılım satmazlar - yöneticilere gönül rahatlığı satarlar! Halka açık şirketler ticari yazılım satın almaya devam ediyor, çünkü aynı büyüklükteki şirketlere havlamak istiyorlar ve birilerinin problemleri ortadan kaldırmak için çemberlerden atlamasını istiyorlar. IP satmak, küçük yazılım şirketlerinin büyük yazılım şirketleri haline gelmesidir. Yalnızca hizmet modeli tamamen işçilik maliyetine bağlıdır.
bit-twiddler

2
Açık kaynak, bir rakibin tehdit ettiği gibi bir tehdittir. Oracle'ın veritabanı (bugünlerde tam olarak ne diyorsunuz?), Örneğin PostgreSQL'den önemli ölçüde daha iyi ise, satabilirler. Değilse, Oracle'a neden ödeme yapmalıyız?
David Thornley

1

En büyük riskler ...

  • Oynaklık: OSS'nin çoğu spurtlarda geliştirilmiştir. Önde gelen projeler, daha az bilenlerde kararlı sürümler var, ancak OSS evreni birçok alanda çok farklı ve parçalanmış olduğu için (ve sürekli evrimleştiği için), bir projenin, gelişimin düzenli, belirsiz, veya sürekli. Entegrasyon, regresyon ve uygulamalı veya anında destek ücretsiz olmasa bile, ürün serbest olsa bile, orta akıştaki rotayı değiştirmek maliyetlidir.

  • Sorumluluk eksikliği: 'yatırım yapılan' kimse yok, bu yüzden kötü şeyler olduğunda rücu aramak zor. Garanti yok. Birine benzeyen hiçbir şey. Genel olarak sahip olduğunuz tek güven, itibar ve nihayetinde kendi kişisel deneyiminizdir. Ücretsiz olduğu için, geliştiriciler size itfaiyeye gitmenizi söyleyebilir ve başarı eksikliğiniz hakkında bir parça umursamazsınız veya ürünlerini kullanmaya devam ederseniz daha az önemli.


2
Ve bu ticari, tescilli, kapalı kaynaklı yazılımdan ne şekilde farklıdır? Sahibi her zaman başka bir yöne gitmeye karar verebilir ve iyi bir güvence ile duyduğum tek genel ürün TurboTax'tır.
David Thornley

Birçok yönden farklıdır. Bir yol ticari, özellikle yazılım, özellikle bileşenler, kütüphaneler ve çalışma zamanları kar üreticileri için, daha yumuşak geçişler sağlamak için çok daha iyi bir iş çıkarır. Örneğin, kırma değişikliklerinin açık bir şekilde numaralandırılması ve bu kırılma değişiklikleri nedeniyle ne yapılması veya yapılmaması gerektiği ile. Bu açık numaralandırma genellikle yazılımın kullanıma sunulmasından çok önce hazırlanır ve yayınlanır, yayın sonrası erteleme hemen kullanılabilir ve bu bilgiler genellikle tutarlı bir konumda ve biçimde olur.
JustinC

1

OSS araçlarını ve malzemelerini kucaklayın, ancak onlara takıntılı olmayın (ve evet, birçok insanın neredeyse her zaman zararlarına açık kaynaklarla takıntılı olduğunu gördüm).

Her bir iş için açık kaynak olup olmadıklarına bakılmaksızın en iyi araçları seçin ve seçin (unutmayın, bazı açık kaynak lisansları, ticari çalışma için bunların altında lisanslı herhangi bir şeyi, özellikle GPL lisanslı kütüphanelerin bundan muzdarip olmasını sağlar).


1

Modern Açık Kaynak Yazılımın büyük bir kısmı, öncelikle onu geliştirmesi için ödenen tam zamanlı çalışanlar tarafından geliştirilmiştir. Geri kalanı, geliştirdikleri yazılıma bağlı olan bir şey yapmak için para ödeyenler ve bir destek ve bakım kitlesi için kitlesel kaynak kullanımı, onlar için kesinlikle zorunludur.


1

Programcıların büyük çoğunluğu, oluşturdukları yazılımın dağıtımı başına kopya almazlar. Harcanan zamanları için bir defalık ücret ödenir. Programcı istihdam eden şirketler bile genellikle satılan kopya başına para kazanmazlar. Microsoft ve Adobe gibi birkaç önemli istisna dışında, yazılım genellikle bir şirket web sitesi veya dahili araçlar gibi altyapılarının bir parçasıdır veya başka bir ürün veya hizmetin parçası olarak verilir.

Diğerleri, açık kaynak kodlu büyük katılımcıların çoğunun şirket sponsorlarına sahip olduğuna dikkat çekti. Hobi tarafında, insanların her zaman alınan yerine verilenlere odaklanmalarını ilginç buluyorum. Bu, bir evin tüm bileşenlerini ücretsiz alan bir elektrikçi gibi, kendisi de yaptığı bazı kablo iyileştirmeleri dışında zaten monte edilmiş ve insanlar bir hafta sonu birkaç saat harcarsa, diğer ev sahiplerine aynı iyileştirmeleri yapmasını öğretirse onu deli sayıyorlar. aynı anlaşma. Elbette, zamanının ve uzmanlığının bir kısmını ücretsiz olarak veriyor, ancak karşılığında birkaç kez kattığı işe değecek harika bir ürün elde ediyor ve bir dahaki sefere bir şey için sağlıklı bir ekosistem sağlıyor.


0

Nasıl hissetmelisin? İyi keder, sonra "kadınlarla nasıl konuşurum" diye soracaksın. Açık kaynak hiçbir zaman yerine geçmez, ancak ödenen SW'nin küçük bir kısmı. Çoğu kuruluş için, zaten bildikleri şeyden, hatta özgür bile olsa, artan maliyetler SW'nin maliyetinden daha fazladır.


0

Serbest / açık kaynağın ana felsefesi (gördüğüm gibi) yazılımı dağıtırken kaynağı da onunla birlikte dağıtmanızdır. Açık kaynak mutlaka ücretsiz demek değildir. Ve kesinlikle herhangi bir büyük projede, sadece açık kaynaklı bir çözüm seçmek, sadece bir raftan bir şey alıp taktığınız anlamına gelir ve bitirdiniz. Herhangi bir büyük uygulama için, özel ihtiyaçlarınız için uyarlamanız gerekir (onu kurmak ve mevcut sisteminizi ona taşımak kadar basit veya büyük parçalarını değiştirmek kadar karmaşık olabilir) ve destek için güvenilir bir mekanizmaya sahip olmanız gerekir. orijinal yazılımla güncellemeler / hata düzeltmeleri. Bu, programcılar için her zaman işlerin olacağı anlamına gelir. Bahsetmiyorum bile, herhangi bir büyük açık kaynak projesi için,

Bu şekilde düşünün, eğer probleminiz için zaten var olan ve çok sayıda insan tarafından kullanılan olgun bir açık kaynak çözümü varsa, bu kadar olgun olamayacak bir şey için büyük miktarda nakit batırmak mantıklı geliyor mu? ? Kullanımı daha verimlidir. İşleri korumakla ilgili değil (dediğim gibi her zaman programcılara ihtiyaç duyulacaktır), ancak vergi mükellefi parası olduğunda daha da önemli olan basit iş anlayışı. İşleri korumak adına açık kaynak kodlu bir kaynak sadece yapay bir ortam yaratmak, teknoloji ve IMHO'nun paylaşımını kısıtlamakta ve programlama topluluğunun sağlığı için genellikle kötüdür.



0

Benim için açık kaynak da politiktir: programcıların birbirlerine yardım etmesine izin verir, böylece sıkı çalışmanın tekrar tekrar hazırlanması ve projeler arasında kullanılmasına izin verilmez.

Ayrıca proje için daha iyi bir dizi arka plan kuralı belirledi, yönetme kuralı altında değil: sonuçta daha kaliteli ve uzun ömürlü bir kod.

Bilgisayar bilimi konusunun çok geniş olduğunu ve çok karmaşık olan bazı yazılım parçaları olduğunu ve bunları yazmak, korumak ve ilginç özellikler eklemek için çok fazla yetkili insan olmadığını bilin.

"Yazılım programcılarının değil, genel olarak dünya için" tonlarca programcı işini kaybedecek ve endüstri küçülecek "argümanını gerçekten buldum. Web baloncuğunu hatırlayın: bir şirketteki programlamayan insanları kandırmak kolaydır. Açık kaynak buna engel oluşturmanın güvenli bir yoludur.

Ayrıca, yazılımın diğer birçok endüstri gibi olmadığını düşünmelisiniz: uçucu olan, kapitalizmin gerçekten çalışamayacağı bir şey teslim ediyorsunuz. Sadece fiziksel nesneleri kopyalayabildiğimizi düşünün, ancak çoğalttığınız her aspirin hapı için ödeme yapmanız gerekir, çünkü molekül birisinin "sahip olduğu" tür. Bu çok az mantıklı olabilir. Şimdi saf, temiz su kopyalamayı düşünün (ki bu bir gün pahalı olacak): insanların böyle bir şey için ödeme yapmasının etik ve felsefi olarak doğru olduğunu düşünüyor musunuz?

Programcılar açık kaynak nedeniyle işlerini kaybederse, belki de sadece aynı tür yazılım kalitesini üretemedikleri için, bir şekilde, işten çıkarılmayı hak ediyorlar. Ancak bu, daha az programcıya sahip olmaları gerektiği anlamına gelmez: bu sadece bir topluluk, ekip çalışması ve etik meselesidir: şirketler, mevcut yazılımı kullanan sorunlara çözüm uygulamak için programcılara ödeme yapmalı veya başka, ekleyebilecek daha yetkin programcılar kiralamalıdır. mevcut bir kod için özellikler.

İOS, windows phone, symbian ve android'i alın: bunlar% 75 aynı şeyi yapıyor, yani neredeyse aynı "tekerlekler". Bu sadece farklı lezzetler, ama sonunda çok fazla para harcandı, çünkü şirketler ideallerine hayatta kalmak istiyordu.

Açık kaynak sadece politik değil, aynı zamanda inovasyon ile de ilgilidir: her şeyi tekrar tekrar yeniden başlatmak zorunda kalırsanız nasıl yeni bir fikre gerçeklik vermek istersiniz?


0

Serbest / Açık Kaynak yazılımın yaptığı bir temel oluşturmaktır: Şirketiniz F / OS alternatifinden daha iyi bir şey üretemezse, çok fazla kopya satamaz. Şirketiniz mevcut F / OS'den önemli ölçüde daha iyi bir şey sunabilirse, kopya satabilir ve kâr elde edebilir. Bu nedenle bir kullanım, şirketlerin kötü yazılım satarak elde edilme kabiliyetlerini azaltmasıdır.

Ayrıca giriş engellerini de azaltır. Yarısı modern masaüstü veya dizüstü bilgisayarı olan herkes, yazılım lisanslarına bir kuruş harcamadan, kullanımı kolay GUI ve mükemmel geliştirme ortamına sahip çok işlevsel bir işletim sistemine sahip olabilir (Visual Studio ile MS Windows'un bundan daha iyi olduğunu düşünen birçok insan var bir çeşit çevre ve bol olmayan).

Bu nedenle, F / OSS, yazılım girişimcisinin düşük maliyetle bir işe başlamasına yardımcı olur. Bu, eski günlerde Üniversite dışı bilgisayar kullanımını kontrol eden finansal adamlara kıyasla yazılım yenilikçisinin etkisini ve kârını arttırır. Son devasa başarı öykülerinin çoğunun, F / OSS ve etkileri olmadan belki de imkansız hale gelmesi daha zor olurdu.

Karşılık gelen yetenek olmadan çok para kazanma fırsatını azaltır, ki bu muhtemelen iyi bir şeydir.

Çok iyi olmayan geliştiriciler, bilgisayar sistemlerine stratejik bir varlık olarak güvenmeyen şirketler için dahili yazılımda nişler bulacak ve bu işler F / OSS'den çok etkilenmeyecek.

Çok iyi olan ancak girişimci olmayan türdeki geliştiriciler, iyi kalitede F / OS olmayan ticari yazılımlar satan şirketlerle de başarılı olacaktır. Para temelli piyasa, F / OSS itibar pazarından çok daha fazla ihtiyaç sağlamada daha etkilidir ve donuk gerekli şeyleri üretmede çok daha iyidir. Çoğu F / OSS geliştiricisinin önleyeceği çok sayıda hayati uygulama vardır.

Genel olarak, kalkınma topluluğu için sağlıklı olduğunu düşünüyorum. Geliştiricilerin zengin olma konusunda daha iyi bir atış yapmalarını sağlar ve iyi ürünler yapmak için bir teşvik görevi görür (ve çoğu geliştirici kötü ürünler yerine iyi ürünler üzerinde çalışmayı tercih eder). O kadar iyi olmayan geliştiricilere zarar verebilir veya kötü yönetilen şirketler için çalışabilir, ancak talebi çok fazla azaltmaz ve muhtemelen iş bulabilirler.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.