Tag Archives | GNU GPL

GNU Unifont 10.0.04 duyuruldu

GNU projesinin bir parçası olan GNU Unifont’un 10.0.04 sürümü, Paul Hardy tarafından duyuruldu. Unicode 10.0 Basic Mulitlingual Plane’i (BMP) tam olarak bünyesine katmış bulunan yazılımda, Unifontpic yardımcı programına “-P” bayrağı eklendiği belirtiliyor. Resmi bir GNU paketi olan GNU Unifont; her karakter için tek bir glif sağlıyor. 1998’de Unicode’un ilk sürümünden yedi yıl sonra, hâlâ tüm Unicode karakterleri görüntüleyebilecek bir yazı tipi bulunmadığı bir ortamda, Roman Czyborra tarafından geliştirilen Unifont,  herhangi bir metin düzenleyicisiyle düzenlenebiliyor. Unicode yazı tiplerini ve araçlarını ihtiyaç duyanlar için yayınlayan Unifoundry.com tarafından da dağıtılan GNU Unifont; GNU Genel Kamu Lisansı (GNU GPL) koşulları altında yayımlanmaktadır. GNU Unifont 10.0.04 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

GNU Unifont 10.0.04 edinmek için aşağıdaki linklerden yararlanabilirsiniz.

0

The BSD License Problem

See “How to choose a license for your own work” for general recommendations about choosing a license for your work. The two major categories of free software license are copyleft and non-copyleft. Copyleft licenses such as the GNU GPL insist that modified versions of the program must be free software as well. Non-copyleft licenses do not insist on this. We recommend copyleft, because it protects freedom for all users, but non-copylefted software can still be free software, and useful to the free software community.

Continue Reading →

There are many variants of simple non-copyleft free software licenses, such as the Expat license, FreeBSD license, X10 license, the X11 license, and the two BSD (Berkeley Software Distribution) licenses. Most of them are equivalent except for details of wording, but the license used for BSD until 1999 had a special problem: the “obnoxious BSD advertising clause”. It said that every advertisement mentioning the software must include a particular sentence:

3. All advertising materials mentioning features or use of this software
   must display the following acknowledgement:
     This product includes software developed by the University of
     California, Berkeley and its contributors.

Initially the obnoxious BSD advertising clause was used only in the Berkeley Software Distribution. That did not cause any particular problem, because including one sentence in an ad is not a great practical difficulty.

If other developers who used BSD-like licenses had copied the BSD advertising clause verbatim—including the sentence that refers to the University of California—then they would not have made the problem any bigger.

But, as you might expect, other developers did not copy the clause verbatim. They changed it, replacing “University of California” with their own institution or their own names. The result is a plethora of licenses, requiring a plethora of different sentences.

When people put many such programs together in an operating system, the result is a serious problem. Imagine if a software system required 75 different sentences, each one naming a different author or group of authors. To advertise that, you would need a full-page ad.

This might seem like extrapolation ad absurdum, but it is actual fact. In a 1997 version of NetBSD, I counted 75 of these sentences. (Fortunately NetBSD has decided to stop adding them, and to remove those it could.)

To address this problem, in my “spare time” I talk with developers who have used BSD-style licenses, asking them if they would please remove the advertising clause. Around 1996 I spoke with the developers of FreeBSD about this, and they decided to remove the advertising clause from all of their own code. In May 1998 the developers of Flick, at the University of Utah, removed this clause.

Dean Hal Varian at the University of California took up the cause, and championed it with the administration. In June 1999, after two years of discussions, the University of California removed this clause from the license of BSD.

Thus, there is now a new BSD license which does not contain the advertising clause. Unfortunately, this does not eliminate the legacy of the advertising clause: similar clauses are still present in the licenses of many packages which are not part of BSD. The change in license for BSD has no effect on the other packages which imitated the old BSD license; only the developers who made them can change them.

But if they followed Berkeley’s lead before, maybe Berkeley’s change in policy will convince some of them to change. It’s worth asking.

So if you have a favorite package which still uses the BSD license with the advertising clause, please ask the maintainer to look at this web page, and consider making the change.

And if you want to release a program as non-copylefted free software, please don’t use the advertising clause. Thus, instead of copying the BSD license from some released package—which might still have the old version of the license in it—please use one of the other permissive licenses, such as Expat or FreeBSD.

You can also help spread awareness of the issue by not using the term “BSD-style”, and not saying “the BSD license” which implies there is only one. You see, when people refer to all non-copyleft free software licenses as “BSD-style licenses”, some new free software developer who wants to use a non-copyleft free software license might take for granted that the place to get it is from BSD. He or she might copy the license with the advertising clause, not by specific intention, just by chance.

If you would like to cite one specific example of a non-copyleft license, and you have no particular preference, please pick an example which has no particular problem. For instance, if you talk about “X11-style licenses”, you will encourage people to copy the license from X11, which avoids the advertising clause for certain, rather than take a risk by randomly choosing one of the BSD licenses.

Or you could mention the non-copyleft license which we recommend over the other non-copyleft licenses: the Apache 2.0 license, which has a clause to prevent treachery with patents.

When you want to refer specifically to one of the BSD licenses, please always state which one: the “original BSD license” or the “Modified BSD license”.


Later a third BSD license variant was introduced, with only the first two of the original BSD license’s four clauses. We call it the “FreeBSD license.” It is a lax, noncopyleft free license, compatible with the GNU GPL, much like the modified BSD license.

gnu.org

0

Açık Kaynak, niçin özgür yazılım noktasını kaçırıyor?

Bir yazılımı “özgür” olarak adlandırdığımızda, bunun anlamı yazılımın kullanıcının temel özgürlüklerine saygı duymasıdır: çalıştırma, anlama ve değiştirme, ve kopyaları değişiklik yaparak veya yapmayarak tekrar dağıtma özgürlüğü. Bu bir özgürlük meselesidir, ücret değil, bu yüzden “bedava bira” yerine “konuşma özgürlüğünü” akla getirmek gerekmektedir. Bu özgürlükler yaşamsal öneme sahiptir. Temeldirler, sadece birey olarak kullanıcının hatırı için değil, ayrıca toplumun hepsi için temeldirler, çünkü sosyal dayanışmayı – paylaşım ve işbirliği – geliştirmektedirler. Kültürümüz ve yaşamsal etkinliklerimiz gittikçe daha fazla sayısallaştıkça daha da önem kazanmaktadır. Sayısal ses, görüntü ve kelimelerin olduğu bir dünyada, özgür yazılım genel olarak özgürlük içi asli hale gelmektedir.

Continue Reading →


Dünyadaki onlarca milyon insan şimdi özgür yazılımı kullanmaktadır; Hindistan ve İspanya’daki bazı bölgelerindeki okullar öğrencilere özgür GNU/Linux işletim sistemi kullanmayı öğretmektedirler. Bu kullanıcıların çoğu, ne yazık ki, bu sistemi geliştirmemizdeki ve özgür yazılım topluluğunu inşa etmemizdeki etik nedenleri hiç duymamışlardır, çünkü bu sistem ve topluluk çoğunlukla “açık kaynak” olarak adlandırılmaktadır, bu kavrama özgürlüğün zar zor dile getirildiği farklı bir felsefe yüklenmiştir.

Özgür yazılım hareketi bilgisayar kullanıcılarının özgürlüğü için 1983’ten beri kampanya yürütmektedir. 1984 yılında özgür işletim sistemi GNU’nun geliştirmesini başlattık, böylece kullanıcıların özgürlüğünü engelleyen özgür olmayan işletim sistemlerinden kaçınabilirdik. 1980’lerde, sistemin temel bir çok bileşenini geliştirdik ve GNU Genel Kamu Lisansını (GNU GPL) programın tüm kullanıcılarının özgürlüğünü koruyacak bir lisans olarak tasarladık.

Özgür yazılımın bazı kullanıcı ve geliştiricileri özgür yazılım hareketinin amaçlarına katılmadılar. 1998 yılında, özgür yazılım topluluğunun bir kısmı ayrıldı ve “açık kaynak” ismi üzerine kampanya başlattılar. Bu terim başlangıçta “özgür yazılım” terimindeki yanlış anlamayı önlemek üzere önerilmişti, ancak kısa zamanda özgür yazılım hareketindeki felsefik görüşlerden oldukça farklı görüşlerle ilişkilendirildi.

Açık kaynak destekçilerinin bir kısmı terimi “özgür yazılım için pazarlama kampanyası” olarak düşündü, bu şekilde şirket yöneticilerine, duymak istemeyecekleri doğru ve yanlış konularını gündeme getirmeden, yazılım’ın pratik yararlarına dikkat çekeceklerdi. Diğer destekçiler özgür yazılım hareketinin etik ve sosyal değerlerini açıkça redettiler. Görüşleri ne olursa olsun, açık kaynak için kampanya yürütürken, bu değerleri ne savundular ne de belirttiler. “Açık kaynak” terimi kısa sürede sadece pratik değerlere dayanan fikir ve savlarla ilişkili bir hale geldi. Bu pratik değerler arasında güçlü, güvenilir yazılım yapmak gibi şeyler vardı. Açık kaynağın çoğu destekçisi bu duruma geldi, ve aynı ilişkiyi yaptılar.

Neredeyse tüm açık kaynak yazılımlar özgür yazılımdır. İki terim neredeyse yazılımın aynı kategorisini tanımlamaktadır, ancak temel olarak farklı değerleri taban alan farklı görüşlere dayanırlar. Açık kaynak bir geliştirme yöntembilimidir, özgür yazılım bir sosyal harekettir. Özgür yazılım hareketi için, özgür yazılım etik bir zorunluluktur, çünkü sadece özgür yazılım kullanıcıların özgürlüğüne saygı duyar. Farklı olarak, açık kaynak felsefesi sadece pratik anlamda yazılım nasıl daha “iyi” yapabiliriz konusunu önemser. Özgür olmayan yazılımın eldeki pratik problem için değersiz bir çözüm olduğunu söyler. Özgür yazılım hareketi için ise, özgür olmayan yazılım bir sosyal problemdir, çözüm ise onu kullanmayı bırakmak ve özgür yazılıma geçmektir.

“Özgür yazılım” “Açık kaynak”. Eğer ikisi aynı yazılımsa, hangi ismi kullandığımızın bir önemi var mıdır? Evet, çünkü farklı kelimeler farklı fikirleri ifade ederler. Başka bir isimdeki bir özgür program bugün size aynı özgürlüğü verse de, kalıcı bir özgürlüğün oluşturulması herşeyin ötesinde önce tüm insanlara özgürlüğün değerini öğretmeye dayanır. Eğer bunu yapmakta yardımcı olmak istiyorsanız, “özgür yazılım”dan konuşmak olmazsa olmazdır.

Özgür yazılım hareketinde olan bizler açık kaynak kampını bir düşman olarak düşünmüyoruz; düşman özel mülk (özgür olmayan) yazılımdır. Ama biz insanların, bizim özgürlüğün tarafını tuttuğumuzu bilmelerini istiyoruz, bu yüzden yanlış bir şekilde açık kaynak destekçileri olarak etiketlenmeyi kabul etmiyoruz.

“Özgür Yazılım” ve “Açık Kaynak” İle İlgili Başlıca Yanlış Anlamalar

