İçeriğe atla

GNU Projesi

Vikipedi, özgür ansiklopedi
Etienne Suvasa tarafından hazırlanan GNU belirtkesi: Heckert

GNU Tasarısı, toplu işbirliğini temel alan bir özgür yazılım tasarısıdır. Richard Stallman tarafından Massachusetts Teknoloji Enstitüsü'nde 27 Eylül 1983 tarihinde kamuoyuna duyurulmuştur. Tasarının hedefi işbirliği yoluyla özgür yazılımlar geliştirip dağıtarak bilgisayar kullanıcılarının bilgisayarlarını ve benzeri araçlarını kendi istekleri doğrultusunda özgürce kullanmalarını sağlamaktır. Bu tasarının temelinde kullanıcıların yazılımı çalıştırma, paylaşma (kopyalama ve dağıtma), inceleme ve değiştirme konularında özgür olmaları yatar. GNU yazılımları bu özgürlükleri dağıtıldıkları lisans ile yasal olarak güvence altına alır, dolayısıyla GNU yazılımları özgür yazılımlardır.

Bir bilgisayarda çalışan tüm yazılımların, kullanıcılarına bu özgürlüklerin tamamını (kullan, paylaş, incele, değiştir) sağlayabilmesi için en temel ve en önemli parça olan işletim sisteminin dahi (beraberindeki bütün yardımcı yazılımlarla birlikte) sıfırdan yazılması gerekmektedir. Richard Stallman ilk duyurusunda tasarının öncelikli hedefini şöyle ifade eder: "Bilgisayarları onurlu bir biçimde kullanabilmek amacıyla, yeterli bir bütünü oluşturacak özgür yazılımları bir araya getirmeye karar verdim. Bunu özgür olmayan yazılımlar olmadan başaracaktım."[1] Stallman bu işletim sistemine GNU (Türkçe: GNU, Unix Değildir, İngilizce: "GNU's Not Unix" ifadesinin özyinelemeli kısaltması) adını koyar. GNU, tasarımının temelini UNIX işletim sisteminden alsa da kapalı kaynak kodlu, özel mülk bir yazılım olan UNIX'in aksine kullanıcılarının özgürlüğüne saygı duyan—yani kullanıcılarının özgürce kullanabileceği, paylaşabileceği, inceleyebileceği ve değiştirebileceği—bir yazılımlar bütünü olmayı hedefler. Geliştirilmesine 1984 Ocak ayında başlanır. Tümüyle özgür yazılımlardan oluşan bir işletim sistemi hedefi ise 1992 yılında üçüncü taraf yazılımı Linux çekirdeği'nin GNU yazılım ailesiyle birlikte kullanılmak üzere özgür yazılım olarak GNU Genel Kamu Lisansı'nın (GPL, İngilizce: GNU General Public License) ikinci sürümüyle yayımlanmasıyla tamamlanır.

GNU Tasarısı, günümüzde çalışmalarına yazılım geliştirme, farkındalık yaratma, yönetkisel çalışımlar düzenleme ve yeni malzeme paylaşımı gibi alanlarda devam etmektedir.

Richard Stallman, GNU Tasarısı'na başlamayı amaçladığını 1983 Eylül ayında yazdığı bir Usenet iletisiyle duyurmuştur.[2]

GNU Tasarısı ilk başladığında elde "editör komutlarını yazmak için Lisp'li bir Emacs metin düzenleyicisi, kaynak-seviyesi hata ayıklayıcısı, yacc-uyumlu derleyici üreteci, bağlayıcı ve 35 civarında özellik mevcuttu."[3] GNU sistemi, kendine ait bir C derleyicisinden ve benzer araçlardan yoksundu, dolayısıyla bu yazılımların da geliştirilmesi gerekiyordu. 1987 Haziran ayına gelindiğinde tasarı kapsamında bir çevirici, neredeyse tamamlanmış taşınabilir, eniyileştirici bir C derleyicisi (GCC), bir metin düzenleyicisi (GNU Emacs) ve çeşitli UNIX araçları (ls, grep, awk, make, ld vb.) geliştirilmişti.[4] İşletim sistemi için bir çekirdek yazımına başlanmıştı ancak bu çekirdek daha birçok güncellemeye gereksinim duyuyordu.

