GNU Tasarısı, toplu işbirliğini temel alan birözgür yazılım tasarısıdır.Richard Stallman tarafındanMassachusetts 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ıylaGNU yazılımlarıözgür yazılımlardır.
Bir bilgisayarda çalışantü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 olaniş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 sistemineGNU (Türkçe:GNU, Unix Değildir,İngilizce: "GNU'sNotUnix" ifadesinin özyinelemeli kısaltması) adını koyar.GNU, tasarımının temeliniUNIX işletim sisteminden alsa dakapalı kaynak kodlu, özel mülk bir yazılım olanUNIX'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 birişletim sistemi hedefi ise 1992 yılında üçüncü taraf yazılımıLinux çekirdeği'ninGNU yazılım ailesiyle birlikte kullanılmak üzereözgür yazılım olarakGNU Genel Kamu Lisansı'nın (GPL,İngilizce: GNUGeneralPublicLicense) ikinci sürümüyle yayımlanmasıyla tamamlanır.
GNU Tasarısı, günümüzde çalışmalarınayazı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ığı birUsenet iletisiyle duyurmuştur.[2]
GNU Tasarısı ilk başladığında elde "editör komutlarını yazmak içinLisp'li birEmacsmetin düzenleyicisi, kaynak-seviyesihata ayıklayıcısı,yacc-uyumluderleyici üreteci,bağlayıcı ve 35 civarında özellik mevcuttu."[3]GNU sistemi, kendine ait birCderleyicisinden 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 birCderleyicisi (GCC), birmetin düzenleyicisi (GNUEmacs) ve çeşitliUNIX 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 vederleyicinin geliştirilmesi tamamlandığındaGNU sistemi artıkyazılım geliştirme için kullanılabilecekti. Ana hedefUNIX sistemindekine benzer çeşitli birçok uygulama geliştirmekti.GNU,UNIX yazılımlarını çalıştırabiliyordu ancakUNIX 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çinGNU 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ı bilgiGNUEmacsmetin düzenleyicisinin yardım sistemi içinde verilmiştir. (C-h g
kısayoludescribe-gnu-project
,Türkçe:GNU Tasarısı'nı anlat komutunu çalıştırır.) Bu tarihçe tasarınınsanalyö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'ndeStallman,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ınkaynak koduna tam erişim sağlamasıyla mümkündür.Kaynak kodunun kamu kullanımına açık ve özgür kalabilmesi içinStallmanGNU Genel Kamu Lisansı'nı yayımlamıştır.GNU Genel Kamu Lisansı, yazılımın kendisinin ve gelecekte bu yazılımınkaynak 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]
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ğuRichard Stallman tarafından kaleme alınan makaleler de yayımlamıştır.
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ınsanalyöresinden veya başka birsanalyö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ınkaynak 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ü vezayı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 verirkengüçlü copyleft bu uygulamayı kesinlikle yasaklar. GNU Tasarısı'nin ürünlerinin çoğugüçlü bir copyleft lisansla yayımlanmıştır ancakhoş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.
GNU Tasarısı'nin ilk amacı bütünüyleözgür yazılım olan biriş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 temelişletim sistemi parçalarının geliştirmesini tamamlamıştı. Bu tasarıdan bağımsız olarak 1991 yılındaLinus Torvalds tarafından geliştirilmeye başlananLinux çekirdeği yazılımının 0.12 sürümünün 1992 yılındaGPL 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 daGCC ve diğerGNUyazılım geliştirme araçlarıyla geliştirilmişti veGNU Genel Kamu Lisansı'yla birözgür yazılım olarak yayımlanmıştı.[11]
GünümüzdeGNU'nun kararlı bir sürümü ya da dağıtımıGNU yazılım paketleriyleLinux gibiUNIX benzeri birçekirdek kullanılarak çalıştırılabilir. GNU Tasarısı bu tür bir işletim sisteminiGNU/Linux olarak adlandırmakta ve özelliklerini aşağıdaki gibi tanımlamaktadır:
GNUsanalyö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ınLinux çekirdeği ve diğer programlarla birlikte paketlenmesine genellikleLinux dağıtımı adı verilir. GNU Tasarısı,GNU veLinux çekirdeği'nin birleştirilmesiniGNU/Linux olarak adlandırmakta ve herkesi bu ismi kullanmaya davet etmektedir. Bu durumun sonucundaGNU/Linux adlandırma tartışması ortaya çıkmıştır.
Günümüzde birçok dağıtımGNU paketleri, özgür olmayan kod parçaları ve özel mülk yerleşik yazılımlar (İngilizce:binary blobs) içeren birLinux ç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ı İlkeleri (GNU FSDG,İngilizce: GNUFreeSoftwareDistributionGuidelines) 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ğuGNU paketleriyle birLinux-libre çekirdeğini, yani özel mülk yazılımlardan arındırılmış birLinux çekirdeğini, birleştiren ve bunlar dışında yalnızcaözgür yazılım kullanan, böyleliklekaynak 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ımlargNewSense,Parabola GNU/Linux-libre,Trisquel GNU/Linux veUtoto'dur.[17]
GNU Özgür Sistem Dağıtımı İlkeleri hazırlanırkenFedora Projesi Dağıtım Lisans İlkeleri temel olarak alınmıştır.[18]
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 olanGNU Derleyici Koleksiyonu birçokUNIX 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 birmasaüstü ortamı olanKDE tasarısına bir tepki olarak başlatılmıştır. SebebiKDE'nin o dönem özel mülk bir yazılım olanQtuygulama çatısının kurulumunu gerektirmesidir. İnsanlarınKDE 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 biriHarmony Toolkit adlıQt yazılımının yerini alma amacını taşıyan veözgür yazılım olan biraraç takımıdır. İkinci yazılım tasarısı olanGNOME 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 deGNOME masaüstü ortamının gelişimi ivmelenerek devam etmiştir. Bu tepkinin sonucundaKDE'nin bağımlı olduğuQt özel mülk yazılımı, özgür yazılım olarak yayımlanmıştır.[19]
GNUe (İngilizce:GNUEnterprise,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 şekildeGNU 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]
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.