I am the president of the FSF; I have been its
president ever since
it was founded in October 1985 (about 20 months after
the start
of the GNU Project).
2. Could you please explain the term, free, as
spoken by GPL? (you can give
hints for programmers how they can get money from
their work although they
give source code for free)
Free software is a matter of freedom, not price. It
means that
everyone has the freedom to change and redistribute
the software--in
effect, to use it as part of a community where people
have freedom and
are encouraged to cooperate and help each other.
The best way for non-programmers to understand why
this is important
is by comparing programs with recipes for cooking.
This is a good
analogy because a recipe, like a program, is a series
of steps that you
carry out in order to produce a result.
People who cook often make copies of recipes for
their friends. And
people who cook also often change recipes--you don't
have to cook the
dish exactly as the recipe says if you think a
different method would
make it taste better for you. And if you have changed
a recipe
and cooked it for your friends, and they like to eat
the dish, they
might ask you for the recipe. Then you might write
down your version
and give them copies.
So imagine a world where you cannot change a
recipe--you can only cook
it exactly as someone else wrote it. And imagine that
if you share a
recipe with a friend you get called a "pirate" and
imprisoned for
years. That would be an outrage! Fortunately, nobody
tries to do
that as regards recipes. But the world of non-free
software is just
like that. It is an outrage.
To say that a program is free software says nothing
whatsoever about
who is or is not paid to work on it. That is a
separate question. In
the 1980s, most people who worked on free software
did so as unpaid
volunteers, aside from the FSF staff and a few
university projects.
Now some people have found ways to get paid in
connection with their
work on free software--but I think that most of the
work is still done
by volunteers.
When you write about free software in Turkish, please
translate "free"
as a word that refers to freedom and never to
price--if you have one.
(In English, we use the imperfect word "free" because
there is no
everyday word in English that means "free as in
freedom" only. It is
a gap in the language.)
The GNU GPL is not the only license that makes a
program free
software. There are other free software licenses; see
http://www.gnu.org/philosophy/license-list.html
for a list of some of
them.
3. How and when did all this begin? What made you
think that all software
must be **free**?
I had the experience of living the free software way
of life as part
of a community of programmers that I belonged to in
the 1970s. In the
early 80s this community came to an end, and I was
faced with the
prospect of life as part of the developers of an ugly
social system,
the social system of proprietary (non-free) software,
which and keeps
users helpless and divided and labels cooperation as
"piracy".
I rejected that way of life. and decided that the
only way I could
feel proud of my work was to dedicate it to promoting
freedom and
cooperation.
4. How do you get paid? Did you ever write a
proprietary software?
Nowadays I get paid mainly for giving speeches, but
in the 1980s I got
paid mainly for writing extensions to free software
and teaching
classes about it.
I wrote some software in the early 1980s while
working at MIT that was
released as proprietary software. It was part of the
MIT Lisp Machine
system. This experience helped convinced me to leave
MIT and start
the GNU Project, and also suggested to me that I
should quit my MIT job
in order to do that.
5. Which applications are you currently and used
to be working on?
The programs I wrote for the GNU system include GNU
Emacs (the
extensible text editor), GCC (the C compiler), GDB
(the symbolic
debugger), GNU ld (but that version was totally
rewritten), GNU sort,
Texinfo, and some other smaller programs.
Nowadays, I no longer have time to program. I spend
all my time on
activities to promote the GNU Project overall and the
ideas of free
software, because that seems more important now than
writing programs
(even though writing programs is in some ways more
fun).
6. What is your favorite tool? Is there a process
you follow when you code?
I look for some part of the program that I can see
how to write, and I
write it. Having written that, I usually see how to
write some other
part, so I write that. This process continues until I
have written it
all.
While doing this, I pay a lot of attention to
designing the data
structures and to documenting them well. If the data
structures are
right, the code is usually easy. If some part of the
code is really
hard to write, often some of the data structure needs
to be redesigned.
7. How do you see GNU, Linux, Hurd and yourself 5
years from now?
I don't know--various outcomes are possible,
depending on what
other people do.
For instance, software patents could kill all of our
work if we do not
reject that form of legal impediment. There is right
now a political
battle in Europe to reject software patents.
If we succeed in defeating software patents, some
version of the GNU
system might perhaps be as universal in five years as
Windows is
today. But the next question will be: is this version
a free system,
or will it include non-free programs that prohibit
cooperation?
Today, most of the distributors of the GNU/Linux
system add non-free
programs to the system, which means that the system
as a whole does
not entirely respect your freedom. If the community
continues to
accept this, the goal of freedom and cooperation
could be forgotten.
8. Do you think GNU/Linux should remain as a
server system or do you
support efforts like KDE, Kylix, GNOME, Open
Office?
GNU was never designed to be a "server system". In
1984, I had
already written a couple of window systems in my work
at MIT, and I
decided that GNU should have a window system. Later
in the 1980s I
decided to adopt X11 as the lowe (general-purpose)
level of the window
system for the GNU system, but we still needed to
implement
higher-level features such as drag-and-drop and a
directory browser.
In other words, we needed a "desktop".
Our first attempt to develop a desktop was started in
1990 (before
Linux was started). This attempt was abortive,
though. Our second
attempt was in 1994 or 1995, and resulted in the
development of Guile,
which we planned to use as an important mechanism for
the desktop.
Our third attempt, GNOME, finally succeeded.
GNOME, Open Office, and KDE, are all free software
and can contribute
to the extension of the GNU system into the desktop
area.
My understanding is that Kylix is not free software
(correct me if I
am wrong), although I think its libraries are going
to be available as
free software. If you want to write a free program
that can be used
and developed within the Free World, you must make
sure it can run and
developed using only the free libraries and free
development tools
that are available.
The worst example of the danger of non-free libraries
and tools is in
the area of Java. Many programmers who like free
software are seduced
by the exciting Java language and use non-free Sun
libraries and
non-free Sun tools without even thinking about what
they are doing.
The result is that they write free programs which
cannot be used in a
free operating system.
Don't make that mistake yourself: before you write a
Java program,
check the platform you plan to use, and don't use
Sun's tools or Sun's
libraries.
9. Could you please tell some about your private
life? (status, children,
education, music, philosophy, food, homestyle...)
I am not sure what "status" refers to. I have never
paid
a lot of attention to seeking status in my life.
My only child is the Free Software Movement, which is
now almost 17
years old--as you know, a very vulnerable age. Lately
it is starting
to hang around with an unprincipled crowd, the Open
Source Movement.
As a result, I am concerned that it might be led into
various forms of
delinquency, such as adding non-free software to the
system.
I studied physics and mathematics at Harvard, all the
while learning
operating system programming by doing it at MIT. But
I also studied a
few unusual subjects, such as Chinese and ancient
history of the near
east (*ending* around 500bc).
By the time I graduated I was gradually losing
interest in trying to
be a physicist--programming was more exciting, since
I could write
something every day that was actually useful. So I
switched to
programming entirely. But I am still very curious
about physics,
since it studies the fundamental nature and origin of
the universe.
I like many kinds of music from many countries,
including Turkish folk
dance music, as well as that of neighboring countries
such as Greece,
Bulgaria and Armenia. (Turkish and Armenian musicians
had a very
close relationship, in Ottoman times, until the
relationship between
the two peoples reached its tragic end.) I have also
sometimes liked
Turkish classical music.
I really enjoy delicious food; it is one of the great
pleasures of my
life. (I write this while munching on a crispy flaky
croissant, in
Paris.) In Turkey I especially enjoyed the little
peppers stuffed
with rice, and ezö gelin soup. Alas I have not found
that soup in
Turkish restaurants in other countries. (By the way,
who was Ezö, and
how did the soup get named after her?)
As for philosophy, I am a Secular Humanist. There is
no scientific
evidence for any sort of gods, so I do not believe in
any. But even
if there did exist a superhumanly powerful being or
beings, nothing
would guarantee that they are morally good or that
their commands are
morally right. A god could be simply the greatest
dictator of all.
We want the world to be a good place. Since we cannot
rely on anyone
else to do this for us, in any case not in our
livetimes, the job is
up to us. We have to do our best to make the world
better (after we
figure out what is "better"). GNU is the way I have
found to do this.
The problem GNU addresses is not the world's most
important problem,
but I don't know how to solve the bigger problems. By
working on GNU,
I am trying to make things better in the way I know
how.
10. Do you have a message for Turkish GNU
users?
Many people switch to the GNU/Linux system because it
is powerful,
reliable, "cool", or available cheap. It is good that
the system has
those advantages, but we should not get so absorbed
in practical
advantages that we forget the most important
advantage: free software
respects our freedom; free software allows us to
cooperate. Free
software encourages a good society where people help
each other;
proprietary software imposes an ugly divided one
where people are
helpless.
Don't be absorbed in technology and forget about
society.
http://www.teknoturk.org
adresinde yayınlanmıştır.
1991 yılında Association for Computing Machinery'den
Grace Hopper Award, 1990'da MacArthur Foundation
Fellowship, 1996'da İsveç'te Royal Institute of
Technology'den fahri doktor, 1998'te Electronic
Frontier Foundation'dan Linus Torvalds ile birlikte
Pioneer Award, 1999'ta Yuri Rubinski Award gibi
ödüllere layık görülmüştür.
Bu ropörtaj 2000 yılı Aralık ayında e-mail aracılığı
ile yapılmıştır. Orijinaline (İngilizce) mümkün
oldukça sadık kalınmaya çalışılmıştır.
1. FSF'deki (Free Software Foundation) rolünüz
nedir?
Ben FSF'in lideriyim. 1985'de kurulduğundan beri de
yöneticisiyim. (GNU projesi başladıktan yaklaşık 20
ay kadar sonra.)
2. GPL'de bahsedildiği anlamda
"Free(Serbest/Özgür)" ne demektir? Kaynak kodunu
ücretsiz olarak dağıtan programcılara nasıl para
kazanacakları konusunda ipuçları da verebilir
misiniz?
Free Software (Serbest Yazılım), özgürlükle ilişkili
bir anlam içermektedir, ücret değil. Herkesin
yazılımı değiştirmeye ve dağıtmaya izni olduğu
anlamına gelir -- onu, insanların özgürlüğünün olduğu
ve birbiri ile ilişkide bulunmaya ve yardımlaşmaya
teşvik eden bir yapıda kullanmalarını sağlar.
Programcı olmayan kişilerin özgür yazılımın neden çok
önemli olduğunu anlamaları için belki de en iyi
yöntem yazılımları yemek tariflerine benzetmektir. Bu
çok uygun bir benzerlik çünkü bir yemek tarifi aynen
bir yazılım gibi bir sonuç üretmek amacıyla bir çok
aşamadan geçmek zorundadır.
Sık yemek yapan kişiler kendi yemek tariflerini
arkadaşları arasında paylaşırlar. Ve bu tarifi alan
kişiler de genelde bu tarifi değiştirirler, çünkü bir
yemeği tam anlamıyla tarifin söylediği şekilde
pişirmeniz gerekmez. Daha iyi bir yöntem aklınıza
geliyorsa ağız tadınıza uygun olan o yöntemle
piişirirsiniz. Eğer aldığınız bir tarifi
değiştirmişseniz ve bunu başka arkadaşlarınıza da
yemek olarak ikram etmişseniz, onlar da sizden
yemeğin tarifini isteyeceklerdir. Çok doğal olarak da
siz de kendi versiyonunuzu kağıda döker ve
kopyalarını dağıtırsınız.
Bir yemek tarifini değiştiremediğimiz ve aynen
tarifte yazdığı gibi yemeği pişirmek zorunda
olduğumuz bir dünya hayal edelim. Eğer yemek
tarifinizi başkaları ile paylaşırsanız ve bir de
üzerinde değişiklik yaparsanız korsan olarak
nitelendirilir ve yıllarca hapse tıkılırsınız. Bu bir
zulümdür! Allah'tan şu anda kimse bunu yemek
tariflerimiz için yapmıyor. Fakat özgür olmayan
yazılımın dünyası aynen bu durumda. İşte zulüm budur.
Bir programın özgür olduğunu söylemekle onun
karşılığında para ödenmesi veya kime ödendiği
hakkında hiçbir şey söylemiyoruz. Bu başka bir
sorudur. 1980'lerde özgür yazılım üzerine çalışan
kişiler FSF'den bağımsız, üniversitelerde herhangi
bir ticari karşılık eklemeden çalıştılar. Şimdi özgür
yazılım üreten insanlar bu işten para kazanmanın
yollarını buldular ama yine de işin büyük bir kısmı
halen gönüllüler tarafından yapılmaktadır.
Free Software (Serbest Yazılım) hakkında yazarken
lütfen "free" kelimesini (eğer varsa) özgürlük ifade
eden bir kelime olarak kullanın. (İngilizce'de, pek
de uygun olmayan bir kelime olan "free"yi
kullanıyoruz çünkü gündelik kullanımdaki İngilizce'de
özgür anlamında bir "free" kelimesi mevcut değildir.
Bu dilimizdeki bir eksiklik.
GNU GPL, bir programı serbest yazılım yapan tek
lisans değildir. Benzer başka lisanslar da mevcuttur.
Tam bir listesi için http://www.gnu.org/philosophy/license-list.html
adresine bakınız.
3. Bütün bunlar nasıl ve ne zaman başladı? Size
yazılımların serbest olması gerektiğini düşündüren
şey nedir?
1970'lerde serbest yazılımı bir yaşama şekli olarak
benimsemiş bir grupla birlikte çalıştım. 1980'lerin
başında bu birliktelik sona erdi. Kendimi, yazılım
geliştiricilerin içinde bulunduğu özgür olmayan
yazılımların (kapalı kodlu) hakim olduğu ve
kullanıcının yardımsız bırakıldığı, parçalanmış ve
birlikte çalışmanın korsanlık olarak nitelendirildiği
çirkin bir sosyal sistemin içinde buldum.
Bu tür bir yaşantıyı reddettim. Ancak işimi özgürlüğe
ve birlikte çalışmaya adadığım zaman yaptıklarımdan
gurur duyabileceğime karar verdim.
4. Nereden para kazanıyorsunuz? Hayatınızda hiç
kapalı-kodlu ve para ile satılan bir program yazdınız
mı?
Bu günlerde konuşmalarımdan aldığım para ile
yaşıyorum. 1980'lerde serbest yazılımlara eklentiler
yazarak ve bu konuda dersler vererek hayatımı
sürdürüyordum.
1980'lerin başında MIT'de kapalı bir program olarak
piyasaya sürülen birkaç program yazdım. Bu kodlar,
MIT'nin Lisp Sistemi'nin bir parçası olarak
kullanıldı. Bu tecrübe beni MIT'den ayrılmaya ve GNU
projesini başlatmaya zorladı. Ayrıca GNU için,
MIT'deki işimden ayrılmama yardımcı oldu.
5. Hangi uygulamalar üzerinde çalıştınız veya şu
anda çalışıyorsunuz?
GNU sistemi için geliştirdiğim uygulamalar, GNU Emacs
(geliştirilebilir metin işleyici), GCC (GNU C
Derleyicisi), GDB (Sembolic Hata Ayıklayıcı), GNU ld
(fakat bu versiyon yeni baştan yazıldı), GNU sort,
Texinfo ve başka daha küçük programlar.
Bu günlerde artık program yazmaya vakit ayıramıyorum.
Bütün vaktimi GNU projesini tanıtmaya yönelik
aktivitelere ayrıyorum, çünkü bu bana şu an için
program yazmaktan daha önemliymiş gibi geliyor.
(Program yazmak çok daha eğlenceli olmasına
karşılık.)
6. Yazılım geliştirirken popüler ortamınız nedir?
Kod yazarken izlediğiniz bir yol/aşama var
mıdır?
Programın benim yazabileceğim bir kısmını görene
kadar ararım ve bulunca onu yazarım. Bunu yazarken
aynı şekilde programın başka bir kısmını da
yazabileceğimi fark eder ve onu da yazarım. Bu böyle
tamamı bitene kadar devam eder.
Bunu yaparken veri yapılarını tasarımına ve
dokümantasyonun iyi olmasına çok dikkat ederim. Eğer
veri yapısı doğruysa kod genelde kolay olur. Eğer
programın bir kısmını yazmak çok zor olmuşsa genelde
veri yapısını yeniden tasarlamak gereklidir.
7. GNU, Linux, Hurd ve kendinizi bundan 5 yıl
sonra nasıl görüyorsunuz?
Bilmiyorum, başka insanların neler yapacağına bağlı
olarak pek çok ihtimal olabilir.
Örneğin, yazılım patentleri eğer biz karşı çıkmazsak
hepimizi öldürebilir. Avrupa'da yazılım patentlerini
kabul etmemek için halen bir savaş sürüyor.
Eğer patent yasalarını geri püskürtmeyi başarırsak,
GNU sistemin bir versiyonu bugün Windows'un olduğu
gibi evrensel olabilir. Bir sonraki soru şöyle
olacaktır: Bu bir özgür/serbest sistem mi olacak, ya
da birlikte çalışmayı kısıtlayıcı kapalı programlara
da yer verecek mi? Bugün, GNU/Linux sistemi
dağıtıcılarının büyük bir kısmı, sürümlerine serbest
olmayan yazılımlar eklemektedir. Bu sistemin
tamamının sizin özgürlüğünüze saygı göstermediğini
gösterir. Eğer toplum bunu kabul etmeye devam ederse
özgürlük ve birlikte çalışmanın amaçları unutulup
gider.
8. Sizce GNU/Linux, bir sunucu işletim sistemi
olarak mı kalmalı yoksa KDE, GNOME, Kylix, OpenOffice
gibi çalışmaları destekliyor musunuz?
GNU, hiçbir zaman bir sunucu işletim sistemi olarak
tasarlanmadı. 1984'te, şehsen ben MIT'de birkaç
pencere sistemi yazmıştım ve GNU sisteminin bir
grafik arayüzü olması gerektiğine karar vermiştim.
1980'lerin sonlarında X11'i pencere sisteminin alt
yapısı olarak adapte etmeyi kararlaştırdım. Fakat
hala sürükle bırak (drag-and-drop), dizin göstericisi
gibi üst katman yapılarına ihtiyacımız vardı. Kısaca
ifade etmek gerekirse bir masaüstüne (desktop)
ihtiyacımız vardı.
İlk denememiz 1990'da daha Linux projesi başlamadan
daha önce başladı. Fakat bu çalışmadan vazgeçildi.
İkinci denememiz 1994 ve 1995'te başladı ve
masaüstünde kullanmayı planladığımız önemli bir
mekanizma olan Guile'ın geliştirilmesiyle sonuçlandı.
Üçüncü denememizin adı GNOME oldu ve sonunda
başardık.
GNOME, KDE ve OpenOffice hepsi de serbest
yazılımlardır ve GNU sisteme masaüstü alanında
yardımda bulunabilirler.
Benim fikrime göre Kylix, serbest bir yazılım
değildir (hatam varsa düzeltin), kütüphaneleri
serbestçe dağıtılsa bile. Eğer "Özgür dünyada"
kullanılmak ve geliştirilmek üzere bir serbest
yazılım yazmak istiyorsanız programın serbest
kütüphaneler ve serbest bir geliştirme platformunda
geliştirilmiş olması gerklidir.
Ücretsiz kütüphaneler ve araçlar meselesinde en kötü
ve tehlikeli örnek Java alanındadır. Serbest yazılımı
seven pek çok programcı Java dilinden etkilenmekte ve
ne yaptıklarını düşünmeden Sun'ın serbest olmayan
kütüphane ve araçları ile yazılım geliştirmektedir.
Sonuç: serbest bir işletim sisteminde
kullanılamayacak bir serbest yazılım üretmiş
oluyorlar.
Bu hatayı siz yapmayın. Java programı yazmak
istiyorsanız, kullandığınız platformdan serbest olan
Java araçlarını kullanın. Sun'ın araçlarını ve
kütüphanelerini kullanmayın.
9. Biraz özel hayatınızdan bahseder misiniz?
(medeni haliniz, çocuk, eğitim, müzik, felsefe,
yiyecek, ev tarzınız...)
Medeni halin neye karşılık geldiğini tam olarak
anlayamadım. Hayatımda bir "statü" aramak için çok
fazla çaba sarfetmedim.
Benim tek çocuğum serbest yazılım hareketidir, şu
anda neredeyse çok hassas bir yaş olan 17 yaşına
basıyor. Son günlerde açık kaynak kodu akımı (open
source movement) adındaki asi arkadaşlarıyla
takılıyor. Sonuç olarak, sisteme özgür serbest
olmayan yazılım eklemek gibi kabahatlar işlemesinden
korkuyorum.
Harvard'da fizik ve matematik eğitimi gördüm. MIT'de
işletim sistemlerini programlayarak öğrendim. Ayrıca
birkaç tane alakasız konu üzerine de çalıştım. Mesela
Çince ve yakın doğunun tarihi (MÖ. 500 yılına kadar)
vb...
Mezun olduğumda bir fizikçi olmak için ilgimi
yitirmeye başlamıştım, program yazmak daha eğlenceli
geliyordu, her gün işe yarayacak bir şeyler
yazabiliyordum. Sonunda tamamen programlamaya
yöneldim. Fakat hala fizik konusunda oldukça
meraklıyım, çünkü fizik evrenin özünü ve tabiatın
temel ilkelerini çözmekte kullanlılıyor.
Pekçok ülkeden çok çeşitli müziği seviyorum. Bu
listede Türkiye'ye komşu ülkerin (Yunanistan,
Bulgaristan, Ermenistan) müziklerinin yanında Türk
Halk müziği de yer alıyor. Türk ve Ermeni
müzisyenleri özellikle Osmanlı zamanında çok yakın
ilişki içindelermiş fakat iki kültür arasındaki
ilişkiler bu trajik sonuna erdi. Ayrıca kimi zaman
Türk klasik müziğini de beğenerek dinledim.
Lezzetli yemekten çok hoşlanırım. Hayatımdaki en
önemli zevklerden birisidir. (Hatta bu yazıyı
yazarken Paris'te çıtır çıtır bir ayçöreği yiyorum).
Türkiye'de özellikle karabiberli pilav ve ezogelin
çorbasından hoşlandım. Maalesef bu çorbayı başka
ülkelerdeki Türk restoranlarında bulamadım. Bu arada
Ezo kimdir? Bu çorbaya neden böyle deniyor?
Felsefi açıdan, ben bir "dinsiz hümanistim". Tanrının
varlığına dair herhangi bir bilimsel delil yok ve ben
de hiçbirisine inanmıyorum. Fakat eğer böyle
insanüstü bir güç olsaydı bile, onun ahlaklı ve bize
verdiği komutların ahlaki açıdan doğru olduğunu kimse
garanti edemezdi. Bir tanrı diktatörlerin en kötüsü
olabilirdi.
Biz dünyanın iyi bir yer olmasını istiyoruz. Bu
konuda kendimizden başka kimseye güvenemeyeceğimiz
için, iş bize düşüyor. Dünyayı daha iyi bir yer
yapmak için elimizden geleni yapmalıyız. (Tabii ki
daha iyinin ne demek olduğunu kendimizce
belirledikten sonra.) GNU benim bu konuda bulduğum en
iyi yol. GNU, dünyanın en önemli problemini çözemeye
yaramıyor fakat ben daha büyük problemlerin nasıl
çözüleceğini bilmiyorum zaten. GNU için çalışarak
nasıl yapılacağını bildiğim konularda bazı şeylerin
daha iyi olmasını sağlamaya çalışıyorum.
10. Türk GNU kullanıcıları için bir mesajınız var
mı?
Pekçok kişi, GNU/Linux sistemine geçiyor çünkü bu
sistem güçlü, güvenilir, karizmatik ve ucuz. Bu
sistemin bu avantajlara sahip olması güzel birşey ama
bunları göz önüne alırken asıl önemli olanını
unutmamalıyız. Serbest yazılım bizim özgürlüğümüze
saygı duyar, serbest yazılım bizim birlikte
çalışmamızı mümkün kılar. Serbest yazılım insanların
birbirine yardım ettiği bir ortamı yaratır. Tam tersi
olarak da kapalı yazılım insanların ayrık ve
yardımsız bırakıldığı çirkin bir sistem empoze eder.
Teknoloji içinde kaybolup, insanlık, kardeşlik gibi
olguları unutmayın.
Bu yazı http://www.teknoturk.org
adresinde yayınlanmıştır.
Ben de uzunca bir süre bu soruların cevabını aradım
durdum. Pek çok yerde yazılanları okudum ama tatmin
olmadım, ta ki 1999 ilkbaharında FSF' in kurucusu ve
lideri Richard Stallman Türkiye' ye gelene ve ona
İzmir ve Efes harabelerini gezdirme şansı elime
geçene kadar...Bu benim için bulunmaz bir fırsattı.
Bana, Free Software olgusunu birinci ağızdan
anlayabilme ve Linux' un bu günlere varmasının
arkasındaki sebep olan kişi ile bir gün geçirme şansı
verilmişti. Tanımayanlar için kısaca özetleyeyim:
Richard Stallman yazılımların ücretsiz ve kaynak
kodunun açık olması fikrini ilk ortaya atan ve bu
amaçla FSF adlı organizasyonu kuran kişidir. Ardından
Linus Torvalds' ın yazdığı Linux adlı çekirdeği, GNU
adlı sistemle birleştirip Linux adlı işletim
sisteminin ortaya çıkmasını sağlamıştır.
Ücretsiz yazılım felsefesini açıklayabilmek için en
iyi yolun Richard Stallman' ın kişiliği hakkında bir
iki söz etmek olduğunu düşünüyorum. Kendisi
bilgisayara gerçekten aşık bir kişi. Bütün emeli ise
gerçekten iyi programlar kullanabilmek. Resmen
söylemese de büyük ihtimalle FSF' i kurmasının
arkasındaki amaç da bu idi. Anlatılması gerçekten çok
zor bir şey bilgisayar kullanımının bu seviyede
sevilmesi... Bir kız arkadaşı yok ve bunun
eksikliğini had safhada hissediyor. Hatta hiç
utanmadan her fırsatta dile getiriyor. Bunun tek
nedeni ise gününün hemen hemen tamamını bilgisayar
başında geçirmesi. Her dahi insanın olduğu gibi onun
da garip takıntıları var ve en fazla 1-2 saat içinde
büyük çoğunluğuna tanık oluyorsunuz. Özellikle
papağan ve kelebeklere fülüt çalmak, bir dilenci gibi
giyinmek, sigara içenlere karşı bağırarak tepki
vermesi ilk göze çarpanlardan. Konudan uzaklaşmadan,
yukarıda bahsettiklerimin ücretsiz yazılım ile
ilişkisine geleyim. Bu insan daha iyi programlar
kullanabilmek için çok şey feda etmiş. Sağlığını,
sevdiklerini, hafiften aklını... Ama o insan mutlu...
Neden mi dersiniz? Çünkü dünya üzerinde onbinlerce
insan GNU adı altında program yazıyor. Bir diğeri bu
yazılmış programın kaynak kodu üzerinde değişiklik
yapıyor ve daha güzelini piyasaya sürüyor. Bu süreç
hep daha iyi ve daha başarılı programlara doğru devam
ediyor. Veeee...sonunda Richard Stallman daha iyi
programlar kullanabiliyor. Yanından hiç ayırmadığı
notebook bilgisayarında kurulu Debian GNU/Linux ve
emacs' ı ile gayet mutlu... Kendisi gibi pek çok FSF
mensubu gibi...
Peki biz Türkiye' de neler yapıyoruz? Maalesef ki
hemen hemen hiç bir şey... GPL lisansı ile Türkiye'
de üretilmiş yazılım sayısı şu anda iki elin
parmaklarını geçmiyor. Bu gerçeğin arkasındaki
psikolojik ve sosyolojik nedenler hakkında konuşmak
niyetinde değilim. Asıl üzerinde durmak istediğim
konu, "acaba yazılımlarımızı ücretsiz olarak dağıtmak
ve kaynak kodunu beraberinde vermek bana ne gibi
fayda sağlayabilir" sorusuna cevap aramak. Internet'
in irili ufaklı bütün firmalara fırsat eşitliği
tanıdığı pek çok kişi tarafından öne sürülmektedir.
Fakat devasa Internet havuzunda dikkat çekmek için ne
gibi bir yatırım yapmalıyız sorusuna tatminkar bir
cevap alabilmek bir önceki sorunun cevabı kadar kolay
değildir. En ucuz yollardan bir tanesi de
yazılımlarımızı mümkün olduğu kadar geniş bir kitleye
duyurmak olabilir. Özgür yazılım felsefesi bu amaca
hizmet eden mükemmel araçlar sunmaktadır. Üzerinde
çalışılan araçlar aynen işletim sistemi gibi tamamen
ücretsiz. Yazılımı duyurmak için gerekli platform ise
(http://www.freshmeat.net, http://www.linuxapps.com,
http://www.hotscripts.com ...) hazır ve yine tamamen
ücretsiz. Kullanıcılarınıza destek vermek için
gerekli olabilecek mailing list yazılımları, web
sunucu yazılımları vb... hepsi ücretsiz. Yapmanız
gereken sadece gerekli araçları bir araya
getirmek.
Umarım bu yazı, konusunda uzmanlaşmış kişilerin
dikkatini az da olsa Free Software olgusuna çekebilir
ve bu camianın olanaklarının ne kadar geniş olduğunun
bilincine varılabilir. İnanıyorum ki, Türkiye' de bir
olanak bekleyen ve yazılımlarını dünya pazarına
duyurmak için fırsat kollayan kişiler için bulunmaz
bir fırsat elimizin altında ve bunu
değerlendirmememizin ise herhangi bir mazereti
yok.
İlgili Referanslar
http://www.fsf.org
http://www.gnu.org
-------------------------------
FSF : Free Software Foundation
GNU : GNU is Not Unix.
GPL : GNU Public License
-------------------------------
Bu yazı http://www.teknoturk.org
adresinde yayınlanmıştır.
- Serbest yazılım anlaşmaları
- Serbest olmayan ücretsiz yazılım anlaşmaları
- Serbest olmayan yazılım anlaşmaları
Serbest yazılım anlaşmaları arasında en popüleri kuşkusuz GPL lisansıdır. Serbest kelimesinin karşılığını yazımızın ilerleyen kısımlarında açıklamaya çalışacağız. Diğer serbest yazılım lisansları arasında LGPL, X11 Lisansı, Python' un lisans anlaşması sayılabilir.
Bedava yazılım anlaşmaları ise GPL' in bütün
maddelerine uymak istemeyen firmalar ve kişiler
tarafından genelde kendi yazılımlarına adapte
ettikleri lisans sözleşmeleridir. En popülerleri, BSD
lisansı, Apache, Zope, OpenLDAP, Phorum, Mozilla,
Interbase, Netscape, QT gibi yazılımların lisansları
ve IBM, SUN gibi firmaların Public License' lardır.
Serbest olmayan yazılım anlaşmaları ise Orijinal
Artistic License, Apple Public Source License olarak
özetlenebilir.
GPL Nedir? Diğer lisanslardan farkları nelerdir?
GPL lisans anlaşması, 1983 yılında Richard Stallman
tarafından geliştirilmiş, çok akıllıca detaylarla
bağlayıcılığı bulunan, teşvik edici, gerek kullanıcı
gerekse üretici tarafa büyük olanaklar sağlayan bir
lisans türüdür. GPL' in en çok üzerinde durduğu konu
yazılımların kaynak kodu ile birlikte dağıtılmasının
gerekliliğidir. Üretici firma yazılımını binary
olarak dağıtsa bile kaynak kodunu da herkes
tarafından erişilebilir bir yere bırakmak zorundadır.
Kullanıcı, bu kaynak kodu alıp inceleyebiir, üzerinde
istediği değişikliği yapabilir, kendi projelerinde
yazılımlarında kodun tamamını ya da bir parçasını
kullanabilir. Hatta başkasının kod parçasını alıp bir
kaç değişiklik yapıp, satarak maddi kazanç da elde
edebilir. Ama tek bir şartla, yeni üretilen program
da GPL ile lisanslanmak zorundadır.
Yukarıdaki paragrafı dikkatle okuduysanız, bunun
neresi akıllıca diyor olabilirsiniz. Lütfen biraz
sabredin, bir sonraki başlık bu konu ile ilgili
olacak. Şimdi kısaca diğer lisans anlaşmaları ile
farklarından bahsedeyim.
GPL, özellikle programın kaynak kodunun açık
olmasının gerekliliğini savunan bir yapıdadır. Temel
amaçları, şeffaflık, kullanıcının ne kullandığını
bilmesi, yazılımın çok kişi tarafndan hızlıca
geliştirilmesi vb...' dir. Pek çok kişi bu radikal
yaklaşımın GNU GPL lisansı tarafından getirldiğini
düşünse de bu yanlıştır. Çok daha önceleri BSD ve
benzeri lisans anlaşmaları programları kaynak kodları
ile dağıtmayı oldukça popüler yapmıştı ki halen de
çok sayıda yazılım bu lisanslar ile piyasaya
sürülmektedir. BSD lisansı, GPL' e temelde benzese de
en belirgin farkı, değiştirilerek piyasaya sürülen
yazılımın kodunun açık olması zorunluluğu ve BSD
lisanslı olması zorunluluğunun olmamasıdır. Oldukça
fazla sayıda firma BSD lisanslı programların
kodlarını olduğu gibi ya da biraz değiştirerek kendi
yazılımları içine gömmüş, yazarına ve kullanıcılara
hiç bir geribildirim yapmayarak çok yüksek
meblağlarda maddi kazanç elde etmiştir. GPL, üretilen
yazılımın da GPL olmasını zorunluluk yaparak bunu
imkansız kılmaktadır.
GPL, yazılımın ücretlendirilmesi hakkında hiç bir
fikir beyan etmez. Pek çok lisans anlaşması ücretsiz
kategorisine girerken GPL yazılımları ücretsiz olmak
zorunda değildir. Üretici firma ya da kuruluş,
yazılımını GPL ile lisanslayıp, dağıtabilir ve
karşılığında da bir ücret talep edebilir. Bu madde en
baştan beri sözleşme içerisinde olmasına rağmen
gariptir ki, GPL yazılımların çok büyük bir kısmı
ücretsizdir. Genel bir yaklaşım yazılımdan değil,
kullanıcıya sunulan destekten para kazanılması
şeklindedir. Bu özelliği ile GPL, pek çok lisanstan
ayrılmaktadır.
GPL yazılımların kopyalanmasında piyasada bulunan pek
çok yazılımdan farklı bir mantık geçerlidir. Kısaca
özetleyeyim. İsteyen istediği gibi istediği medya ile
bir GPL yazılımı kopyalayabilir, dağıtabilir,
dağıtması için bir üçüncü şahısa devredebilir. Bunda
hiç bir kısıtlama mevcut değildir. Eğer yazılım
karşılık olarak bir ücret talep ediyorsa, bu yazılımı
kullanan kişi ücretini ödemekle yükümlüdür. Değilse,
herhangi bir hukuki yükümlülük altında kalınması
sözkonusu değildir.
GPL' in Avantajları ve Dezavantajları
Şüphesiz, GPL, bir lisans anlaşmasının temel
amaçlarından olan kullanıcıyı koruma kısmını oldukça
başarı ile yerine getirir. Kullanıcı neredeyse
yazılımı üreten kişi ile aynı haklara sahiptir ki en
basitinden kodu istediği gibi değiştirip kendi
amaçlarına uygun hale getirebilir ve bunu satıp maddi
kazanç elde edebilir. Kullanıcı aynı zamanda, çok
sayıda yazılımın kodunu inceleyebildiği için,
kendisini geliştirme imkanı bulur, eninde sonunda bir
gün de üretici konumuna gelip, o da GPL yazılım
üretmeye başlar. Bu söylediklerim birer ütopya değil,
bugün yazılım endüstrisini kasıp kavuran
gelişmelerdir.
Üretici kısmında ise avantajlar çok ince çizgilerle
ayrılmış durumdadır. İlk olarak yazılımını ücretsiz
olarak piyasaya sürmesi zorunluluğu olmadığı için
kazançta bir eksilme olmamalıdır diye düşünülebilir.
GPL yazılımların dünyada çok büyük bir hedef kitlesi
vardır. Özellikle orta ve küçük ölçekli firmalar için
büyük sorun olan, "hedef kitleye ulaşamama" sorununu
aşmak yazılım GPL ile lisanslandığında büyük bir
problem teşkil etmemektedir. GPL yazılımlara karşı
Internet' te büyük bir destek vardır. http://www.freshmeat.net,
http://www.linuxapps.com,
http://www.hotscripts.com,
http://www.linuxberg.com
gibi sitelerde her gün onlarca yazılımın duyurusu
yapılmakta ve onbinlerce belki yüzbinlerce kişinin
bir defada yazılımdan haberdar olması sağlanmaktadır.
GPL yazılımlara karşı kullanıcının büyük bir
sempatisi olduğundan dolayı, bazı büyük firmalar da
yazılımlarını belki kendilerini şirin göstermek belki
de gözden çıkardıkları bir ürünün diğer ürünlerine
dikkat çekmek için bir altyapı hazırlamasını sağlamak
için GPL ile lisanslamaktadırlar. GPL yazılımlara
rağbet gösteren hedef kitlenin sayısının artması ile
birlikte bu alanda destek veren firmalar da büyük bir
gelir kaynağı elde etmiş durumdalar. GPL yazılımlar
inanılmaz bir hızla, aynen bir virüs gibi yayılır.
Başarılı bir yazılım üreticisi firma globalleşmeyi
düşünüyorsa ve bu işi bir ay gibi çok kısa bir sürede
yapmak istiyorsa belki de tek yolu yazılımını GPL ile
lisanslamaktır.
Şimdi de kısaca maddeler halinde biraz da tekrar
yaparak GPL lisansının avantajlarından yorumsuz
olarak bahsedelim.
- Kullanıcı yazılımının içinde ne olduğunu bilir. Bazı üretici firmaların yaptığı öne sürülen backdoor yerleştirme vakaları imkansızdır. Bu özellikle askeri kurumlar için önemli olmaktadır. Farklı bir ülkenin ürünü olan bir yazılımı önemli istihbarat birimleri kullanmak istemeyeceklerdir. GPL ile lisanslanan yazılımın kaynak kodu ortada olduğu için gerekli inceleme yapıldıktan sonra rahatlıkla kullanılabilir.
- Yazılım çok büyük bir kitle tarafından kullanılması sonucunda hataların keşfedilmesi ve yine çok büyük bir kitle tarafından geliştirildiği için düzeltilmesi süreci bazen dakikalarla sınırlı olur.
- Üretici firma, kullanıcı kitlesini geliştirmek için büyük bir şans elde etmiş olur.
- Kullanıcı yazılımda beğenmediği kısımları değiştirmekte hürdür. Bunu eğer kendisi yapamıyorsa bile yazılım çok büyük bir kitle tarafından kullanıldığı için, Internet' te biraz aradıktan sonra büyük ihtimalle aynı yazılımın kendi istediği şekilde değiştirilmiş halini rahatlıkla bulur. Ya da bu iş için profesyonel destek satın alabilir.
- Üretici firma, dünyaca popüler bir GPL yazılımın üreticisi olarak büyük bir prestij elde eder. Referans listesinde onbinlerce kişi tarafından kullanılan bir programı geliştirmiş bir firma olmanın onurunu taşır. Bunun sonucunda bir sonraki geliştirdiği yazılıma dışarıdan bakışlar daha profesyonelce ve firmanın ismi duyulduğu için de hedef kitle daha büyük olur.
- BSD gibi lisanlarda olanın aksine GPL bir yazılımdan türetilen yazılım da GPL olmak zorunda olduğu için geliştiricinin kodunun çalınması riski yoktur.
- GPL bir yazılımın kodunun üzerinde oynayan kişi sayısı bazen binleri bulmaktadır. Bu nedenle programlar oldukça hızlı bir şekilde çok büyük bir kitle tarafından geliştirilir. Bu da yazılımın kalitesinin artmasında büyük bir rol oynar.
- GPL, yazılım sektöründe bir rekabet ortamı yaratmayı sağlar. Ücretli ve kapalı kod olarak sunulan yazılımların ücretsiz ve açık kodlu olanlara nispeten çok daha kaliteli olmasının gerekliliği ortaya çıkar. Bu da yazılımların kalitesini arttırırır ve sektörün ütopik tam rekabet piyasasına olabildiğince yaklaşmasını sağlar. Söktörü sadece arz değil, talep de yönlendirmeye başlar.
- Kullanıcı ürünün gelişmesi için üretici firmaya bağımlı kalmaz. Özellikle kritik uygulamalarda kullanılan bir yazılımı üreten firmanın batması veya artık yazılıma destek vermemesi durumunda mağdur kalınmaz. Kaynak kodu ortada olduğu için kullanıcı istenirse kendi bünyesinde isterse destek alarak yazılımı geliştirmeye devam edebilir.
GPL' e özellikle son günlerde bazı eleştiriler yapılmaktadır. Bu eleştiriler kimilerince bir kampanya boyutuna taşınmaktadır. Bu eleştiriler GPL' in de bazı dezavantajları olabileceğine bizlerin dikkatini çekmeyi başarmıştır. Yorumsuz olarak bu eleştirileri kısaca sıralamak gerekirse :
- GPL ile geliştirilmiş yazılımlar ücretsiz olmak zorunda olmasalar da genelde böyledir. GPL yazılımların sayısı ve kalitesi arttıkça yazılım sektöründe dönen para akışını azaltmakta, bu da pek çok kişinin gelirlerinde büyük azalmalara ve sektördeki bazı ürünlerin egale olmasına yol açmaktadır.
- Şu anki teknoloji ile üretilebilecek hemen her konuda bir GPL yazılım mevcuttur. GPL yazılımların kodları örnek alındığında sonuç olan ürün de GPL olmak zorunda olduğu için, kapalı kod bir yazılım yazmayı düşünen bir firmanın bu yazılımlardan örnek almaması gerekir. Dolayısıyla yaratıcılığa sınırlar çizilmiş olunur.
- GPL üreten firma ya da şahıslar genelde ürünlerine yeterli desteği verememektedirler. Bunun bir nedeni de GPL yazılım üreten firmaların inanılmaz boyutlardaki hedef kitleye yetişememeleridir.
- GPL üretici firma ya da kişiler genellikle ürünlerine destek vermek için ücret talep ederler. Bu da GPL yazılımların sanıldığının aksine ücretsiz olmadığı anlamına gelir.
- GPL yazılımların kaynak kodu açık olduğu için bilgisayar korsanlarının kodu inceleyerek güvenlik açıklarını bulması mümkün olur.
Sonuç
GPL, ister beğenilsin, isterse eleştirilsin bilişim sektöründe son yılların en büyük gelişmelerinden birisidir. GPL ile lisanslanmış yazılımların içinde en popüleri olan Linux İşletim Sistemi ve daha binlerce yazılım, IBM, SUN, Oracle, Corel gibi dünya devi firmaları kendi saflarına çekmeyi başarmış, Microsoft gibi bir diğer dünya devinden yetkilileri de GPL aleyhinde konuşmalar yapmak ve "Linux neden ücretsiz değildir" gibi yazılar piyasaya sürmek zorunda bırakmıştır. Yapılan propagandalar sonuç olarak neyi doğurur şu an öne sürmek çok zor fakat kesin olan bir şey var ki, GPL artık bilişim söktöründe küçümsenemeyecek bir gerçektir.
Bu yazı http://www.php.org.tr ve
http://www.teknotur.org
adreslerinde yayınlanmıştır.