Çekirdek ve derleyicinin geliştirilmesi tamamlandığında GNU sistemi artık yazılım geliştirme için kullanılabilecekti. Ana hedef UNIX sistemindekine benzer çeşitli birçok uygulama geliştirmekti. GNU, UNIX yazılımlarını çalıştırabiliyordu ancak UNIX ile birebir aynı değildi: daha uzun dosya isimleri, dosya sürüm numaraları ve çökmeye karşı dayanıklı dosya sistemi gibi yeni özellikleri vardı. Tasarıya desteği ve katılımı artırmak için GNU Bildirgesi yazılmıştı. Yazılımcılar, tasarının ilgilerini çeken yönlerine katkı sağlamaları için yüreklendiriliyordu. Tasarı, bağış olarak yalnızca para ve bilgisayar parçaları değil insanların boş zamanlarını ayırarak geliştirdikleri yazılımları da kabul ediyor ve bu bağışları teşvik ediyordu.

GNU Tasarısı'nın ve özgür yazılımın tarihi ve geliştirilmesi hakkında detaylı bilgi GNU Emacs metin düzenleyicisinin yardım sistemi içinde verilmiştir. (C-h g kısayolu describe-gnu-project, Türkçe: GNU Tasarısı'nı anlat komutunu çalıştırır.) Bu tarihçe tasarının sanalyöresinde de bulunmaktadır.

GNU Bildirgesi, Richard Stallman tarafından GNU Tasarısı'nın başlangıcında destek ve katılım sağlamak amacıyla yazılmıştır.[5] GNU Bildirgesi'nde Stallman, yazılım geliştirme için elzem olan dört özgürlüğü listeler: yazılımı herhangi bir amaç için çalıştırma özgürlüğü, yazılımın işleyişini inceleme ve değiştirme özgürlüğü, yazılımın kopyalarını dağıtma özgürlüğü ve kamu kullanımı için yazılımların değiştirilerek geliştirilmiş sürümlerini dağıtma özgürlüğü.[6] Bu özgürlüklerin sağlanması ancak kullanıcıların yazılımın kaynak koduna tam erişim sağlamasıyla mümkündür. Kaynak kodunun kamu kullanımına açık ve özgür kalabilmesi için Stallman GNU Genel Kamu Lisansı'nı yayımlamıştır. GNU Genel Kamu Lisansı, yazılımın kendisinin ve gelecekte bu yazılımın kaynak kodundan türetilecek yeni yazılımların kamu kullanımı için özgür kalmalarını yasal olarak güvence altına alır.[6]

Felsefe ve eylemcilik

[değiştir | kaynağı değiştir]

GNU Tasarısı'nın ürünlerinin çoğu doğası gereği teknik yapıda olsa da tasarı toplumsal, aktöresel ve yönetkisel bir girişim olarak başlamıştır. Yazılım ve lisansların yanı sıra GNU Tasarısı, çoğu Richard Stallman tarafından kaleme alınan makaleler de yayımlamıştır.

Özgür yazılım

[değiştir | kaynağı değiştir]

GNU Tasarısı, kullanıcıların özgürce kopyalayabileceği, düzenleyebileceği ve dağıtabileceği yazılımlar kullanır. Bu özgürlük kullanıcının kendi bireysel ihtiyaçları doğrultusunda yazılımı değiştirebileceği anlamına gelir. Yazılımcılar, özgür yazılımları farklı yollardan edinebilirler: Yazılımcı bir arkadaşından yazılımın bir kopyasını alabilir, yazılım İnternet üzerinden yazılımın sanalyöresinden veya başka bir sanalyöreden indirebilir, yazılımcının çalıştığı şirket bu yazılımı onun için satın alabilir...[7]