“Özgür yazılım” terimi yanlış anlamaya açıktır (Ç.N.: İngilizce’si “free software” için geçerlidir bu yanlış anlama): istenmeyen bir anlam “ücretsiz bir şekilde edinebildiğiniz yazılım” terime uyduğu gibi, ayrıca istenen anlam “kullanıcılara belirli özgürlükleri sağlayan yazılım” anlamını da vermektedir. Bu sorunu özgür yazılımın tanımını yayınlayarak, ve “bedava bira değil, özgür konuşmayı düşünün” ifadesiyle ele alıyoruz. Bu mükemmel çözüm değildir, sorunu tamamen çözemez. Kafa karıştırmayan ve doğru bir terim daha iyi olurdu, eğer başka bir problem yaratmıyorsa.

Maalesef, İngilizce’deki tüm alternatiflerin kendine özgü sorunları var. İnsanlar tarafından önerilen bir çok kelimeye baktık, ama hiçbiri çok açık bir şekilde değiştirmenin doğru bir fikir olacağı kadar “doğru” değildi. (Örneğin, bazı kapsamlarda Fransızca ve İspanyolca “libre” işe yaramaktadır, ama Hindistan’daki insanlar bu kelimeyi hiç anlamamaktadır.) “Özgür yazılım”la değiştirmek üzere önerilen her kelime bir çeşit anlamsal soruna sahip – bunların içerisinde “açık kaynak yazılım”da var.

Açık kaynak yazılımın resmi tanımı (Açık Kaynak Oluşumu tarafından yayınlanmıştır ve buraya alıntılamak için oldukça uzundur) bizim özgür yazılım ölçütlerimizden dolaylı olarak türetilmiştir. Aynı değildir; bazı açılardan daha gevşektir. Bununla beraber, pratikte bizim tanımımıza oldukça yakındır.

Ancak, “açık kaynak yazılım ifadesinin açık anlamı – ve çoğu insanın olduğunu düşündüğü anlamı – “Kaynak koda bakabilirsiniz.” Bu ölçüt özgür yazılım tanımından oldukça zayıftır, ayrıca açık kaynağın resmi tanımından da oldukça zayıftır. Özgür veya açık kaynak olmayan bir çok programı da içerir.

“Açık kaynak”ın bu açık anlamı, savunulan anlam olmadığına göre, çoğu insanın terimi yanlış anladığı sonucuna varabiliriz. Yazar Neal Stephenson’a göre “Linux ‘açık kaynak’ yazılımdır basitçe şu anlama gelir herkes kaynak kod dosyalarının kopyalarını alabilir” Bilinçli bir şekilde “resmi” tanımı redettiğini veya şüphelendiğini düşünmüyorum. Bence basitçe İngilizce dilinin alışkanlıklarını uygulayarak terim için bir anlam ortaya çıkardı. Kansas eyaleti benzer bir tanım yayınlamıştır: “Açık kaynak yazılım (OSS) kullanın. OSS kaynak kodu özgürce ve kamusal olarak elde edilebilir, her ne kadar bazı lisans anlaşmalarına bağlı olarak kod ile yapabildikleriniz değişiklik gösterse de.”

New York Times özel mülk yazılım geliştiricilerini on yıllardır uyguladığı kullanıcı beta testlerini – bazı kullanıcıların yazılımların ön sürümlerini denemesi ve güvenilir geri bildirimler vermesi – kastederek terimin anlamını esnekleştiren bir makale yayınlamıştır.

Açık kaynak destekçileri bu durumla resmi tanımlarını işaret ederek başa çıkmaya çalışmaktadır, ancak bu düzeltici yaklaşım onlar için bize göre daha az etkilidir. “Özgür yazılım” terimi (çn. İngilizcesi – “free software” Türkçe’de tek bir anlamı vardır) iki doğal anlama sahiptir, bu anlamlardan biri istenilen anlamdır, böylece eğer bir kişi “özgür konuşma, bedava bira değil” fikrini edindiğinde bir daha yanlış anlamayacaktır. Ancak “açık kaynak” terimi bir doğal anlama sahiptir, bu anlam destekçilerinin istediği anlamdan farklıdır. Bu yüzden resmi tanımı açıklamanın ve doğrulamanın kısa bir yolu yoktur. Bu karmaşayı daha da kötüleştirmektedir.

“Açık kaynak” teriminin bir başka yanlış anlaşılması “GNU GPL kullanmıyor” anlamına geldiği fikridir. Bu “özgür yazılım GPL ile kapsanmış yazılım anlamına gelir” yanlış anlaşılmasıyla birlikte görünme eğilimine sahiptir. Bunlar eşit derecede hatalıdır, çünkü GNU GPL açık kaynak lisans olarak kabul edilmektedir, ve çoğu açık kaynak lisansı özgür yazılım lisansı olarak nitelendirilmektedir.

Farklı Değerler Benzer Sonuçlara Götürebilir…Ama Her Zaman Değil

1960’lardaki radikal gruplar siyasal ayrışmalara itibar kazandırdılar; siyasal yapılır bölünüyordu çünkü stratejilerinin ayrıntılarında anlaşamıyorlardı ve ardından benzer temel hedef ve değerlere sahip olsalar da iki kardeş grup birbirini düşman olarak görüyorlardı. Sağ kanat bunu tüm solu eleştirmek için kullandı.

Bazıları özgür yazılım hareketini, açık kaynak ile anlaşmazlığını radikal grupların anlaşmazlığıyla karşılaştırma üzerinden kötülemeye çalışır. Tersine de sahipler. Biz açık kaynak kampıyla temel hedef ve değerlerden dolayı anlaşamıyoruz, ancak onların ve bizim bakış açımız çoğu durumda aynı pratik davranışa yol açmaktadır – özgür yazılım geliştirmek gibi.

Sonuç olarak, özgür yazılım hareketinden ve açık kaynak kampından insanlar yazılım geliştirme gibi pratik projeler üzerinde sıkça birlikte çalışmaktadırlar. Bu kadar farklı felsefik görüşlerin farklı insanları aynı projelere katkı sağlamaya güdülemesi dikkate değerdir. Bununla beraber, temel olarak farklı bakış açılarının tamamen farklı eylemlerle sonuçlandığı durumlar da vardır.

Açık kaynak fikri, kullanıcıların yazılımı daha güçlü ve güvenilir yapmak üzere değiştirmesi ve tekrar dağıtmasına izin verilmesidir. Ancak bu garanti edilmemektedir. Özel mülk yazılım geliştiricilerinin yeteneksiz olması gerekmez. Bazen onlar da güçlü ve güvenilir program üretebilirler, program kullanıcıların özgürlüğüne saygı göstermese de. Özgür yazılım aktivistleri ve açık kaynak heveslileri bu duruma oldukça farklı tepki gösterecektir.

Salt açık kaynak heveslisi, özgür yazılım düşüncelerinden hiç etkilenmemiş olan biri, “Bizim geliştirme modelimizi kullanmadan bu çok iyi çalışan programı yapabildiğinize şaşırdım. Bir kopya edinebilir miyim?” diyecektir. Bu tutum özgürlüğümüzü ortadan kaldıran tasarıları ödüllendirip, özgürlüğün kaybına neden olacaktır.

Özgür yazılım aktivisti ise “Programınız oldukça ilgi çekici, ancak özgürlüğü daha fazla önemsiyorum. Bu yüzden programınızı redediyorum. Bunun yerine özgür bir alternatifin geliştirildiği bir projeyi destekleyeceğim.” Eğer özgürlüğümüze değer veriyorsak, onu korumak ve savunmak için eylemeye geçeriz.

Güçlü, Güvenilir Yazılım Kötü Olabilir

Yazılımın güçlü ve güvenilir olmasını istememizin ana fikri yazılımın kullanıcılara hizmet ettiği varsayımından gelir. Eğer güçlü ve güvenilir ise, kullanıcılara daha iyi hizmet edecektir.

Ama eğer özgürlüklerine saygı duyuyorsa o zaman yazılım kullanıcılara hizmet ediyordur. Eğer yazılım kullanıcıları üzerine zincir koymak üzere tasarlandıysa ne olacaktır? Bu durumda güçlülük zincirlerin daha iyi kısıtladığı, güvenilirlik ise çıkarılmasının zorlaştığı anlamına gelecektir. Kullanıcıları gözetlemek, kullanıcıları sınırlamak, arka kapılar, ve dayatılmış yükseltmeler gibi kötü niyetli özellikler özel mülk yazılımlarda oldukça yaygındır, ve bazı açık kaynak destekçileri bu özellikleri açık kaynak programlarda da gerçekleştirmek istemektedir.

Film ve kayıt şirketlerinin baskısı altında, bireyler için yazılımlar gün geçtikçe artan şekilde kullanıcıları kısıtlamak üzere tasarlanmaktadır. Bu kötü niyetli özellik “Sayısal Kısıtlamalar Yönetimi – Digital Restrictions Management (DRM)” (DefectiveByDesign.org adresini ziyaret edin) olarak bilinmektedir ve bu özellik özgür yazılımın sağlamak istediği özgürlük ruhunun antitezidir. Sadece ruhun değil: DRM’in hedefi özgürlüğünü ayaklar altına almak olduğundan, DRM geliştiricileri DRM gerçekleştiren yazılımı değiştirmenizi oldukça zorlaştırmakta, imkansızlaştırmakta ve hatta yasadışı hale getirmektedir.

Yine de bazı açık kaynak destekçileri “açık kaynak DRM” yazılım önermişlerdir. Fikirleri şudur eğer şifrelenmiş ortama erişiminizi kısıtlamak üzere tasarlanmış programların kaynak kodunu yayınlayarak ve diğerlerinin onu değiştirmesini sağlayarak, sizin gibi kullanıcıları kısıtlamak üzere çok daha güçlü ve güvenilir bir yazılım üreteceklerdir. Bu yazılım daha sonra size değiştirme izni vermeyen aygıtlar üzerinde ulaştırılacak.

Yazılım açık kaynak olabilir, ve açık kaynak geliştirme modelini kullanabilir, ancak onu çalıştıran kullanıcının özgürlüğüne saygı duymadığı için özgür yazılım olmayacaktır. Eğer açık kaynak geliştirme modeli bu yazılımı sizi kısıtlamakta daha güçlü ve güvenilir yapmakta başarılı olursa, bu herşeyi daha da kötüleştirecektir.

Özgürlük Korkusu

Özgür yazılım hareketinden koparak açık kaynak kampını oluşturanlar için başlangıçtaki ana güdü “özgür yazılım”ın etik fikirlerinin bazılarını sıkıntılı bir duruma sokmasıdır. Bu doğrudur: özgürlük gibi etik konuları ileri sürmek, sorumluluklardan ve yarardan bahsetmek, insanlardan normalde yok sayacakları, davranışları etik mi gibi, şeyler hakkında düşünmelerini istemektir. Bu bir rahatsızlığı ortaya çıkarabilir, ve bazı insanlar basitçe zihinlerini buna kapatabilirler. Ancak bu durum bizim bu konular hakkında konuşmayı bırakmamızı gerektirmez.

Bu, her nasılsa, açık kaynak liderlerinin yapmaya karar verdiği şeydir. Etik ve özgürlük hakkında sessiz kalarak, ve bazı özgür yazılımların sadece anlık pratik yararlarından bahsederek yazılımı bazı kullanıcılara, özellikle işletmelere, daha kolay “sattıklarını” farkettiler.

