DEV Community

Sırma Dilara Sayın
Sırma Dilara Sayın

Posted on

GNU Projesi

Yazılımda Özgürlük Arayışı

Özgür yazılım, ingilizcede karşılığı“free software”dır.
Burada kullanılan Free
terimi ‘bedava’değil, "freedom","özgürlük"
anlamındadır. Özgür yazılım beraberindeki
açık kaynak koduyla, yazarın adını koruyarak, kaynak kodun üzerinde her
türlü değişikliği ve eklemeyi yapma özgürlüğünü vermektedir (Çetin,
2003:30).
27 Eylül 1983’te Richard Stallmann tamamiyle özgür yapıda, Unix
işletim sistemine uyumlu bir işletim sistemi yaratmak için başlattığı projenin
ilk duyurusunu yapmıştı. Daha sonra bu projeyi GNU olarak adlandırdı.
GNU, Unix işletim sistemi ile uyumlu olmakla birlikte, Unix değildi.Stallman’a göre, bu proje sonucunda çıkacak yazılım, özgür bir yazılım
olmak durumundaydı.
Arayış içine girilen işletim sisteminin Unix işletim sistemi ile uyumlu
olmasının tercih edilmesi nedenlerinin temelinde, Unix’in “çok kullanıcılı”
(multi-user), “çok işli” (multi-tasking) çalışma koşullarını sağlayan, çekirdek (kernel) temelli ve tam bellek yönetimi sağlayan bir yapılandırmaya sahip
olması yatar.
Stallman’a göre, bu proje sonucunda çıkacak yazılım, özgür bir yazılım
olmak durumundaydı.
Özgür yazılım, Stallman’ın tanımlamasına göre, dört karakteristik
özelliğe sahip olmalıydı:

  1. Yazılım herhangi bir amaç için özgürce çalıştırılabilmeli
  2. Yazılım gereksinimler doğrultusunda değiştirilebilmeli
  3. Yazılımın kopyaları bedava ya da ücret karşılığında özgürce dağıtılabilmeli
  4. Yazılımın değiştirilmiş sürümleri toplumun gelişmelerden yararlanabilmesi için özgürce dağıtılabilmeli (Free, 2004 :3). Stallman bu özgürlükleri garanti altına almak için, “copyleft” olarak adlandırdığı Genel Kamu Lisansı’nı (GPL-General Public Licence) ortaya koydu. Daha sonra, Unix işletim sisteminin yerini alacak yeni sistem yaratma çalışmalarına devam ederek, bu konuda alt yapı içinde yer alan editörler, derleyiciler ve yardımcı araçlar geliştirdi (Free, 2004 :4). Torvalds başlangıçta Stallman’ın GNU projesi için geliştirdiği altyapıdan yararlandı. Onun amacı, bir işletim sisteminin kalbi olan işletim sistemi çekirdeğini (Kernel) oluşturmaktı. Çekirdeğe sahip olunca, GNU araçlarını (tools) buna bağladı. Torvalds, copyleft GNU GPL lisansını Linux işletim sistemi için benimsedi (Free, 2004 :5). Torvalds GNU GPL ‘nin sadece bir yazılım lisansı olmadığını, aynı zamanda bir yazılım geliştirme yönteminin temeli olduğunu kavramıştı. Çünkü Stallman bu projeyi ortaya attığında, karşılıklı işbirliği ve paylaşım için bir atmosfer yaratacağını ummaktaydı. Böyle bir projeye katılan herkes eşit durumdaydı ve biliyorlardı ki, kimse kendi çıkarları için onları sömürme amacında değildi. Herkes eşit olarak diğerlerinin çalışmalarından yarar sağlayacaktı. (Free, 2004 :5).

Kullanılacak Unix Benzeri Çalışma Düzeni

GNU projesi, dönemin popüler işletim sistemi olan Unix mimarisini örnek alarak "Unix Benzeri"(Unix-like) fakat tamamen özgür bir sistem oluşturma amacıyla 1983'te yola çıkmıştır.
Windows kullanıcıları için WSL, yani Linux için Windows Alt Sistemi (Windows Subsystem for Linux), Windows içinde Linux komutlarını ve araçlarını kullanmayı mümkün
kılar. Örneğin Ubuntu’yu WSL üzerinden açtığınızda /home dizinini, apt paket yöneticisini, Bash komutlarını ve Linux’a yakın dosya/izin davranışını deneyimleyebilirsiniz.
Pratik sınır şudur: WSL güçlü bir köprü sağlar; fakat Windows dosya sistemiyle Linux
dosya sistemi arasındaki farklar, özellikle dosya yolu ve performans konusunda dikkat
ister.
macOS ve Linux kullanıcıları ders örneklerinin büyük bölümünü doğrudan terminal
üzerinden deneyebilir. Terminali, bilgisayardaki dosya ve programlarla metin tabanlı
konuşma ekranı gibi düşünebiliriz. Bir klasöre gitmek, dosyaları görmek, paket kurmak
veya çalışan servisi kontrol etmek için grafik arayüz yerine komutlardan faydalanırız.
Ancak macOS ve Linux tamamen aynı değildir. macOS çoğu zaman zsh ile gelir ve
sistem paketleri için Homebrew ve MacPorts gibi araçlar kullanılır. Linux tarafında
ise dağıtıma göre apt, dnf, pacman gibi paket yöneticileri karşımıza çıkabilir.

Terminal Kabuk(Shell) ve Komut Satırı Kavramları