Tasarı, ihtiyaç duyduğu maddi kaynağı ortak üyelerden, satışlardan ve bağışlardan sağlamaktadır.[8]

Copyleft, bir yazılımın özgür yazılım haline getirilmesi, yazılımın tüm değiştirilmiş ve genişletilmiş sürümlerinin de özgür yazılım olarak kalmasını sağlamak için genel bir yöntemdir.[9] Copyleft, her kullanıcıya telif güvenceli bir lisansla (örn. GPL ile) dağıtılan yazılımları ve bu yazılımların kaynak kodlarını güvenceyi sağlayan dağıtım terimlerini değiştirmemesi koşuluyla kullanma, düzenlenme ve yeniden dağıtma için gereken yasal hakları tanır. Böylelikle yazılımı yasal olarak elde eden her kullanıcı, diğer bütün kullanıcılarla aynı hak ve özgürlüklere sahip olur.

GNU Tasarısı'nın ve Özgür Yazılım Vakfı'nın copyleft kavramını güçlü ve zayıf olmak üzere ikiye ayırdığı durumlar vardır. Zayıf copyleft, tipik olarak yazılımın dağıtıcılar tarafından "özgür olmayan yazılımlara"[10] bağlanmasına izin verirken güçlü copyleft bu uygulamayı kesinlikle yasaklar. GNU Tasarısı'nin ürünlerinin çoğu güçlü bir copyleft lisansla yayımlanmıştır ancak hoşgörülü özgür yazılım lisanslarıyla, zayıf copyleft bir lisansla yayımlanan özgür yazılımlar da vardır.

İşletim sistemi geliştirme

[değiştir | kaynağı değiştir]
GNU

GNU Tasarısı'nin ilk amacı bütünüyle özgür yazılım olan bir işletim sistemi geliştirmekti. 1992 yılına gelindiğinde GNU Tasarısı, GNU Hurd adını verdiği çekirdek dışındaki bütün temel işletim sistemi parçalarının geliştirmesini tamamlamıştı. Bu tasarıdan bağımsız olarak 1991 yılında Linus Torvalds tarafından geliştirilmeye başlanan Linux çekirdeği yazılımının 0.12 sürümünün 1992 yılında GPL lisansıyla yayımlanmasıyla birlikte ilk defa bütünüyle özgür yazılımlardan oluşan bir işletim sistemini kullanmak mümkün oldu. Linux çekirdeği, GNU Tasarısı'nın bir parçası olmasa da GCC ve diğer GNU yazılım geliştirme araçlarıyla geliştirilmişti ve GNU Genel Kamu Lisansı'yla bir özgür yazılım olarak yayımlanmıştı.[11]

Günümüzde GNU'nun kararlı bir sürümü ya da dağıtımı GNU yazılım paketleriyle Linux gibi UNIX benzeri bir çekirdek kullanılarak çalıştırılabilir. GNU Tasarısı bu tür bir işletim sistemini GNU/Linux olarak adlandırmakta ve özelliklerini aşağıdaki gibi tanımlamaktadır:

GNU sanalyöresinde yazılımların bir listesi oluşturulmuş ve her bir yazılım için hangi tür yazılım geliştiricilerinin ihtiyaç duyulan görevleri yapabileceği detaylandırılmıştır. Her yazılım için öngörülen beceri düzeyi farklı olsa da programlama konusunda artalan bilgisine sahip olan herkes yazılım tasarılarını desteklemesi yönünde teşvik edilmektedir.

GNU araçlarının Linux çekirdeği ve diğer programlarla birlikte paketlenmesine genellikle Linux dağıtımı adı verilir. GNU Tasarısı, GNU ve Linux çekirdeği'nin birleştirilmesini GNU/Linux olarak adlandırmakta ve herkesi bu ismi kullanmaya davet etmektedir. Bu durumun sonucunda GNU/Linux adlandırma tartışması ortaya çıkmıştır.