Bu yöntem etkili olduğunu kanıtladı, kendi şartlarıyla. Açık kaynak söylemi çoğu işletmeyi ve bireyi özgür yazılım kullanmak ve hatta geliştirmek yönünde ikna etti, bu da topluluğumuzun genişlemesine katkı sağladı -ama sadece yüzeysel, pratik seviyede. Açık kaynak felsefesi, tamamen salt pratik değerleriyle, özgür yazılımın daha derin anlaşılmasını engellemektedir; bir çok insanı topluluğumuza getirmektedir, ama onlara savunmayı öğretmemektedir. Bu iyidir, gidebildiği kadar, ama özgürlüğün güvenliğini sağlamak için yeterli değildir. Kullanıcıları özgür yazılıma çekmek, kendi özgürlüklerini savunacak şekle kavuşturacak yolun sadece bir parçasıdır.

Yakın zamanda veya daha sonra bu kullanıcılar bazı pratik avantajlar için özel mülk yazılım kullanmayı ikna edilecektir. Sayısız firma bu tarz cazibeler sunmaktadır, hatta bazıları bedava kopyalar da sunmaktadır. Kullanıcı neden reddetsin? Sadece eğer özgür yazılımın kendisine sağladığı özgürlüğe değer vermeyi öğrendiyse, belirli bir özgür yazılımın kendisine sağladığı teknik ve pratik kolaylıktan ziyade özgürlüğe değer verdiği için. Bu fikri yaymak için, özgürlük hakkında konuşmalıyız. Belli bir miktarda işletmelere yönelik “sessiz kalma” yaklaşımı topluluk için yararlı olabilir, ama eğer özgürlük sevgisinin bir ayrıksılık olarak görülmesi yaygınlaşırsa tehlikelidir.

Bu tehlikeli durum tam olarak neye sahip olduğumuzdur.

Özel mülk eklenti yazılım ve kısımsal olarak özgür olmayan GNU/Linux dağıtımları verimli bir zemin bulmuşlardır, çünkü topluluğumuzun büyük bir kısmı yazılımlarıyla ilgili özgürlük konusunda ısrarcı değildir. Bu bir rastlantı değildir. Çoğu GNU/Linux kullanıcısı sistemle “açık kaynak” tartışmasıyla tanışmaktadır, bu tartışmada özgürlük bir amaç olarak anlatılmamaktadır. Pratikler özgürlüğü desteklememekte ve özgürlüğün hakkında konuşup elden ele geçmesine neden olmamaktadır. Bu eğilimi aşmak için, özgürlük hakkında daha az değil, daha fazla konuşmamız gerekli.

 Sonuç

Açık kaynak savunucuları yeni kullanıcıları topluluğa çektikçe, biz özgür yazılım aktivistleri özgürlük konusunu onların dikkatine çekme görevini üstlenmeliyiz. Söylememiz gerekir ki, “Bu özgür yazılımdır, ve size özgürlük sağlar!” – her zamankinden daha fazla ve daha yüksek sesle. Her “açık kaynak” yerine “özgür yazılım” dediğinizde mücadelemize yardımcı olmuş olursunuz.

Dipnotlar

Lakhani ve Wolf’un özgür yazılım geliştiricilerinin güdüsü üzerine bildirisi önemli oranda bir kesimin yazılımın özgür olması gerektiği görüşüyle güdülendiğini belirtmektedir. Bu sonuç, konuyu etik bir konu olarak ele alan görüşü desteklemeyen SourceForge üzerindeki geliştiricilerin incelendiği gerçeğine rağmendir.

Richard Stallman

gnu.org

0

Vim 8.0 duyuruldu

vim_logo_vUnix’te yıllardır kullanılan Vi metin editöründen Bram Moolenaar tarafından geliştirilen ve ilk olarak 1991 yılında yayınlanan metin editörü Vim, 8.0 sürümüne güncellendi. Bilgisayar programlarının kod yazılımında yaygın olarak kullanılmakla beraber, konsolda genel amaçlı metin editörü olarak da kullanılabilen Vim’in masaüstünde kullanılan grafik tabanlı GVim adlı bir versiyonu da vardır. Vim’de, Vi’de olduğu gibi, temelde menü veya tıklanabilecek bir simge yoktur. Ama istendiği takdirde komut girerek grafik moduna yani GVim’e geçiş yapılabilir.  Başlangıçta Amiga için çıkarılmış olan Vim, bugün çoklu platform desteği sağlamaktadır. GNU GPL lisansı ile yayınlanan özgür ve açık kaynak yazılım olan Vim’e maddi destek vermek isteyenlerin, desteğini, Uganda’daki ihtiyaç sahibi çocuklara yapması istenmektedir. Vim 8.0 hakkında ayrıntılı bilgi edinmek için sürüm duyurusunu inceleyebilirsiniz.

Continue Reading →

Vim 8.0 edinmek için aşağıdaki linkten yararlanabilirsiniz.

0

Richard Stallman: İlk yazılım paylaşma topluluğu

1971 yılında MIT Yapay Zekâ Laboratuvarında çalışmaya başladığımda, yıllarca varlığını sürdürmüş bir yazılım paylaşım topluluğunun bir parçası haline geldim. Yazılımların paylaşılması özel topluluğumuzla sınırlı değildi; bu, bilgisayar tarihi kadar eskiydi, tariflerin paylaşılmasının aşçılık kadar eski olması gibi. Ancak bunu çok iyi bir şekilde başardık. YZ Laboratuvarı, zamanın en büyük bilgisayarlarından biri olan Digital PDP-10 için laboratuvar ekibi hacker’larının tasarladığı ve assembler dilinde yazdığı ITS (Uyuşmaz Zaman Paylaşımlı Sistem) olarak adlandırılan bir zaman paylaşımlı işletim sistemini kullanmaktaydı. Bu topluluğun bir üyesi, YZ laboratuvar sistem hacker’ı olarak, benim görevim bu sistemi daha da geliştirmekti. Yazılımımızı “özgür yazılım” olarak adlandırmadık çünkü o zamanlar bu terim yoktu ancak gerçekte bu özgür yazılımdı. Başka bir üniversiteden ya da firmadan insanlar programımızı almak ve kullanmak istedikleri zaman, buna memnuniyetle izin veriyorduk. Birinin pek bilinmeyen ve ilginç bir program kullandığını görürseniz, her zaman kaynak kodunu görmek istersiniz, böylece kaynak kodunu okur, değiştirir ya da yeni bir program oluşturmak için, parçalayıp başka şekilde birleştirirsiniz.

Continue Reading →

(1) Yaygın medyada “güvenlik kırıcısı”nı ifade etmek için “hacker”ın kullanılması kafa karışıklığı yaratır. Biz hacker’lar bu ifadeyi kabul etmeyiz ve hacker’ın kelime anlamı olarak “Programlamayı ve bu konuda akıllı olmayı seven kimse” tanımını kullanmayı tercih ederiz

Topluluğun Çöküşü

1980’lerin başlarında Digital’in PDP-10 bilgisayarı üretiminin sona ermesiyle durum büyük ölçüde değişti. 60larda şık ve güçlü olan mimarisi, 80lerde uygun hale gelen daha geniş adres uzaylarına doğal olarak genişleyemedi. Bunun anlamı ITS’ye yönelik olarak yazılmış olan bütün programların geçersiz hale gelmesiydi.

YZ laboratuvarı zaten çökmüştü. 1981 yılında, Symbolics firması YZ Laboratuvarındaki hacker’ların hemen hemen hepsini işten çıkardı ve bu topluluk dağıldı. (Steven Levy tarafından yazılan Hackers kitabı bu olayları anlatmaktadır ve ayrıca bu topluluğa ilişkin açık bir tablo sunmaktadır.) YZ Laboratuvarı 1982 yılında yeni bir PDP-10 satın aldığında, yöneticileri, yeni makine üzerinde ITS yerine özgür olmayan bir zaman paylaşımlı sistemi kullanmaya karar verdi.

VAX ya da 68020 gibi zamanın modern bilgisayarları kendi işletim sistemlerine sahipti ancak bu işletim sistemlerinin hiçbiri özgür yazılım değildi: çalıştırılabilir bir kopya elde etmek için, bir gizlilik anlaşması imzalamanız gerekliydi.

Bu, bir bilgisayarın kullanımındaki ilk aşamanın komşunuza yardım etmemeye söz vermeniz olduğu anlamına geliyordu. Bu duruma göre, bir topluluğun işbirliği yapması yasaktı. Özel mülk yazılım sahipleri tarafından ortaya konan kural şuydu: “Komşunuzla bilgi paylaşırsanız siz bir korsansınız. Herhangi bir değişiklik isterseniz, bu değişikliğin yapılmasını bizden rica edin.”

Özel mülk yazılım sosyal sistemi, yazılımı paylaşmanıza ya da değiştirmenize izin vermeyen sistem, anti-sosyaldir, etik değildir, basitçe ifade edilirse yanlıştır, bu durum bazı okuyucular için şaşırtıcı olabilir. Ama toplumu bölen ve kullanıcıları çaresiz bırakan bir sistem hakkında başka ne söyleyebiliriz? Bu fikri şaşırtıcı bulan okuyucular bu özel mülk yazılım sosyal sistemini verildiği gibi almış olabilir ya da özel mülk yazılım işlerinin önerdiği şekilde değerlendirebilir. Yazılım yayıncıları, insanları, bu konuya yönelik tek bir bakış açısı olduğuna inandırmak için uzun ve zorlu bir çalışma yürütmüşlerdir.

Yazılım yayıncıları “haklarını” “almak” ya da “korsanlığı durdurmak” hakkında konuştukları zaman, gerçekte “söyledikleri” şey ikincil öneme sahiptir. Bu ifadelerin gerçek mesajı, ifade edilmeyen varsayımlardadır; insanların üzerine kafa yormadan bunları kabul etmesi beklenmektedir. Şimdi bunları inceleyelim.

Yapılan varsayımlardan biri şudur: Yazılım firmaları yazılımı sahiplenme ve tüm kullanıcıları üzerinde güce sahip olma gibi sorgulanamayan doğal bir hakka sahiptir (Bu doğal bir haksa, o zaman topluma ne kadar zarar verdiği önemli değildir, buna karşı koyamayız.). Amerikan Anayasası ve yasal geleneği bu görüşe karşı çıkmaktadır; telif hakkı doğal bir hak değildir ancak telif hakkı kullanıcıların doğal kopyalama hakkını sınırlandıran ve hükümet tarafından dayatılan yapay bir tekeldir.

İfade edilmeyen başka bir varsayım, yazılım hakkındaki önemli tek şeyin size hangi işleri yapmaya izin verdiğidir, biz bilgisayar kullanıcılarının ne tür topluluklara sahip olmaya izinli olduğumuza aldırmamalıyız.

Üçüncü bir varsayım, bir firmaya programın kullanıcıları üzerinde güç sunmazsak, kullanılabilir bir yazılıma sahip olmayacağımızdır (ya da şu ya da bu belirli işi gerçekleştiren bir programa asla sahip olamayacağımızdır). Özgür yazılım hareketinin üzerlerine zincir vurmadan da çok sayıda yararlı yazılım üretebileceğini göstermesinden önce bu varsayım uygunmuş gibi görünmüş olabilir.

Eğer bu yaklaşımları kabul etmeyi reddedersek ve bu konuları basit bir sağduyu ile, kullanıcıları öncelleyerek irdelersek, çok farklı bir sonuca varırız. Bilgisayar kullanıcıları, ihtiyaçlarına uygun olması için programlarını değiştirme ve yazılımlarını paylaşma konusunda özgür olmalıdır çünkü diğer insanlara yardımcı olmak toplumun temelidir.

Burada bu sonuca varmayı açıklamaya yetecek yer kalmadı, bu yüzden okuyuculara http://www.gnu.org/philosophy/why-free.html sayfasını öneririm.