GNU Projesi sadece felsefi bir düşünce olarak kalmamış; geliştiricilerin bugün komut sırasında aktif olarak kullandığı "Bash"(Bourne-Again SHell)kabuğu, derleyiciler (GCC) ve temel sistem araçlarını geliştirerek özgür bir ekosistem inşa etmiştir.
Terminali açtığımızda çoğu zaman tek bir şeyle karşılaştığımızı sanırız. Ekranda bir
pencere vardır, içine komut yazarız ve sonuç görürüz. Ancak bu ekranın arkasında
birkaç farklı kavram birlikte çalışır: terminal, shell ve command line. Bunları ayırmak
başlangıçta gereksiz gibi görünebilir; fakat hata ayıklarken ve farklı sistemler arasında
geçiş yaparken oldukça işe yarar.
Terminal, komut yazdığımız ve çıktıyı gördüğümüz pencere veya arayüzdür. Kabuk
(shell), yazdığımız komutu yorumlayan programdır. Komut satırı (command line) ise
komutları metin olarak yazdığımız etkileşim biçimini ifade eder. Yani terminal sahnedir,
kabuk sahnede söylenen komutu anlayan yorumlayıcıdır, komut satırı ise bu iletişim
tarzıdır.
Windows kullanıcıları için bu ayrım özellikle önemlidir. Aynı Windows Terminal
penceresi içinde PowerShell de açabilirsiniz, WSL Ubuntu içinde Bash de açabilirsiniz.
Pencere benzer görünür; ancak komutları yorumlayan kabuk farklı olduğunda
komutların davranışı da değişebilir.

Kabuk (Shell): Shell daha çok tercüman olarak bilinir. Kullanıcının çekirdekle olan bağlantısını sağlar. Çekirdekten gelen verinin kullanıcının anlayabileceği şekilde görülmesini, benzer olarak kullanıcıdan gelen verilerin de çekirdeğin anlayabileceği şekle çevirmekle görevlidir.

​Kullanıcı Grafik Arabirimi (Graphical User Interface): Bilgisayarın görsel bir arayüzle kullanıcıyı karşılamasını sağlayan birimdir. Son kullanıcının işlemlerini daha kolay gerçekleştirebilmesini sağlar. Kullanım kolaylığı ve alışılmışlar göz önüne alınarak geliştirilir. Kısaca görsel olarak işlemlerin yapılabilmesine olanak sağlayan birimdir. İşletim sisteminin olmazsa olmazlarından değildir. Linux işletim sistemlerinde kullanıcı grafik arabirimi olarak birden fazla yazılım vardır. İstenilen grafik arabirimi (Kde, Xfce, Gnome) uygun bulunan Linux sistemi tarafından destekleniyorsa, o işletim sisteminin üzerine entegre edilebilir.

​Program: Bilgisayarda belirli görevleri icra edebilmek için yazılmış kod parçacıklarının bütününe program denir.

Özgür ve Açık Kaynak Yazılımların Sosyo-Ekonomik Rolü

Açık kaynak ekosistemlerinin oluşmasının ülkemizin yazılım kullanımı ve üretimi ile küresel yazılım pazarında
yer almasına katkısını, ticari-açık yazılım etkileşimleri ve ilişkilerinin olumlu ağ etkilerini, bulut-bilişim ve açık
uygulama mağazaları gibi teknolojik gelişmelerin sektörün büyümesinde oluşturacağı platformları önemli
bulmaktayız.
Türkiye yazılım ve yüksek teknoloji söz konusu olduğunda akla ilk gelen yerlerden birisi olmayı bugüne kadar
başaramamıştır. Dünya bankası istatistikleri bilişim alanındaki ithalat-ihracat verileri ülkemizin konumunu net
rakamlar ile ortaya koymaktadır. Gelişmekte olan bir çok ülke gibi Türkiye de tüketim eğilimli olarak sosyal
sermaye ve potansiyeli ile küresel teknoloji pazarının içerisinde yer almaktadır. Yazılım pazarı büyüklüğü ile
kendi grubundaki ülkeler arasında da arzulanan yerde değildir. Gelişmiş ekonomilere sahip ülkeler, ve bize daha
yakın Brezilya, Hindistan gibi ülkelerde özgür ve açık kaynak politikaları 2000’li yılların başından beri
uygulanmaktadır. Bu deneyimler olumlu ve zor yönleri ile belirlenecek yaklaşımlara yön göstermelidir.
Yazılımda rekabet küreseldir. Ekipler ülke sınırları ve fiziksel ortamlardan bağımsız olarak oluşabilir. Ürünler ve
ticaret geleneksel pazarların dışında gerçekleşebilir. Geç kaldığımız bu ekonomide var olabilmek, ancak güçlü
kamu politikaları ve doğru stratejiler ile mümkün olacaktır; Özgür ve açık teknoloji politikaları, saydamlığın,
bireylerin ve paylaşımın güçlendirilmesi, ekosistemlerin ve toplulukların gücünün ortaya çıkarılması, serbest
pazarda var olabilmenin temel yapıları bu stratejilerin ana içeriği olmalıdır.
Kaynakça
-https://dergipark.org.tr/en/download/article-file/2153258
-file:///C:/Users/velie/Downloads/2026-modern-gelistirme-ortamlari-emre-akadal.pdf
-https://books.google.com.tr/books?hl=tr&lr=&id=KzfLDwAAQBAJ&oi=fnd&pg=PA1&dq=GNU+Projesi&ots=knbSdiwrhh&sig=mTPAAiyzb2EXIklmf4vEy4FMf0A&redir_esc=y#v=onepage&q=GNU&f=false
(linux ve ağ temelleri:başucu kitabı)
-https://research.sabanciuniv.edu/id/eprint/30082/1/Ozgur_Acik_Kaynak_Yazilim_Stratejilerinin_Turkiye_Bilgi_Toplumu_Hedefleri_Icerisindeki_Onemi.pdf

Top comments (0)