Günümüzde birçok dağıtım GNU paketleri, özgür olmayan kod parçaları ve özel mülk yerleşik yazılımlar (İngilizce: binary blobs) içeren bir Linux çekirdeği ve bir takım özel mülk yazılımlar (örn. ücretsiz olan ancak kaynak kodu erişilebilir olmayan ve dolayısıyla özgür yazılım olmayan yazılımlar) birleştirilerek yayımlanmaktadır. Bu durum lisanslarla tanımlanan şartlara uygun olsa da GNU Tasarısı'nın öncül amacı olan özgürlük hedefiyle uyum göstermemektedir.

GNU özgür sistem dağıtımı ilkeleri

[değiştir | kaynağı değiştir]

GNU Özgür Sistem Dağıtımı İlkeleri (GNU FSDG, İngilizce: GNU Free Software Distribution Guidelines) kurulabilir bir sistem dağıtımının (örn. bir GNU/Linux dağıtımının) özgür olabilmesi için neler gerektiğini detaylandıran bir sistem dağıtım uygunluk yönergesidir.[14] Bu uygunluğu sağlayan dağıtımlardan çoğu GNU paketleriyle bir Linux-libre çekirdeğini, yani özel mülk yazılımlardan arındırılmış bir Linux çekirdeğini, birleştiren ve bunlar dışında yalnızca özgür yazılım kullanan, böylelikle kaynak kodu kapalı, özel mülk yazılımları kullanmaktan kaçınan, dağıtımlardır.[15][16] GNU Özgür Sistem Dağıtımı İlkeleri'ne uygunluk sağlayan bazı dağıtımlar gNewSense, Parabola GNU/Linux-libre, Trisquel GNU/Linux ve Utoto'dur.[17]

GNU Özgür Sistem Dağıtımı İlkeleri hazırlanırken Fedora Projesi Dağıtım Lisans İlkeleri temel olarak alınmıştır.[18]

İzlemsel tasarılar

[değiştir | kaynağı değiştir]

1990'lı yılların ortalarında, birçok şirketin özgür yazılım geliştirmeye yatırım yapmasıyla birlikte, Özgür Yazılım Vakfı anaparasını özgür yazılım gelişiminin yasal ve yönetkisel desteğine yönlendirmeye başlamıştır. Bu noktadan sonra yazılım geliştiriminde mevcut yazılımların bakımına odaklanılmıştır. Yeni yazılım tasarılarına yalnızca özgür yazılım topluluğuna yönelen şiddetli bir tehdit olduğu zamanlarda başlanmıştır. GNU Tasarısı'nın önde gelen yazılımlarından biri olan GNU Derleyici Koleksiyonu birçok UNIX benzeri sistemde öntanımlı derleyici sistemi olarak kullanılmaktadır.

GNOME masaüstü ortamı, GNU Tasarısı tarafından kullanımı günden güne artan bir masaüstü ortamı olan KDE tasarısına bir tepki olarak başlatılmıştır. Sebebi KDE'nin o dönem özel mülk bir yazılım olan Qt uygulama çatısının kurulumunu gerektirmesidir. İnsanların KDE tasarısı tarafından yayımlanan yazılımları kullanmak zorunda kalmamaları için GNU Tasarısı iki yazılım tasarısı başlatmıştır. Bunlardan biri Harmony Toolkit adlı Qt yazılımının yerini alma amacını taşıyan ve özgür yazılım olan bir araç takımıdır. İkinci yazılım tasarısı olan GNOME da herhangi bir özel mülk yazılıma bağımlı olmadan KDE masaüstü ortamının yerini almayı amaçlamaktadır. Harmony Toolkit yazılımı pek bir gelişme gösteremese de GNOME masaüstü ortamının gelişimi ivmelenerek devam etmiştir. Bu tepkinin sonucunda KDE'nin bağımlı olduğu Qt özel mülk yazılımı, özgür yazılım olarak yayımlanmıştır.[19]