Yalın Ahlaki Seçim

Topluluğumuzun sona ermesiyle, daha önceki gibi devam etmek mümkün değildi. Bunun yerine, bir yalın ahlaki seçimle karşı karşıya geldim.

Kolay seçenek özel mülk yazılım dünyasına katılmak ve gizlilik anlaşmaları imzalamak ve hacker arkadaşlarıma yardımcı olmamaya söz vermekti. Muhtemel olarak ben de bu gibi anlaşmalara uygun olarak hazırlanan yazılımlar geliştiriyor olacaktım, böylece diğer insanların da hacker arkadaşlarına ihanet etmesine ilişkin baskıyı arttıracaktım.

Bu şekilde para kazanacaktım ve belki de kod yazmaktan da zevk alacaktım. Ama iş hayatımın sonunda, insanları bölmek için duvarlar inşa ettiğim yılları görecek ve yıllarımı dünyayı daha kötü bir yer haline getirmekle geçirmiş olduğumu fark edecektim.

Birileri yazıcımıza ait kontrol programı için kaynak kodunu bana ve MIT YZ laboratuvarına vermek istemediğinde, bir gizlilik anlaşmasının alıcı ucunda olduğumu anladım. (Bu programdaki belirli özelliklerin olmaması yazıcının kullanımını bozmaktaydı.) Bu nedenle, bu gibi anlaşmaların masum olduğunu kendime söyleyemem. Yazıcı programı benimle paylaşılmayınca çok sinirlendim; vazgeçip, arkamı dönüp ben de aynı şeyi bir başkasına yapamazdım.

Kolay olan ancak hoş olmayan başka bir seçenek bilgisayar alanını tamamen bırakmaktı. Böylece yeteneklerim kötüye kullanılmamış olacaktı ama boşa harcanmış olacaktı. Bilgisayar kullanıcılarını bölme ve sınırlama konusunda suçlamayı hak etmeyecektim ama bu, bir şekilde gerçekleşecekti.

Bu nedenle, bir programcının iyi birşeyler yapabilmesi için bir yol aradım. Kendi kendime, bir topluluğu yeniden mümkün hale getirebilecek bir programı yazabilip yazamayacağımı sordum.

Yanıt açıktı: ilk olarak ihtiyaç duyulan şey bir işletim sistemiydi. İşletim sistemi, bir bilgisayarın kullanılabilmesi için gerekli yazılımdı. Bir işletim sistemiyle, birçok şey yapabilirsiniz; ancak işletim sisteminiz olmazsa, bilgisayarı çalıştıramazsınız. Özgür bir işletim sistemiyle, yine işbirliği yapan bir hacker topluluğumuz olabilir ve herkesi bu topluluğa katılmaya davet edebiliriz. Ve herkes, arkadaşlarını mahrum etmeden bir bilgisayarı kullanabilir.

Bir işletim sistemi geliştiricisi olarak, bu iş için doğru yeteneklere sahiptim. Bu nedenle, hak ettiğim başarıyı elde edebileceğimi düşünmesem de, bu iş için seçilmiş kişi olduğumu düşünüyordum. Sistemi Unix ile uyumlu olacak şekilde seçtim, böylece sistem taşınabilir bir sistem haline geldi ve böylece Unix kullanıcıları kolayca bu sisteme dönebildi. Hacker geleneğini takiben özyineli bir isim olan GNU ismi – GNU’s Not Unix – seçilmişti.

Bir işletim sistemi, yalnızca diğer programları çalıştırmak için yeterli olan bir öz anlamına gelmemektedir. 1970’lerde, her işletim sistemi, komut işlemcilerini, assembler’ları, derleyicileri, yorumlayıcıları, hata ayıklama birimlerini (debugger), metin düzenleyicilerini ve çok daha fazlasını içermekteydi . ITS’te, Multics’te, VMS’te ve Unix’te bunlar vardı. GNU işletim sistemi de bunları içerecekti.

Daha sonra Hillel’e atfedilen (1) şu sözleri duydum:

Ben kendim için değilsem, benim için olacak kimdir?
Ben yalnızca kendim içinsem, ben neyim?
Şimdi değilse, ne zaman?

GNU Projesini başlatma kararı benzer bir ruhu esas almaktadır.

Bir ateist olarak, dini liderleri izlemiyorum ama bazen dini liderlerden birinin söylediği bir sözü beğendiğimi fark ediyorum.

“Free Software”’deki “Free” Özgürlük Anlamındadır

“Free Software” (İngilizce’de “Free” hem özgür hem de ücretsiz anlamlarına gelmektedir) ifadesi bazen yanlış anlaşılmaktadır, buradaki “free” ifadesinin ücretle bir ilgisi yoktur. Burada “free” ifadesi özgürlükle ilgilidir. Bu nedenle, burada özgür yazılımın tanımı.

Aşağıdaki şartlar yerine getirildiğinde, sizin gibi belirli bir kullanıcı için, bir program özgür bir yazılımdır:

  • Herhangi bir amaçla programı çalıştırma özgürlüğüne sahipseniz.
  • İhtiyaçlarınıza uygun olacak şekilde programı değiştirme özgürlüğüne sahipseniz. (Bu özgürlüğü, uygulamada etkin hale getirmek için, kaynak koduna erişebilmelisiniz, çünkü kaynak kodu olmaksızın bir programda değişiklikler yapmak aşırı zordur.)
  • Kopyaları ücretsiz olarak ya da belirli bir ücret karşılığında yeniden dağıtma özgürlüğüne sahipseniz.
  • Toplumun gelişmelerden faydalanmasını sağlamak için, programın değiştirilmiş sürümlerini dağıtma özgürlüğüne sahipseniz.

“Özgür” (Free) özgürlüğe atıf yaptığı ve fiyata atıf yapmadığı için, kopyaların ve özgür yazılımın satılması arasında bir çatışma yoktur. Gerçekte, kopyaları satma özgürlüğü çok önemlidir: CD-ROM’larda satılan özgür yazılım koleksiyonları, toplum için önemlidir ve bunların satılması, özgür yazılımın gelişimi için gerekli paranın toplanması için önemlidir. Bu nedenle, insanların bu kolleksiyonlara ekleyemediği bir program özgür yazılım değildir.

“Özgür”ün (Free kelimesinin İngilizce’deki) anlam belirsizliğinden dolayı, insanlar uzun süre alternatif bir ifade arayışına girmiştir ancak hiç kimse uygun bir alternatif bulamamıştır. İngiliz Dili, başka herhangi bir dilden daha fazla sözcüğe ve nüansa sahiptir ancak özgürlükteki gibi “özgür” anlamına gelen basit, belirsizlikten uzak bir sözcüğü içermemektedir, “zincirsiz” anlamca en yakın gelen sözcüktür. “Özgür bırakılmış”, “özgürlük” ve “açık” yanlış bir anlama ya da başka bazı dezavantajlara sahiptir.

GNU Yazılımı ve GNU Sistemi

Bütün bir sistem geliştirmek çok büyük bir projedir. Sonuca ulaşmak için, her mümkün olduğunda, özgür yazılımın mevcut parçalarını uyarlamaya ve kullanmaya karar verdim. Örneğin, başlangıçta temel metin biçimlendirici olarak TeX’i kullanmaya karar verdim, GNU için başka bir pencere sistemi yazmak yerine X Window Sistemini kullanmaya karar verdim.

Bu karardan dolayı, GNU sistemi, tüm GNU yazılımının koleksiyonuyla aynı değildir. GNU sistemi, GNU yazılımı olmayan, kendi amaçları için diğer insanlar ve projeleri tarafından geliştirilen ancak özgür yazılım oldukları için kullanabildiğimiz programları içerir.

Projenin Başlatılması

1984 yılının Ocak ayında MIT’deki görevimden ayrıldım ve GNU yazılımını geliştirmeye başladım. MIT’den ayrılmam gerekliydi, çünkü MIT’nin GNU’nun özgür yazılım olarak dağıtımını kısıtlamasını istemiyordum. Ekipte kalsaydım, MIT bu çalışmayı sahiplenebilirdi ve kendi dağıtım kurallarını dayatabilirdi ve hatta bu çalışmayı özel mülk yazılım paketine dönüştürebilirdi. Çalışmaların sonuçsuz kalmasını ve başarısız olmasını istemiyordum, amacım yeni bir yazılım paylaşım topluluğu oluşturmaktı.

Bununla birlikte, o zamanlarda MIT YZ Laboratuvarının başında bulunan Profesör Winston, beni, kibarca laboratuvarın olanaklarını kullanmaya devam etmem yönünde teşvik etti.

İlk Adımlar

GNU Projesine başlamadan kısa süre önce, VUCK olarak da bilinen Özgür Üniversite Derleyici Kitini duymuştum. (Hollanda dilinde “özgür”e ilişkin kelime ‘V’ harfi ile yazılmaktadır) Bu, C ve Pascal dahil olmak üzere çok sayıda dili kontrol etmek ve çok sayıdaki hedef makineyi desteklemek için tasarlanmış bir derleyiciydi. GNU’nun bunu kullanıp kullanamayacağını sormak için yazarına yazdım.

Alaycı bir yanıt yazdı, üniversitenin özgür olduğunu ancak derleyicinin özgür olmadığını söyledi. Bu nedenle, GNU Projesi için ilk programımın çok-dilli çok platformlu bir derleyici olmasına karar verdim.

Tüm derleyiciyi kendi kendime yazma ihtiyacımı önleme umuduyla, Pastel derleyicisine ilişkin kaynak kodu edindim, Pastel derleyicisi, Lawrence Livermore Laboratuarında geliştirilmiş çok-platformlu bir derleyiciydi. Kendisinin de yazılmış olduğu, Pascal’ın sistem programlama dili olarak tasarlanmış genişletilmiş bir sürümünü destekliyordu. Bir C ön ucu [:front-end] ekledim ve Motorola 68000 bilgisayarına yüklemeye başladım. Derleyicinin megabaytlarca yığıt [:stack] alanına ihtiyaç duyduğunu ve mevcut 68000 Unix sisteminin yalnızca 64k’ya izin verdiğini fark ettiğimde bundan vazgeçtim.

Daha sonra, Pastel derleyicisinin tüm giriş dosyasını bir sözdizim ağacına ayrıştırarak çalıştığını, tüm sözdizim ağacını bir “yönerge” zincirine dönüştürdüğünü ve daha sonra, herhangi bir depolama alanını boşaltmaksızın tüm çıkış dosyasını ürettiğini fark ettim. Bu noktada, yeni bir derleyici yazmam gerektiği sonucuna vardım. Bu yeni derleyici şimdi GCC olarak bilinmektedir; içinde Pastel derleyicisi kullanılmamaktadır ancak yazmış olduğum C ön ucunu uyarlamayı ve kullanmayı sağladım. Ancak bunu birkaç yıl sonra gerçekleştirdim; ilk olarak, GNU Emacs üzerinde çalıştım.

GNU Emacs

1984 yılının Eylül ayında GNU Emacs üzerinde çalışmaya başladım ve 1985 yılında, GNU Emacs kullanılabilir olmaya başladı. Bu, düzenleme işlemleri için Unix sistemlerini kullanmaya başlamamı olanaklı kıldı; vi ya da ed’i kullanmayı öğrenme konusunda bir ilgim yoktu, o zamana kadar düzenleme işlemlerimi diğer makineler üzerinde gerçekleştirmiştim.

