Bu sorunun konunun dışında olup olmadığını özür dilerim, ama aynı zamanda bir ekonomi ve programlama sorusudur. Başka bir Güney Kıbrıs toplumuna gitmesi gerekiyorsa, lütfen belirtin.
Teorik olarak, GNU yazılımı tamamen boş zamanlarında gönüllüler tarafından veya gönüllü programcıları GNU yazılımı geliştirmek için (faaliyetlerinin başka bir kesiminden gelir kullanarak) geliştiren şirketler tarafından geliştirilir.
Birkaç yağmurlu haftasonunda tek bir kişi tarafından (örneğin bir sudoku oyunu) yapılabilecek küçük ölçekli proje için nasıl iyi çalışabileceğini anlıyorum, çünkü tüm bilgisayar programlamaları son derece eğlenceli ve ödüllendirici bir hobi, ve boş zamanlarında küçük veya orta ölçekli programlar geliştiren ve bunları dünyayla paylaşan insanları görmekte sorun yaşamıyorum.
Sorun, bunun aşağıdaki nedenlerle daha büyük programlar için son derece kötü ölçeklenmesidir:
- Programlama ne kadar eğlenceli olursa de, uygulanması gereken proje büyüdükçe, istenen işlevselliğin uygulanması için gereken süre çok hızlı büyür. Daha büyük ölçekli bir programın geliştirilmesi inanılmaz bir zaman alır, örneğin bir bireyin bir işletim sistemini programlaması için 15 yıllık boş zaman ve tatil süresi kolayca geçebilir ve yazılımı piyasaya sürüldüğünde tamamen eski olacak .
- Diğer insanlar programların başka bir şekilde yazdığı gibi, başkalarının kodlarını okumak ve anlamak çok zaman alır , çoğu durumda kendi kodunuzu sıfırdan yazmak kadar. GNU felsefesi tarafından teşvik edildiği gibi, başka bir kişinin kodunu değiştirmek ve geliştirmeye çalışmak, eklemek istediğiniz işlevsellik ile adı geçen programın kendi klonunu geliştirmek kadar zaman alıcıdır.
- 2 veya daha fazla kişi daha büyük bir program geliştirmek için işbirliği yapmak zorunda kalır etmez, bu tek bir geliştirici projesinde asla ortaya çıkmayacak birçok karar alma sorunu yaratır. Sonuç olarak, örneğin, 2 programcıdan oluşan bir grup, tek bir adamın yapması 10 yıl sürecek bir proje için işbirliği yaparsa, bunu 5 yıl içinde yapmayacak, muhtemelen 8'de yapacaklardır.
- Aynı proje için işbirliği yapan insanlar internette sadece buluşursa, projenin bir üyesinin aniden ortadan kaybolması kolaydır (ya ilgisini kaybettiği ya da artık fiziksel olarak internette olamayacağı için), Daha güçlü
Dolayısıyla, GNU zihniyetiyle basit programların nasıl geliştirilebileceğini mükemmel bir şekilde anlasam da, GNU / Linux veya gcc gibi dev programların bu modelde nasıl mümkün olduğunu kesinlikle göremiyorum. gcc yaklaşık 7 milyon kod satırıdır. Kod satırlarının çok fazla bir şey ifade etmediğini biliyorum, çünkü bir projenin daha sonraki bir aşamasında daha verimli programcı aslında kod satırlarını kaldıracak olan (projeyi basitleştirme ve / veya optimize etme), ancak bu ne kadar büyük bir proje gcc olduğunu.
Teoride, herkes boş zamanlarında gcc'yi serbestçe değiştirebilir, ancak pratikte? Çok profesyonel insanlar tarafından bir hobi olarak değil, bir iş olarak geliştirildi. Bir derleyiciyi hobi olarak yapan herkes, maliyet / fayda buna değmediği için sonunda vazgeçecektir:
- Büyük bir program geliştirmek bu kadar uzun vadeli büyük bir projedir, boş zamanlarını kısa vadede daha ödüllendirici veya daha eğlenceli olan diğer aktiviteler için kullanmayı tercih ederler.
- Yine de büyük bir program geliştirselerdi, bunu ücretsiz olarak yapmak yerine onlara ödeyecek bir şirket için yapmayı tercih ederlerdi
İnsanların uzun vadede GNU / Linux, gcc veya Open Office gibi bir program geliştirmeye ilgi duymasını sağlamak için ödüllendirici olmalıdır. Öyleyse sorum şu: Eğer bir maaş alamıyorlarsa, neden büyük GNU projesine katkıda bulunan insanlar var?