GNUe (İngilizce: GNU Enterprise, Türkçe: Kurumsal GNU) 1996 yılında başlatılan kapsamlı bir yazılım tasarısıdır ve GNU Tasarısı'nın bir alt tasarısı olarak nitelendirilebilir. GNUe'nin hedefi özgür "kurumsal düzeyde veri bilinçli uygulamalar" (kurumsal kaynak planlama vb.) geliştirmektir.[20] GNUe, GNOME'un masaüstü uygulamalarını bir noktada toplayışına benzer şekilde GNU sisteminin kurumsal uygulamalarını bir noktada toplamak için tasarlanmıştır.

GNU Tasarısı, 2001 yılında "özgürce elde edilebilen, yeniden dağıtılabilen ve değiştirilebilen yazılımlarının çeşitliliği, kapsamlılığı ve niteliğinin araştırmalara ve tecimsel gelişime yaptığı katkılarından" ötürü USENIX Yaşam Boyu Başarı Ödülü'ne layık görülmüştür.[21]

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  1. ^ Stallman, Richard. "GNU'yu niçin yazmalıydım?". GNU Bildirgesi. 17 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ekim 2014. 
  2. ^ Stallman, Richard. "new Unix implementation" (İngilizce). 22 Ocak 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  3. ^ Stallman, Richard. "GNU nedir? Gnu Unix Değildir!". GNU Bildirgesi. 17 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ekim 2014. 
  4. ^ "Status of the GNU Project, June 1987". GNU's Bulletin (İngilizce). gnu.org. Haziran 1987. 25 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  5. ^ Stallman, Richard. "GNU Bildirgesi". 17 Ağustos 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  6. ^ a b Weber, S (2004). The Success of Open Source (İngilizce). Cambridge: Harvard University Press. 
  7. ^ "How to get GNU software". GNU Software (İngilizce). gnu.org. 25 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  8. ^ "Helping the GNU Project and the Free Software Movement - GNU Project - Free Software Foundation" (İngilizce). gnu.org. 25 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  9. ^ Stallman, Richard. "Copyleft Nedir?". gnu.org. 23 Haziran 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ekim 2014. 
  10. ^ "Özgür olmayan yazılım". Özgür ve Özgür-Olmayan Yazılım Kategorileri. gnu.org. 5 Eylül 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 26 Ekim 2014. 
  11. ^ Torvalds, Linus Benedict (26 Ağustos 1991). "What would you like to see most in minix?" (İngilizce). comp.os.minix. 22 Ocak 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  12. ^ "All GNU Packages" (İngilizce). gnu.org. 25 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  13. ^ "GNU @ Free Software Directory" (İngilizce). fsf.org. 5 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  14. ^ "Free Software Distribution Guidelines (GNU FSDG)" (İngilizce). gnu.org. 8 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  15. ^ Stallman, Richard. "Avoiding Ruinous Compromises" (İngilizce). gnu.org. 25 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  16. ^ "Explaining Why We Don't Endorse Other Systems" (İngilizce). gnu.org. 15 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  17. ^ "List of Free GNU/Linux Distributions" (İngilizce). gnu.org. 25 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  18. ^ "Free System Distribution Guidelines (GNU FSDG) - GNU Project" (İngilizce). gnu.org. 8 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. We would like to thank the Fedora Project for their help in focusing these policies, and allowing us to use their own distribution license guidelines as a basis for this document. 
  19. ^ Stallman, Richard (5 Eylül 2000). "Stallman on Qt, the GPL, KDE, and GNOME" (İngilizce). linuxtoday.com. 19 Nisan 2012 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  20. ^ "GNU Enterprise" (İngilizce). gnu.org. 23 Kasım 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 
  21. ^ Chassell, Robert J. (28 Haziran 2001). "Acceptance of the 2001 USENIX Lifetime Achievement Award" (İngilizce). 10 Aralık 2015 tarihinde kaynağından arşivlendi. Erişim tarihi: 28 Ekim 2014. 

Dış bağlantılar

[değiştir | kaynağı değiştir]