Bu noktada, insanlar, GNU Emacs’i kullanmayı istediler, bu durum da GNU Emacs’in nasıl dağıtılacağı sorusunu gündeme getirdi. Tabi ki, GNU Emacs’i, kullandığım MIT bilgisayarındaki ftp sunucusuna, anonim olarak erişilebilecek şekilde koydum. (Bu bilgisayar, başka bir deyişle, prep.ai.mit.edu, bu nedenle temel GNU ftp dağıtım bölgesi haline geldi; birkaç yıl sonra devreden çıkarıldıktan sonra, alan adını yeni sunucumuza yönlendirdik) Ancak, bu zaman zarfında, ilgili insanların birçoğu İnternette değildi ve ftp ile bir kopyasını alamadı. Bu nedenle, şu soru ortaya çıktı: onlara ne diyecektim?

Şöyle diyebilirdim: “Ağ üzerinde olan ve sizin için bir kopya alacak olan bir arkadaşınızı bulun”. Ya da orijinal PDP-10 Emacs’ta yaptığımı yapacaktım: “Bana bir bant ve SASE gönderin ve ben de size üzerinde Emacs olacak şekilde bunu size geri göndereyim.” Ama işsizdim ve özgür yazılımdan para kazanmanın yollarını arıyordum. Bu nedenle, $150 karşılığında isteyen herkese bir bant gönderebileceğimi anons ettim. Bu şekilde, özgür yazılım dağıtım işine başladım, böylece, günümüzde Linux-tabanlı GNU sistemlerini dağıtan firmalar için öncü oldum.

Bir program her kullanıcı için özgür müdür?

Bir program yazarının elinden çıktığında özgür yazılımsa, bu, programın kopyasına sahip herkes için mutlaka özgür yazılım olacağı anlamına gelmez. Örneğin, kamuya ait yazılım (telif hakkına sahip olmayan yazılım) özgür yazılımdır; ancak herkes, bunun özel mülk değiştirilmiş bir sürümünü oluşturabilir. Benzer şekilde, birçok özgür program telif hakkına sahiptir ancak değiştirilmiş özel mülk sürümlere izin veren basit izin lisansları altında dağıtılmıştır.

Bu problemin faydacı örneği, X Window Sistemidir. Bu sistem, MIT tarafından geliştirilmiş ve bir izin lisansıyla özgür yazılım olarak yayınlanmış olup, çeşitli bilgisayar firmaları tarafından benimsenmiştir. Bu firmalar, yalnızca ikili [:binary] biçimde özel mülk Unix sistemlerine X’i eklemiş ve aynı anlaşma ile kapsanmıştır. X’in bu kopyaları, bundan böyle Unix’in olduğundan daha fazla özgür yazılım değildir.

X Window Sisteminin geliştiricileri bunu bir problem olarak görmemişler , bu durumun meydana gelmesini beklemişlerdir. Hedefleri özgürlük değildi, yalnızca “başarıydı” ve başarı “fazla sayıda kullanıcıya sahip olmak” olarak tanımlanmaktaydı. Kullanıcıların özgürlüğe sahip olup olmamaları umurlarında değildi, tek istedikleri çok sayıda kullanıcıya sahip olmaktı.

Bu durum, “Bu program özgür mü?” sorusuna farklı yanıtlar veren iki farklı özgürlük derecesi hesaplama yönteminin olduğu bir paradoks durumuna neden olmaktadır. MIT sürümünün dağıtım terimleri cinsinden sağlanan özgürlük derecesini esas alarak değerlendirme yaptıysanız, X’in özgür yazılım olduğunu söyleyebilirsiniz. Ancak, X’in ortalama kullanıcısının özgürlüğünü ölçerseniz, o zaman Özel mülk yazılım olduğunu söylemeniz gereklidir. Birçok X kullanıcısı, Unix sistemleriyle birlikte verilen özel mülk sürümleri kullanmaktadır, özgür sürümü kullanmamaktadır.

Copyleft ve GNU GPL

GNU’nun hedefi yalnızca popüler olmak değil kullanıcılara özgürlük de sağlamaktır. Bu nedenle, GNU yazılımının özel mülk yazılıma dönüştürülmesini önleyen dağıtım terimlerini kullanmamız gereklidir. Kullandığımız yöntem copyleft yöntemidir. (1)

Copyleft, telif hakkı kanununu kullanır ancak genel amacının tersine hizmet etmesi için tersine çevirir: yazılımı özel hale getirmek yerine, yazılımı özgür tutmanın bir yolu haline gelir.

Copyleft’in temel fikri, herkese, programı çalıştırma, değiştirme, değiştirilmiş sürümleri dağıtma hakkını vermek, ancak özel kısıtlamalar ekleme iznini vermemektir. Bu nedenle, “özgür yazılımı” tanımlayan önemli özgürlükler, yazılımın kopyasına sahip herkes için mevcuttur; bu, geri alınamaz bir haktır.

Etkin bir copyleft için, değiştirilmiş sürümler de özgür olmalıdır. Bu, yayınlanırsa, bizimkileri esas alan çalışmaların, topluluğumuz için erişilebilir olmasını sağlar. Programcı olarak çalışan kimseler GNU yazılımını değiştirmek için gönüllü olduklarında, copyleft, “Bu değişiklikleri paylaşamazsın çünkü programın özel mülk sürümünü oluşturmak için bu değişiklikleri kullanacağım” denmesini önler.

Programın her kullanıcısı için özgürlüğü sağlamak istersek, değişikliklerin özgür olması gerektiğine ilişkin şart önemlidir. X Window Sistemini özelleştiren firmalar, genellikle X Window’u sistemlerine ve donanımına taşımak için bazı değişiklikler yapmıştır. Bu değişiklikler X’in üstün derecesiyle karşılaştırıldığında küçüktü ancak önemsiz değildi. Değişikliklerin yapılması kullanıcıların özgürlüklerinin inkâr edilmesine ilişkin bir özürse, herkesin bu bahaneden yararlanması kolaydır.

İlgili bir konu da özgür bir programın özgür olmayan kodla birleştirilmesidir. Bu gibi bir birleşim özgürlükten uzak olacaktır; özgür olmayan kısım için eksik olan özgürlükler bütün için de eksik olacaktır. Bu gibi birleşimlere izin verilmesi, bir gemiyi batırmaya yetecek büyüklükte deliklerin açılmasına neden olur. Bu nedenle, copyleft için önemli bir şart bu deliği tıkamaktır: copyleft edilmiş bir programla birleştirilmiş ya da bu gibi bir programa eklenmiş herhangi bir şey, birleştirilmiş daha büyük sürümün de özgür ve copyleft olmasını gerektirecektir.

Birçok GNU yazılımı için kullandığımız copyleft’in özel gerçekleştirimi, GNU Genel Kamu Lisansı ya da kısaca GNU GPL’dir. Bazı özel durumlarda ve ortamlarda kullanılan diğer copyleft tipleri de mevcuttur. GNU kullanım kılavuzu da copyleft edilir ancak çok daha basit bir copyleft tipi kullanırlar çünkü GNU GPL’nin karmaşıklığı kılavuzlar için gerekmez. (2)

(1) 1984 ya da 1985 yılında, Don Hopkins (hayal gücü çok geniş olan bir adam) bana bir mektup gönderdi. Mektubunda birçok komik şey yazıyordu, şu da bunlardan biriydi: “Copyleft , tüm hakları ters çevrilmiştir”. “Copyleft” sözcüğünü o zamanlar geliştirmekte olduğum dağıtım kavramını adlandırmak için kullanmıştım.

(2) Şimdi belgeleme için GNU Özgür Belgeleme Lisansını kullanıyoruz.

Özgür Yazılım Vakfı

Emacs’ın kullanımına ilişkin ilgi arttıkça, başka insanlar GNU Projesine dahil oldular ve o zaman yeniden destek almamızın zamanının geldiğine karar verdik. Böylece 1985 yılınca özgür yazılım geliişimi için vergiden muaf bir hayır kurumu olan Özgür Yazılım Vakfını (FSF) kurduk. FSF ayrıca Emacs bant dağıtım işini de ele aldı; daha sonra, banda diğer özgür yazılımları (hem GNU hem de GNU-olmayan) ekleyerek ve özgür kılavuzları satarak bu işi genişletti.

FSF, bağışları kabul eder ancak gelirinin çoğu özgür yazılımın ve ilgili diğer hizmetlerin satışından gelmektedir. Günümüzde, kaynak kodunu içeren CD-ROM’ları, ikili kodları içeren CD-ROM’ları, güzel baskılı kılavuzları (hepsinin yeniden dağıtım ve değiştirme özgürlüğü vardır) ve Deluxe Dağıtımlarını (burada sizin seçeceğiniz dağıtım için tüm özgür yazılım koleksiyonu yer alıyor) satmaktadır.

Özgür Yazılım Vakfı çalışanları bazı GNU yazılım paketlerini yazmış ve ellerinde tutmuştur. Bunlardan tanınmış iki tanesi C kütüphanesi ve kabuktur (shell). GNU C kütüphanesi, GNU/Linux sisteminde çalışan her programın Linux ile haberleşmek için kullandığı şeydir. Özgür Yazılım Vakfında çalışan Roland McGrath tarafından geliştirilmiştir. Birçok GNU/Linux sisteminde kullanılan kabuk BASH’tır, Bourne Again Shell (1), bu kabuk, FSF çalışanı olan Brian Fox tarafından geliştirilmiştir.

Bu programların geliştirilmesini destekledik çünkü GNU Projesi yalnızca araçlar ya da bir geliştirme ortamı hakkında değildi. Hedefimiz tam bir işletim sistemiydi ve bu programlar söz konusu hedef için gerekliydi.

(1) “Bourne again Shell” “Bourne Shell” adı üzerinde bir şakadır, bu, Unix’teki genel kabuktur.

Özgür Yazılım Desteği

Özgür yazılım felsefesi, bazı yaygın ticari uygulamayı reddeder ancak ticarete karşı değildir. İşyerleri kullanıcıların özgürlüğüne saygı duyduğunda, onlara başarı dileriz.

Emacs’ın kopyalarının satılması, bir çeşit özgür yazılım ticaretini gösterir. FSF bu işi devraldığında, geçimimi sağlamak için başka bir yol gerekti. Geçimimi, geliştirmiş olduğum özgür yazılıma ilişkin hizmetlerin satılmasıyla sağladım. Bu, GNU Emacs’ın nasıl programlanacağı ve GCC’nin ve yazılım gelişiminin nasıl uyarlanacağı (çoğunlukla GCC’yi yeni platformlara taşıyan) gibi konular için eğitim vermeyi de içermektedir.

Günümüzde özgür yazılım ticaretinin bu tiplerinin her biri belirli sayıda kurum tarafından uygulanmaktadır. Bazıları, CD-ROM üzerinde özgür yazılım koleksiyonları dağıtmaktadır; diğerleri, çeşitli seviyelerde destek satmaktadır, bu destek: kullanıcı sorularının yanıtlanması, sorunların giderilmesi ve büyük ve yeni özelliklerin eklenmesini içerir. Yeni özgür yazılım ürünlerinin başlatılmasını esas alan özgür yazılım firmalarını görmeye başladık bile.

Yine de dikkatli olun, kendilerini “açık kaynak” terimiyle ilişkilendiren bazı firmalar, özgür yazılımla çalışan özgür olmayan yazılımı esas almaktadır. Bunlar özgür yazılım firmaları değildir, bunlar, özel mülk yazılım firmalarıdır, ürünleri ve kullanıcıları özgürlükten uzaklaştırmaktadır. Onlar bunu katma değerli olarak adlandırırlar, bu terim benimsememizi istedikleri değerleri yansıtır: özgürlüğün üstünde kazanç. Özgürlüğe daha çok değer vererek, bunları “özgürlüğü çıkarılmış” ürünler olarak adlandırmalıyız.

Teknik hedefler

GNU’nun temel hedefi, özgür yazılımı sağlamaktır. GNU’nun UNIX’e göre teknik bir avantajı olmasa da, sosyal bir avantajı vardır, kullanıcıların birlik olmasına imkân verir ve etik bir avantajı vardır, kullanıcıların özgürlüğüne saygı duyar.

Ancak iyi uygulamaların bilinen standartlarının çalışmaya uygulanması doğaldı, örneğin rastgele sabit büyüklükteki sınırları önlemek için veri yapılarının dinamik olarak tahsis edilmesi ve anlamlı olan her yerde mümkün olan tüm 8-bitli kodların kontrol edilmesi gibi.

Ek olarak, 16-bit makineleri (GNU sistemi tamamlandığında, 32-bit makineler geçerli olacaktır) desteklememeye ve megabaytı geçmedikçe bellek kullanımını azaltmak için çaba göstermemeye karar vererek Unix’in küçük bellek büyüklüğü üzerine odaklanmasını reddettik. Çok büyük dosyalarla işlem yapılmasının çok önemli olmadığı programlarda, programcıların, tüm giriş dosyasını çekirdekte okumasını, daha sonra içeriğini I/O konusunda tedirginliğe kapılmaksızın taramasını sağladık.

Bu kararlar, birçok GNU programının Unix benzerlerini, güvenilirlik ve hız açısından geçmesini mümkün kılmıştır.

Bağışlanan Bilgisayarlar

GNU Projesinin ünü arttıkça, insanlar, üzerlerinde Unix çalışan makinelerini projeye bağışlamaya başladı. Bunlar çok yararlıydı çünkü GNU’nun bileşenlerini geliştirmenin en kolay yolu, bunu bir Unix sistemi üzerinde gerçekleştirmek ve söz konusu sistemin bileşenlerini birer birer değiştirmekti. Ancak bu durum etik bir sorunu ortaya çıkardı: Unix’in bir kopyasına sahip olmamız doğru mudur?

Unix, özel mülk bir yazılımdı (hâlâ da öyledir) ve GNU Projesinin felsefesi, özel mülk yazılım kullanmamamız gerektiğini söyler. Ancak, aynı mantık uygulandığında şu sonuca varılır: kendini korurken şiddet uygulanabilir, insanların özel mülk paketi kullanmalarını durdurmasına yardımcı olan özgür programı kullanabilmek için özel mülk paketin kullanılması mantıklıdır.

Savunulabilir bir durum olmasına rağmen, bu durum yine de kötü bir durumdur. Günümüzde, Unix’in hiçbir kopyasına sahip değiliz çünkü bu kopyaların yerine özgür işletim sistemlerini yerleştirdik. Bir makinenin işletim sistemini özgür bir işletim sistemiyle değiştiremediysek, bunun yerine makineyi değiştirirdik.

GNU Görev Listesi

GNU Projesi ilerledikçe ve artan sayıda sistem bileşeni bulundukça ya da geliştirildikçe, artık kalan eksiklerin bir listesinin yapılması yararlı bir hale geldi. Eksik parçaları yazmak için geliştiricileri işe almaktaydık. Bu liste, GNU Görev Listesi olarak bilinmeye başladı. Eksik Unix bileşenlerine ek olarak, gerçekten tam bir sistemin sahip olmasının gerekli olduğunu düşündüğümüz diğer yararlı yazılım ve belgeleme projelerini listeledik.

Günümüzde, GNU Görev Listesinde ancak birkaç tane Unix bileşeni kalmıştır, bu işler (birkaç tane önemsiz iş hariç olmak üzere) gerçekleştirilmiştir. Ancak, liste, bazılarının “uygulamalar” olarak adlandırabildiği projelerle doludur. Dar bir kullanıcı grubundan daha fazlasını gerektiren herhangi bir program, işletim sistemine eklenecek yararlı bir birimdir.

Oyunlar bile görev listesine dahildir ve başlangıçtan beri durum böyledir. Unix’te oyunlar vardı, bu nedenle doğal olarak GNU’da da olmalıydı. Ancak oyunlar için uyumluluk söz konusu değildi, bu nedenle, Unix’in sahip olduğu oyun listesini izlemedik. Bunun yerine, kullanıcıların sevebildiği farklı oyun tipi çeşitlerini listeledik.

GNU Kütüphane GPL

GNU C kütüphanesi, GNU Kütüphane Genel Kamu Lisansı (1) olarak adlandırılan ve özel mülk yazılımla kütüphane arasında bağlantı kurma iznini sağlayan özel bir copyleft tipini kullanmaktadır. Bu istisnai durumun nedeni nedir?

Bu bir ilke sorunu değildir; özel mülk yazılım ürünlerinin kodumuzu içermesi konusunda yetkilendirilmesini söyleyen bir ilke yoktur. (Bizimle paylaşmayı reddeden bir projeye niye katılalım?) C kütüphanesi ya da herhangi bir kütüphane için LGPL kullanılması bir strateji hususudur.

C kütüphanesi genel bir işi başarmıştır; özel mülk her sistem ya da derleyici bir C kütüphanesine sahiptir. Bu nedenle, C kütüphanemizi yalnızca özgür yazılıma açık kılmak özgür yazılıma hiçbir avantaj sağlamayacaktır, bu yalnızca kütüphanemizin kullanımını engelleyecektir.

Bir sistem bu kurala uymayan bir durumdur: GNU sisteminde (ve bu, GNU/Linux’ı içerir) GNU C kütüphanesi, tek C kütüphanesidir. Böylece, GNU C kütüphanesinin dağıtım terimleri, GNU sistemi için özel mülk bir programın derlenmesinin mümkün olup olmadığını belirler. GNU sistemi üzerinde özel mülk uygulamalara izin vermek için etik bir neden yoktur ancak stratejik açıdan, onlara imkân vermemek, özgür uygulamaların geliştirilmesini cesaretlendirmekten ziyade GNU sisteminin kullanımına yönelik cesareti kıracaktır. Bu, GPL Kütüphane kullanımının C kütüphanesi için iyi bir strateji olmasının nedenidir.

Diğer kütüphaneler için, stratejik karar her duruma özgü bir şekilde oluşturulmalıdır. Bir kütüphane belirli program tiplerinin yazılmasına yardımcı olan özel bir işi gerçekleştirdiğinde, o zaman bunu GPL altında yayarak sadece özgür programlarda kullanımını sınırlandırmak diğer özgür yazılım geliştiricilerine yardımcı olmanın bir yolu olacaktır, bu da özel mülk yazılıma karşı onlara bir avantaj sağlayacaktır.

GNU Readline’ı değerlendirelim, bu, BASH için komut satırının düzenlenmesini sağlayan bir kütüphanedir. Readline, sıradan GNU GPL altında yayılır, GPL kütüphane altında dağıtılmaz. Bu muhtemelen Readline’ın kullanım miktarını azaltır ancak bizim için bir kayıp yoktur. Bu arada, özgür yazılım için en azından bir tane yararlı uygulama belirli olarak gerçekleştirilmiştir böylece Readline kullanılabilir ve bu, toplum için gerçek bir kazançtır.

Özel mülk yazılım geliştiricileri, paranın sağladığı avantajlara sahiptir; özgür yazılım geliştiricilerinin, birbirleri için avantajlı durumlar oluşturması gerekir. Umarım, günün birinde özel mülk yazılımlar için eşleri olmayan GPL ile lisanslanmış geniş kütüphane kolleksiyonlarına sahip olacağız, bu kütüphaneler yeni özgür yazılımlar için inşa birimlerini oluşturacak ve daha fazla özgür yazılım geliştirmesi için önemli bir avantaj sağlayacaklar.

(1) Bu lisans şimdi GNU Kısıtlı Genel Kamu Lisansı adını almıştır, kütüphanelerin onu kullanması gerektiği fikrini vermemek için. Ayrıntılı Bilgi İçin.

Arzuyu kaşımak?

Eric Raymond, “Her iyi yazılım çalışması, geliştiricinin kişisel ve güçlü bir arzusunun ortaya çıkmasıyla başlar” der. Bu söz bazı durumlarda doğrudur ancak GNU yazılımının birçok esas parçası tam bir özgür işletim sistemine sahip olmak için geliştirilmiştir. Bunlar, bir bakış açısından ve bir plandan gelmektedir, bir dürtüden değil.

Örneğin, GNU C kütüphanesini geliştirdik çünkü Unix-benzeri bir sistem bir C kütüphanesine, ihtiyaç duyar, Bourne Again Shell’i (BASH) geliştirdik çünkü Unix-benzeri bir sistem bir kabuğa ihtiyaç duyar ve Unix-benzeri bir sistem bir tar programına ihtiyaç duyduğu için GNU tar’ı geliştirdik. Kendi programlarım için de aynısı geçerlidir, GNU C derleyicisi, GNU Emacs, GDB ve GNU Make.

Bazı GNU programları özgürlüğümüze ilişkin bazı tehditlerle başa çıkmak için geliştirilmiştir. Bu nedenle, Compress programının yerine geçmesi için gzip’i geliştirdik, bu program, LZW patentlerinden dolayı kayıptır. LessTif’i geliştirdik ve yakın zamanda belirli özel mülk kütüphaneler nedeniyle oluşan problemleri halletmek için GNOME ve Harmony’i başlattık (aşağıdaki “özgür olmayan kütüphaneler” bölümüne bakınız). Özgür olmayan gözde şifreleme yazılımının yerine geçmesi için GNU Gizlilik Kılavuzunu geliştirmekteyiz çünkü kullanıcılar gizlilik ve özgürlük arasında bir tercih yapmak zorunda kalmamalıdır.

Tabi ki, bu programları yazan insanlar çalışmayla ilgilenmeye başlamıştır ve kendi ihtiyaçları ve çıkarları için, çeşitli insanlar tarafından bunlara birçok özellik eklenmiştir. Ancak programların var olma nedeni bu değildir.

Beklenmedik gelişmeler

GNU Projesinin başlangıcında, tüm GNU sistemini geliştirebileceğimizi ve daha sonra bir bütün olarak yayınlayabileceğimizi hayal etmiştim. Ancak durum böyle olmadı.

GNU sisteminin her bir bileşeni bir Unix sisteminde gerçekleştirildiği için, bütün bir GNU sisteminin var olmasından çok önce her bir bileşen Unix sistemlerinde çalışabilmeliydi. Bu programların bazıları gözde hale geldi ve kullanıcılar, bunları, çeşitli uyumsuz Unix sürümlerine ve bazen de diğer sistemlere genişletmeye ve taşımaya başladı.

Süreç, bu programların çok daha güçlü olmasını sağladı ve hem maddi destek sağladı, hem de destekçileri GNU Projesine çekti. Ancak bu en az özellikli, çalışır bir sistemin tamamlanmasını da yıllarca geciktirdi çünkü GNU geliştiricilerinin zamanı, birbiri ardına eksik bir bileşenin yazılmasından çok, bu bileşenlerin devamlılığının sağlanmasına ve mevcut bileşenlere yeni özelliklerin eklenmesine harcandı.

GNU Hurd

1990 yılı itibariyle, GNU sistemi hemen hemen tamamlanmıştı; tek temel eksik bileşen, çekirdekti [:kernel]. Çekirdeğimizi, Mach’ın en üstünde çalışan sunucu süreçleri kümesi olarak gerçekleştirmeye karar verdik. Mach, Carnegie Mellon Üniversitesinde ve daha sonra Utah Üniversitesinde geliştirilen bir mikro-çekirdektir; GNU Hurd, Mach’ın üstünde çalışan sunucu topluluğudur ve Unix çekirdeğinin çeşitli işlemlerini gerçekleştirir. Söz verilmiş olduğu gibi, Mach’ın özgür yazılım olarak dağıtılmasını beklerken, geliştirmenin başlaması gecikti.

Bu tasarımın seçilmesinin bir nedeni, işin en zor kısmı olarak görülen aşamadan kaçınılmasıydı: kaynak-seviyesinde bir hata ayıklayıcı [:debugger] olmaksızın çekirdek programındaki hataların ayıklanması. İşin bu kısmı hâlihazırda Mach’da gerçekleştirilmişti ve GDB ile kullanıcı programları olarak Hurd sunucularının hatalarının ayıklanmasını ummuştuk. Ancak bunun mümkün kılınması uzun zaman aldı ve birbirine mesaj gönderen çok-kullanımlı sunucuların hatalarının ayıklanmasının çok zor olduğu fark edildi. Hurd çalışmasının gerçekleştirilmesi yıllara yayıldı.

Alix

GNU çekirdeğinin başlangıçta Hurd olarak adlandırılacağı düşünülmemekteydi. Orijinal adı Alix’ti, o zamanlar sevgilim olan kadının adıydı. Bir Unix sistem yöneticisi olan Alix, Unix sistem sürümleri için isminin bir birime verilmesi gerektiğini şaka yollu olarak söylerdi: arkadaşlarına, “Benim adımın bir çekirdeğe verilmesi lazım” derdi. Hiçbir şey söylemezdim ancak çekirdeğe Alix adını vererek ona sürpriz yapmaya karar verdim.

Ancak daha sonra durum değişti. Michael Bushnell (şimdi Thomas), çekirdeğin ana geliştiricisi, Hurd adını tercih etti ve Alix’in yalnızca çekirdeğin belirli bir kısmının adı olmasına karar verdi, bu kısım sistem çağrılarını alan ve Hurd sunucularına mesaj göndererek kontrol eden kısımdır.

Sonunda Alix ve ben ayrıldık ve Alix, adını değiştirdi; bundan bağımsız olarak, Hurd tasarımı değiştirildi, böylece C kütüphanesi sunuculara doğrudan mesajlar göndermeye başladı ve bu durum Alix bileşeninin tasarımdan çıkarılmasına neden oldu.

Ancak bu olaylar meydana gelmeden önce, Alix’in bir arkadaşı, Hurd kaynak kodunda Alix ismine rastladı ve Alix’e bunu söyledi. Böylece isim amacını gerçekleştirmiş oldu.

Linux ve GNU/Linux

GNU Hurd, normal kullanım [:production use] için hazır değildi. Neyse ki, başka bir çekirdek ortaya çıktı. 1991 yılında, Linus Torvalds Unix’e uyumlu bir çekirdek geliştirdi ve bunu Linux olarak adlandırdı. 1992 yılı civarında, daha tamamlanmamış GNU sistemiyle Linux’un birleşmesi bütün bir özgür işletim sistemine neden oldu. (Bunların birleştirilmesi de tabi ki kendi içinde önemli bir işti). Günümüzde GNU sisteminin bir sürümünün çalıştırılması Linux sayesindedir.

Çekirdek olarak GNU sisteminin Linux’la birleşiminin oluşumunu ifade etmek için bu sistemi GNU/Linux olarak adlandırırız.

Geleceğimizde Ortaya Çıkabilecek Sorunlar

Geniş özgür yazılım çeşitlerini geliştirmek konusundaki yeteneğimizi kanıtladık. Ancak bu, bizim yenilmez ve durdurulamaz olduğumuz anlamına gelmemektedir. Çeşitli sorunlar, özgür yazılımın geleceğini belirsiz hale getirmektedir; bunların yerine getirilmesi sadık çalışmaları ve sabrı gerektirecek ve bu bazen yıllarca sürecektir. Bu, insanların özgürlüklerine değer vermeleri ve onu kimsenin almasına izin vermemeleri konusunda kararlılık göstermesini gerektirecektir.

Aşağıdaki dört bölüm bu hususları açıklamaktadır.

Gizli Donanım

Donanım üreticileri, donanım belirtimlerini sır olarak saklama eğilimindedir. Bu durum, Linux’ın ve XFree86’nın yeni bir donanımı desteklemesini sağlayan özgür sürücülerin yazılmasını zorlaştırmaktadır. Günümüzde bütün özgür sistemlere sahibiz ancak yarının bilgisayarlarını destekleyemezsek, yarın bunlara da sahip olamayacağız.

Bu problemle başa çıkmanın iki yolu vardır. Programcılar, donanımı nasıl destekleyeceklerini belirlemek için tersine mühendisliği [:reverse engineering] gerçekleştirebilir. Geri kalanımız, özgür yazılım tarafından desteklenen donanımı seçebilir; sayımız arttıkça, belirtimlerin gizliliği kendi kendine terk edilen bir politika haline gelecektir.

Tersine mühendislik önemli bir iştir; bunu üstlenebilecek yeterli kararlılığa sahip programcılarımız var mı? Evet, özgür yazılımın bir ilke konusu olduğuna ve özgür olmayan sürücülerin dayanılmaz olduğuna dair güçlü bir duygu oluşturursak olabilir. Ve çoğumuz özgür sürücüleri kullanmak için fazladan para harcarsak ya da hatta biraz fazladan zaman harcarsak? Evet, özgürlüğe sahip olma kararlılığı yaygınsa bu olabilir.

(2008 notu: bu konu BIOS’a da genişletilebilir. Özgür bir BIOS vardır, LibreBoot; problem LibreBoot’un destekleyebilmesini sağlamak üzere makine belirtimlerini elde etmektir.)

Özgür olmayan Kütüphaneler

Özgür işletim sistemleri üzerinde çalışan özgür olmayan bir kütüphane, özgür yazılım geliştiricileri için bir tuzaktır. Kütüphanenin çekici özellikleri yemdir; kütüphaneyi kullanırsanız, tuzağa düşersiniz çünkü programınız özgür bir işletim sisteminin bir parçası olamaz. (Daha doğrusu, programı dahil edebiliriz ancak eksik kütüphane ile çalışmayacaktır). Daha da kötüsü, özel mülk kütüphaneyi kullanan bir program gözde hale gelirse, şüpheci olmayan diğer programcıları da tuzağa düşürebilir.

Bu probleme ilişkin ilk örnek, 80’lerdeki Motif araç-kitiydi. O zamanlar, özgür yazılımların mevcut olmamasına rağmen, daha sonra onlar için Motif probleminin oluşacağı açıktı. GNU Projesi buna iki şekilde yanıt verdi: ayrı özgür yazılım projelerinin özgür X araç-kiti bilgisayar ekranındaki tuş, buton, çubuk gibi unsurlardan her birinin desteklemesini isteyerek ve birilerinin Motif için özgür bir yedek hazırlamasını isteyerek. Bu iş yıllar aldı; Hungry Programcıları tarafından geliştirilen LessTif, yalnızca 1997’de birçok Motif uygulamasını desteklemek için yeterince güçlü hale geldi.

1996 ilâ 1998 yılları arasında, Qt olarak adlandırılan özgür olmayan başka bir Grafiksel Kullanıcı Ara Yüzü (GUI) araç-kiti kütüphanesi özgür yazılım koleksiyonunda (masaüstü KDE) kullanıldı.

Özgür GNU/Linux sistemleri KDE’yi kullanmadı çünkü bu kütüphaneyi kullanamazdık. Ancak, sistemlerine özgür yazılımın eklenmesi konusunda duyarlı olmayan bazı ticari GNU/Linux sistem dağıtıcıları, sistemlerine KDE’yi ekledi, daha fazla özelliğe ancak daha az özgürlüğe sahip bir sistem ürettiler. KDE> grubu, daha fazla sayıda programcının Qt’yi kullanmasını destekledi ve milyonlarca yeni “Linux kullanıcısı” bununla ilgili bir problemin var olduğu fikrine inanmadılar. Bu durum korkutucu görünüyordu.

Özgür yazılım topluluğu probleme iki şekilde yanıt verdi: GNOME ve Harmony.

GNOME, açık adıyla, GNU Network Object Model Environment (GNU Ağ Nesne Model Ortamı), GNU’nun masaüstü projesidir. 1997 yılında Miguel de Icaza tarafından başlatılmıştır ve Red Hat Software’in desteğiyle geliştirilmiştir, GNOME, benzer masaüstü özellikleri sağlamak için oluşturulmuştur ancak özgür yazılımları kullanır. Teknik avantajları da vardır, yalnızca C++’ı değil, çeşitli dilleri de destekler. Ancak temel amacı özgürlüktür: özgür olmayan hiçbir yazılıma ihtiyaç duymaz.

Harmony, uyumlu bir değiştirme kütüphanesidir, Qt’yi kullanmaksızın KDE yazılımının çalıştırılmasını mümkün kılmak için tasarlanmıştır.

1998 yılının Kasım ayında, Qt’nin geliştiricileri, bir lisans değişikliğini anons etti, bu lisans değişikliğinin gerçekleşmesiyle, Qt özgür yazılım haline gelmekteydi. Bundan emin olmanın bir yolu yoktur ancak bana kalırsa bu, QT’nin özgür olmamasından kaynaklanan soruna topluluğun verdiği yanıttan kaynaklanmaktadır. (Yeni lisans elverişsiz ve eşitlikten uzaktır, bu nedenle, Qt’nin kullanımının önlenmesi istenmektedir.)

[not: Eylül 2000’de Qt GNU GPL olarak yayınlanmıştır, bu problem çözülmüştür.]

Sonraki özgür olmayan kütüphaneye karşı nasıl bir tepki vereceğiz? Tüm topluluk tuzaktan uzak kalmanın gerekliliğini anlayacak mı? Ya da birçoğumuz kullanışlılık için özgürlükten vazgeçecek mi ya da büyük bir problem mi ortaya çıkacak? Geleceğimiz felsefemize bağlıdır.

Yazılım Patentleri

Karşılaştığımız en büyük tehdit yazılım patentlerinden gelmektedir, bu patentler, özgür yazılıma yirmi yıla kadar varabilen algoritma ve özellik sınırları koyabilir. LZW sıkıştırma algoritma patentleri 1983’te uygulanmıştı ve hâlâ uygun şekilde sıkıştırılmış GIF’ler üretmek için özgür yazılımı yayınlayamamaktayız. 1998 yılında, bir patent grubunun tehdidi altında, MP3 sıkıştırma ses programı üreten özgür bir program dağıtımdan kaldırılmıştı.

Patentlerle başa çıkmanın yolları vardır: bir patentin geçersiz olduğuna dair kanıt için araştırma yapabiliriz ve bir işi yapmanın alternatif yollarını araştırabiliriz. Ancak bu metotların her biri yalnızca zaman zaman çalışmaktadır; hepsi de başarısız olduğunda, patent, tüm özgür yazılımı, kullanıcıların istediği birtakım özelliklerden mahrum bırakmaya zorlayabilir. Bu durum meydana geldiğinde ne yapacağız?

Özgürlük adına özgür yazılıma değer veren bizim gibi insanlar her durumda özgür yazılımla kalacaktır. İşlerimizi hallederken patentli özellikleri kullanmayacağız. Ancak teknik açıdan daha üstün olmasını bekledikleri için özgür yazılıma değer verenler, patent onu geri tuttuğunda, bunu bir başarısızlık olarak adlandırma eğilimindedir. Bu nedenle, yazılım geliştirmenin “pazar” modelinin ve özgür yazılımın güvenilirliği ve gücünün pratik etkililiği hakkında konuşmak yararlı iken, burada durmamalıyız. Özgürlük ve ilke hakkında konuşmalıyız.

Özgür Belgeleme

Özgür işletim sistemlerimizdeki en büyük eksiklik yazılımda değildir, en büyük eksiklik, sistemlerimize dahil edebildiğimiz iyi özgür belgelerin olmamasıdır. Belgeleme, her türlü yazılım paketinin önemli bir parçasıdır; önemli bir özgür yazılım paketi iyi bir özgür belgeyle birlikte verilmediğinde, bu büyük bir eksiktir. Günümüzde bu gibi eksiklerimiz vardır.

Özgür belgeleme, tıpkı özgür yazılım gibi, bir özgürlük konusudur, ücretle ilgili değildir. Özgür bir kılavuza ilişkin ölçütler özgür yazılıma ilişkin ölçütlere oldukça benzerdir: bu, tüm kullanıcılara belirli özgürlükler verilmesi hususudur. Yeniden dağıtıma (ticari satış dahil olmak üzere) izin verilmelidir, bu, çevrim-içi olarak ya da kağıt biçiminde olabilir, böylece kılavuz, programın her kopyasıyla birlikte verilebilir.

Değiştirmeye ilişkin izin de önemlidir. Genel kural olarak, insanların tüm makale ve kitap tiplerini değiştirme iznine sahip olmasının gerekli olduğuna inanmıyorum. Örneğin, işlemlerimizi ve görüşlerimizi tanımlayan bu gibi makaleleri değiştirmek için izin vermek zorunda olduğumuzu sanmıyorum.

Ancak, özgür yazılımın belgelerinin değiştirilme özgürlüğünün önemli olmasının belirli bir nedeni vardır. İnsanlar, yazılımı değiştirme hakkını kullandıklarında ve özelliklerine ekleme yaptıklarında ya da özelliklerini değiştirdiklerinde, vicdanlı davranır ve özenlilerse kılavuzları da değiştireceklerdir, böylece değiştirilmiş programla birlikte doğru ve kullanılabilir belgeleri de sağlayacaklardır. Programcıların özenli olmalarına izin vermeyen ve işi tanımlamayan bir kılavuz ihtiyaçlarımızı karşılamaz.

Değişikliklerin nasıl gerçekleştirildiğine ilişkin bazı sınırlamalar hiçbir problem oluşturmaz. Örneğin, asıl yazarın telif hakkı uyarısının korunmasına ilişkin şartlar, dağıtım ifadeleri ve yazar listesi uygundur. Ayrıca değiştirilmiş sürümlerde uyarı bulunmasının gerekli olması ve bu kısımların teknik-olmayan başlıkları ele almaları durumunda, silinemeyen ya da değiştirilemeyen kısımlara sahip olma konusunda bir problem yoktur. Değişikliklerin nasıl gerçekleştirildiğine ilişkin bazı sınırlamalar hiçbir problem oluşturmaz. Örneğin, asıl yazarın telif hakkı uyarısının korunmasına ilişkin şartlar, dağıtım ifadeleri ve yazar listesi uygundur. Ayrıca değiştirilmiş sürümlerde uyarı bulunmasının gerekli olması ve bu kısımların teknik-olmayan başlıkları ele almaları durumunda, silinemeyen ya da değiştirilemeyen kısımlara sahip olma konusunda bir problem yoktur.

Ancak, kılavuzun tüm “teknik” içeriğinin değiştirilmesi ve daha sonra tüm genel kanallar üzerinden tüm genel ortamlarda sonucun dağıtılması mümkün olmalıdır; aksi takdirde, kısıtlamalar topluluğu engellemektedir, kılavuz özgür değildir ve başka bir kılavuza ihtiyaç duyarız.

Özgür yazılım geliştiricileri tam bir özgür belge çeşitliliği oluşturma bilincine ve kararlılığına sahip olacak mıdır? Yine, geleceğimiz felsefeye bağlıdır.

Özgürlük Hakkında Konuşmalıyız

Günümüzde Debian GNU/Linux ve Red Hat Linux gibi GNU/Linux sistemlerinin on milyon kullanıcısının var olduğu tahmin edilmektedir. Özgür yazılım öyle pratik avantajlar sunmuştur ki, kullanıcılar tamamen uygulamaya ilişkin nedenlerden dolayı özgür yazılımı kullanmaktadır, uygulamaktadır.

Bunun iyi sonuçları ortadadır: özgür yazılımın geliştirilmesiyle daha fazla ilgilenildiğinde, yazılım işleri için daha fazla müşteri mevcuttur, bu da özel mülk yazılım ürünleri yerine ticari özgür yazılımın geliştirilmesi için firmaların daha fazla cesaretlendirilmesi için olanak demektir.

Ancak yazılıma olan ilgi yazılımın esas aldığı felsefenin bilincinden daha hızlı bir şekilde büyümektedir ve bu durum soruna neden olmaktadır. Yukarıda açıklanan sorunlarla ve tehditlerle başa çıkma özelliği, özgürlük için direnme isteğine bağlıdır. Topluluğumuzun bu isteğe sahip olduğundan emin olmak için, topluluğumuza girdiklerinde yeni kullanıcılara bu fikri yaymamız gereklidir.

Ancak bunu yapmakta başarısız olmaktayız: yeni kullanıcıları topluluğumuza çekme çabaları, topluluğumuzun temel bilgilerini öğretme çabalarını fazlasıyla geride bırakmaktadır. Her ikisini de gerçekleştirmemiz ve iki çabayı da dengede tutmamız gereklidir.

“Açık Kaynak”

Yeni kullanıcılara özgürlüğü öğretmek 1998 yılında daha zor hale geldi çünkü topluluğun bir kısmı “özgür yazılım” terimi yerine “açık kaynak yazılımı” terimini kullanmaya karar verdi.

Bu terimi destekleyen bazıları, “özgür” teriminin “bedava” terimiyle karıştırılmasını önlemeyi hedefledi, bu geçerli bir hedefti. Ancak diğerleri, özgür yazılım hareketini ve GNU Projesini güdüleyen ilkenin ruhunu bir kenara koydu ve bunun yerine yöneticilere ve işyeri kullanıcılarına yöneldi, bunların çoğu kârı özgürlüğün, toplumun ve ilkenin üstünde tuttu. Bu nedenle, “açık kaynak” konusu, yüksek-kaliteli ve güçlü yazılımın gerçekleştirilmesi potansiyeline odaklanmaktadır ancak özgürlük, toplum ve ilke fikirlerinden uzak durmaktadır.

“Linux” dergileri bunun açık bir örneğidir, GNU/Linux’la çalışan özel mülk yazılım için ilanlarla doludurlar. Sıradaki Motif ya da Qt ortaya çıktığında, bu dergiler programcıları bundan uzak durması konusunda uyaracak mı yoksa onun için reklam mı yayınlayacaklar?

Ticaretin desteklenmesi topluma birçok şekilde katkı sağlayabilir; diğer her şey eşit olduğunda, bu yararlıdır. Ancak özgürlük ve ilke hakkında daha az konuşarak desteklerini kazanmak çok kötü sonuçlar doğurabilir; bu, sosyal yardımlaşma ve yurttaşların eğitimindeki dengesizlği daha da kötüleştirecektir.

“Özgür yazılım” ve “açık kaynak” yaklaşık olarak aynı yazılım kategorisini tanımlar ancak yazılım hakkında ve değerler hakkında farklı şeyler söyler. GNU Projesi, yalnızca teknolojinin değil özgürlüğün de önemli olduğunu ifade etmek için “özgür yazılım” ifadesini kullanmaya devam eder.

Deneyin!

Yoda’nın felsefesi (“’Deneme’ yoktur”) iyi ve zekice görünmektedir ancak bu, benim için geçerli değildir. İşi yapıp yapamayacağım konusunda tedirginken aslında işin çoğunu yaparım ve hedefi gerçekleştirsem bile, hedefi yakalamak için yeterli olup olmadığım konusunda emin değilimdir. Ama en azından denedim çünkü düşmanım ile şehrim arasında hiç kimse yoktu, ben vardım. Şaşırtıcı bir şekilde, bazen başarılı oldum.

Bazen başarısız oldum; bazı şehirlerim düştü. O zaman tehdit altında olan başka bir şehir buldum ve başka bir savaş için hazırlandım. Zaman içinde, tehditleri aramayı ve kendimi tehditlerle şehrim arasına koymayı öğrendim ve diğer hacker’ların gelip bana katılmaları konusunda çağrı yaptım.

Bugünlerde yalnız değilim. Bana destek olan hacker’ları gördüğümde bir rahatlama ve neşe duyuyorum ve bu şehrin, en azından şimdilik, dayanabileceğini görüyorum. Ancak tehlike her geçen yıl büyüyor ve şimdi Microsoft açık bir şekilde topluluğumuzu hedef aldı. Özgürlüğün geleceğini veremeyiz. Teslim olmayalım! Özgürlüğümüzü korumak istiyorsak, her zaman hazır olmalıyız.

Yazan: Richard Stallman
Açık Kaynaklar” kitabında yayınlanmıştır

gnu.org

0

Ubuntu ve Türevlerine Scribus 1.4.5 Nasıl Yüklenir?

Bilindiği gibi, yarı-profesyonel bir masaüstü yayıncılık yazılımı olan ve GNU/Linux, BSD, Solaris, Mac OS X, Windows ve diğer sistemler üzerinde kullanılabilen açık kaynak kodlu ve GNU GPL lisanslı Scribus‘un 1.4.5 sürümü yalnızca birkaç gün önce çıktı. Çeşitli hataları giderilen ve kimi yeni özellikler eklenen yazılımın yeni sürümünün önemli bir hata düzeltme ve güncelleme sürümü olduğu belirtiliyor. Bu yazıda, Scribus’un bu yeni ve özel sürümünün kurulumunu ele alacağız. Scribus 1.4.5’i Ubuntu 14.10 Utopic Unicorn, Ubuntu 14.04 Trusty Tahr, Ubuntu 12.04 Precise Pangolin, Linux Mint 17.1 Rebecca, Linux Mint 17 Qiana, Linux Mint 13 Maya, Pinguy OS 14.04, Elementary OS 0.3 Freya, Elementary OS 0.2 Luna, LXLE 14.04, Linux Lite 2, Deepin 2014 ve diğer Ubuntu türevlerine nasıl yükleriz? Konumuz bu. Yükleme için bir PPA depodan yararlanıyoruz, bu nedenle yükleme kolaydır. Yapmanız gereken tek şey ilgili PPA depoyu sisteminize eklemek ve yükleme komutlarını vermektir.

Continue Reading →

O halde kuruluma geçebiliriz. İlgili PPA depoyu eklemek ve yükleme komutlarını vermek için aşağıdaki sırayı takip edin:

sudo add-apt-repository ppa:ubuntuhandbook1/apps

sudo apt-get update

sudo apt-get install scribus

Daha sonra gerek duyarsanız Scribus’u kaldırmak için aşağıdaki komutu verebilirsiniz:

sudo apt-get remove scribus

0