3 Mayıs 2016 Salı

LibreOffice Hackfest Ankara 2016



Merhabalar,

Çanakkale'deki LibreOffice için yürütülen çalışmalar geliştirici ekibin de dikkatini çekti ve onların önerisiyle 30 Nisan - 1 Mayıs 2016 tarihlerinde Ankara'da ULAKBİM'in ev sahipliğinde bir hackfest düzenlendi. Etkinliğin iletişim dili İngilizceydi. Etkinliğe katılan LibreOffice geliştiricileri Michael Meeks, Marcus Mohrhard ve Jan-Marek Glogowski oldu.

Etkinlikte ilk gün geliştiricilerin sunumlarını dinledim. LibreOffice kod tabanı, Core class'larının yapısı, problemleri çözme, real world engineering gibi mevcut çalışmalarıma hız kazandıracak konular anlatıldı. Geliştirmede kullanılan araçlardan bahsedildi. Debug denemeleri yaptık.




Sonraki gün ise kodlama yapmaya başladım. Kritik noktaları danışabileceğim geliştiricilerin hemen yanımda olması gün boyunca 5 yama göndermemi sağladı :) Oraya gitmeden önce çalıştığım bug üzerinde işlerimi hızlandıracak yeni bir yol öğrendim. Bunun dışında Michael Meeks yapabileceğimi düşündüğü bir iş önerdi. Hemen üzerinde çalışmaya başladım. Bu işin şimdiye kadar verdiğim katkılardan biraz daha zor olduğunu ama benim üstesinden geleceğimi söyledi. Yakın zamanda bununla ilgili güzel haberler vermek isterim size \o/ . 



İyiki katıldım diyebildiğim çalışmalardan biri oldu. Bu geliştiricilerle çalışma fırsatını yakalayabilmem süperdi. Çok yoğun ve oldukça eğlendiğim bir  etkinlikti. Ayrıca Akademik Bilişim'de Atölyeden tanıdığım arkadaşları da görmek harikaydı. Başta +Necdet hocama, etkinliğe ev sahipliği yapan TÜBİTAK-ULAKBİM'e ve Muhammet Kara, Gökhan Gurbetoğlu'na, çok uzaklardan gelen Michael Meeks, Marcus Mohrhard ve Jan-Marek Glogowski'ye çok teşekkür ederim. 

Etkinlikte bir de badge kazanmışım, onu da şuraya bırakıyorum :)




20 Şubat 2016 Cumartesi

İlk Dönemin Ardından

Merhabalar, dolu dolu geçen bir dönemin ardından bir geniş özet yapayım dedim. Şuan bilgisayar mühendisliği 3.sınıf öğrencisiyim. Önce ki yazılarımda da bahsettiğim üzere bu dönemin başından beri Libreoffice'e katkı veriyorum. Libreoffice dahilinde dönem boyunca bir çok hata avcılığı ve etkinliklere katıldım. Biraz bahsedeyim.

GDG Devfest İstanbul 2015 


 Bu dönem ilk katıldığım etkinlik devfest Istanbul oldu. Google Developer Groups tarafından organize edilen ve yazılım dünyasının prestijli konferanslarından biri olan DevFest, her sene yazılım geliştiricileri bir araya getirmeye devam ediyor. Bu sene bende bir sunum yaptım.

Ben, Gülşah Köse, Kader Tarlan ve Aybüke Özdemir sunumumuzda, Libreoffice'e katkı sürecini ve Çanakkale'de çalıştığımız ekip ile şimdiye kadar neler yaptıklarımızı anlattık. Slaytımıza buradan ulaşabilirsiniz. Bu benim ilk konuşma deneyimim oldu ve oldukça keyif aldım.

 

Balıkesir Özgür Yazılım Özgür Toplum Semineri


+Necdet Yücel Hocam, +aybukeozdemir ve +Gülşah Köse ile birlikte Baubit'in (Balıkesir Üniversitesi Bilişim Topluluğu) misafiri olduk. Seminerin ilk kısmında Necdet Hoca, özgür yazılımın ne olduğunu, özgür olmayan yazılımları kullanarak hangi yolu tercih ettiğimizi, neden özgür yazılımın kullanılması gerektiği anlattı.

İkinci bölümde ise Aybüke ve Gülşah ile birlikte, sene içinde çalıştığımız ekiple Libreoffice nasıl katkı verdiğimizi, hangi araçları kullandığımızı ve şimdiye kadar neler ürettiğimizi anlattık. Yine çok keyif aldığım bir etkinlik oldu. Yeni insanlarla tanışmak, güzel sohbetler etmek oldukça mutluluk vericiydi. Bizi misafir eden Baubit de ekibine teşekkür ederim.




Packathon


Packathon 23 Ocak'ta Bahçeşehir Üniversitesi'nde gerçekleşti. Biz de Kripton'dan kalabalık bir ekiple orada yerimizi aldık. Etkinlik süresince takım olarak ya da tek kişi herkes ortaya bir ürün koymaya çalıştı. Yalnızca takımların oy verebildiği bir uygulama ile gün sonunda en çok oyu alan ilk 3 ekip ödüllendirildi. Etkinlik sonunda 4.olan ekip olduğumuzu öğrendik. Ekip olarak çalışmak oldukça keyif veriyor. Bütün gün Libreoffice için çalıştık. Bir çok yeni bilgi edindim. Çokça eğlendiğim bir gün oldu.

 

Akademik Bilişim 2016 LibreOffice Geliştirme Atölyesi 


18.'si düzenlenen Akademik Bilişim, bu yıl Aydın Adnan Menderes Üniversitesi'nde yapıldı. Konferans öncesinde 4 gün süren 34 farklı konuda eğitim verildi.

Bu eğitimlerden biri de "LibreOffice Geliştirme Atölyesi"ydi. +Gülşah Köse, +Berk Güreken ve  +aybukeozdemir ile birlikte 4 gün boyunca katılımcıların LibreOffice için yama yollama süreçlerine yardımcı olmaya çalıştık. Katılımcıların çoğunluğunu Çanakkale'de birlikte çalıştığımız ekip oluşturuyordu. Eğitim boyunca yolladığımız 14 yama LibreOffice core deposuna alındı. Yeni bir şey üretmek kadar keyif veren bir şey yok. Çok verimli 4 gün geçirdim.

Eğitimlerden sonra gerçekleşen konferanslar ise 3 gün sürdü. Konferans konuları için ayrıntılı incelemeyi buradan yapabilirsiniz. Konferanslar, +Mustafa Akgul Hoca'nın giriş konuşmasıyla başladı. Akgül Hoca, Akademik Bilişim etkinliğinin nasıl başladığını, bu zamana kadar ne kadar yol katedildiğini anlattı.3 gün boyunca farklı oturumlara katıldım. Her birinde yeni bir şey öğrendim. Yoğun ve öğretici 3 gün içinde Kripton ekibi olarak bizim de 3 seminerimiz oldu.



- Kadınlar İçin Özgür Yazılım Fırsatları
- Uluslararası Bir Özgür Yazılım Projesine Dahil Olmak
- Türkiye’de LibreOffice Geliştirme ve Yerelleştirme Çalışmaları

Uluslararası Bir Özgür Yazılım Projesine Dahil Olmak hakkında +Necdet Yücel Hocam ile birlikte konuştuk. Katılım oldukça iyiydi. Etkileşimli olarak soru-cevap şeklinde bir kısımda yaptık en sonunda. Sunuma şuradan ulaşabilirsiniz.

Bölüme başladığımdan beri yaşadığım en yoğun dönemdi. Büyük bir ekiple çalışıyor olmak harika. Süper bir ekibim ve süper bir hocam var. Çalışmalarımı her seferinde arttırmak ilk hedefim oluyor hep. Henüz 3.sınıfın başındayken bu gibi etkinliklere dahil olduğuma çok memnunum. Uğraştığım işi, okulumu, ekibimi çok seviyorum. Dilerim yeni başarı hikayeleriyle dolsun bu blog. Görüşmek üzere :)








16 Aralık 2015 Çarşamba

Onion Omega Üzerine OwnCloud Kurulumu



 


 Onion Omega, Kickstarter’da başlamış ve muhtemelen Kickstarter’ın en farklı projelerinden biri olmaya aday. Onion Omega, donanım geliştirme platformları için dizayn edilmiş ve özellikle yazılım geliştiricileri için üretilmiş küçücük bir donanım. Kodlama yöntemiyle yeni donanımlar ve icatlar yapmanıza imkan sağlıyor. Onion, içinde Wi-Fi gömülü, Arduino desteği ve tamamen Linux ile çalışabilir bir halde geliyor. Git, pip, npm ve yüksek seviye programlama dilleri olan Python, JavaScript, PHP gibi bilindik araçları kullanmamıza olanak sağlıyor.Ayrıca Onion Omega açık kaynak kodlu! Genel özellikleri ise şöyle;

OS: OpenWRT Linux
İşlemci: 400MHz
RAM: 64MB DDR2
Flaş: 16MB
Kablosuz: 802.11 b / g / n

Onion Omega Kurulum




 Onion Omega'nın kurulumu için güzel bir wiki sayfası hali hazırda var. Bu adımları uyguladıktan sonra tarayıcımızda adres çubuğuna http://192.168.3.1 veya http://omega-ABCD.local bağlantılarını verip, Omega'nın etkileşimli sayfasına ulaşabiliyoruz.

root kullanıcısı ile bağlanabilmek için şu bilgileri giriyoruz;
username: root
password: onioneer

Omega'ya Otomatik Disk Bağlama



 Omega 16mb belleğe sahip, fakat OwnCloud kuracağımız için bu alan yetersiz gelecektir. Bu nedenle üzerine bir disk bağlamamız gerekiyor. Diski Omega'nın uygun portuna taktıktan sonra, Omega'yı yeniden başlattığımızda her seferinde bu diskin otomatik olarak bağlanması için aşağıdaki adımları uyguluyoruz (Omega FAT32, NTFS, ext2, ext3, ext4 dosya sistemlerini desteklemektedir. Benim diskimin dosya sistemim ise ext4).

 Öncelikle paket yükleme işlemi yapacağımız için internete ihtiyacımız var. Wi-Fi ağına bağlanmak için, terminalde aşağıda komutu veriyoruz ;

root@Omega-0104:/#wifisetup
Onion
Omega Wifi Setup



Select
from the following:
1)
Scan for Wifi networks
2)
Type network info
q)
Exit



Selection:

Paketleri güncelliyoruz. USB aygıtını bağlayabilmek için önkoşullu paketleri yüklüyoruz.

opkg update
opkg install block-mount kmod-fs-ext4 kmod-usb-storage-extras 
Aygıt için bağlantı noktası oluşturuyoruz. 
mkdir /mnt/sda1
Aygıtı bağlıyoruz.
mount /dev/sda1 /mnt/sda1
/overlay dizinini USB aygıtının içine taşıyoruz.
mount /dev/sda1 /mnt ; tar -C /overlay -cvf - . | tar -C /mnt -xf - ;umount /mnt 
fstab şablonunu oluşturuyoruz.
block detect > /etc/config/fstab
/etc/config/fstab dosyasını vi editörü ile açıp, otomatik bağlamayı etkinleştirmek için değişiklik yapmamız gerekiyor.
Aşağıdaki satırı,
option  target  '/mnt/sda1'  

aşağıdaki satır ile değiştirelim.
option  target '/overlay'

Ardından şu satıra bakalım,
option  enabled '0'

ve aşağıdaki satır ile değiştirelim.
option  enabled '1'

Dosyayı kaydediyoruz ve Omega'yı yeniden başlatıyoruz. Artık USB aygıtımız Omega'ya otomatik olarak bağlanmış durumdadır. Dosya sisteminizdeki tüm değişiklikler USB depolama aygıtınızda yapılacaktır.

Owncloud Kurulumu ve Çalıştırılması

Onion Omega içinde OpenWrt dağıtımı ile birlikte geliyor.




Herhangi bir paketi yüklemeden önce sistemdeki paket listemizi güncelliyoruz.
opkg update 
Eğer henüz USB aygıtını bağlamadıysanız;
USB desteğini yüklüyoruz.
opkg install kmod-usb2
insmod ehci-hcd
Eğer  "unresolved symbol usb_calc_bus_time" gibi bir mesaj görürseniz, usbcore yüklememiz gerekiyor.
insmod usbcore
insmod ehci-hcd
USB-storage desteğini yüklemeliyiz.
opkg install kmod-usb-storage kmod-usb-storage-extras block-mount kmod-fs-ext4 kmod-scsi-generic
Bağlantı noktası oluşturuyoruz.
mkdir /mnt/sda1 
Son olarak USB belleğimizi bağlıyoruz.
mount -t ext4 /dev/sda1 /mnt/sda1 -o rw,sync

1-)Lighttpd, Php Kurulumu ve Yapılandırması
opkg install lighttpd lighttpd-mod-cgi lighttpd-mod-fastcgi lighttpd-mod-access php5-fastcgi php5-mod-xmlwriter php5-mod-zip php5-mod-json php5-mod-curl php5-mod-pdo-sqlite sqlite3-cli php5-mod-simplexml php5-mod-mbstring php5-mod-xml zoneinfo-core php5-mod-iconv php5-mod-gd php5-mod-ctype php5-mod-dom php5-mod-hash php5-mod-session php5-mod-pdo-sqlite php5-mod-pdo php5-mod-sqlite3 php5-mod-fileinfo

lighttpd yapılandırma dosyasını aşağıdaki gibi düzenlemeliyiz. 
vim /etc/lighttpd/lighttpd.conf
server.modules = (
)

server.document-root= "/www/oc"
server.upload-dirs  = ( "/tmp" )
server.errorlog     = "/var/log/lighttpd/error.log"
server.pid-file     = "/var/run/lighttpd.pid"
server.username     = "http"
server.groupname    = "www-data"

index-file.names    = ( "index.php", "index.html",
"index.htm", "default.htm",
"index.lighttpd.html" )

static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

server.port = 81

include       "/etc/lighttpd/mime.conf"
include_shell "cat /etc/lighttpd/conf.d/*.conf"
Php yapılandırması için, "php.ini" dosyasında aşağıdaki satırı oluşturmalıyız.
vim /etc/php.ini
doc_root = "/www/oc"

"mod_fastcgi" aracılığıyla PHP dosyalarını test etmek için bir ilişki ekleyelim.

vim /etc/lighttpd/conf.d/fastcgi.conf
server.modules += ( "mod_fastcgi" )
fastcgi.server = (
".php" => ((
"bin-path" => "/usr/bin/php-fcgi",
"socket" => "/tmp/php.socket",
"max-procs" => 1
))
)

2-)OwnCloud İndirilmesi ve Yapılandırılması

Şu adresten OwnCloud son versiyonunu indirelim.
 wget http://download.owncloud.org/community/owncloud-8.1.0.tar.bz2

Arşiv dosyasını açabilmemiz için tar'ı yüklüyoruz ve dosyayı tar ile açıyoruz.
 opkg install tar tar xvjf owncloud-8.1.0.tar.bz2 -C /www/
  rm owncloud-8.1.0.tar.bz2

Dizine açtığınız dosyayı yerleştiriyoruz.
mv /www/owncloud/ /www/oc/

Gerekli servisleri başlatıyoruz.
 /etc/init.d/lighttpd start
/etc/init.d/lighttpd enable
/etc/init.d/php5-fastcgi start
/etc/init.d/php5-fastcgi enable
Web tarayıcımız ile "http://yourhost/oc" adresine bağlandığımızda OwnCloud ile artık çalışmaya başlayabiliriz.



Not: "http://yourhost/oc" adresine bağlandığımızda "This ownCloud server can't set system locale to en_US.UTF-8/en_US.UTF8. This means that there might be problems with certain characters in file names. We strongly suggest to install the required packages on your system to support en_US.UTF-8/en_US.UTF8. " şeklinde bir hata alırsak yapmamız gereken işlem ise şöyle;



/www/oc/lib/private/util.php dosyasında ki "isSetLocateWorking()" metodunun içeriğini aşağıda ki gibi değiştirmeliyiz.
        public static function isSetLocaleWorking() {
                // setlocale test is pointless on Windows
                if (OC_Util::runningOnWindows() ) {     
                        return true;             
                }                                                                                      
                                                     
                \Patchwork\Utf8\Bootup::initLocale();
                if ('' === basename('..')) {
                        return false;                                                                                        
                }                               
                return true;
        }

Change it to return true under basename('..')
                if ('' === basename('..')) {
                        return true;                                                                                        
                }  


Yeniden lighttpd'i başaltıp, OwnCloud ile çalışmaya başlayabiliriz.

3 Kasım 2015 Salı

Libreoffice Çalışmalarım



Merhabalar, bu sene okul başladığından beri Libreoffice ile ilgili çalışmalar yapıyorum. En son yazımda ilk kod katkımı verdiğimden bahsetmiştim. Yaptığım katkıdan çok, bu süreç önemliydi benim için. Bu aşamada kendinizi bu iş için yetersiz hissetmemeniz çok önemli. Başlangıçta yapabileceğiniz katkı için bug'lar seviyelendirilmiş zaten. Örneğin gereksiz yorum satırlarını silmek gibi işlerde var. Süreç boyunca bir çok şey öğreniyorsunuz zaten. Önemli olan şey İngilizce bilmek, çünkü geliştirici sayfası İngilizce.

Bu süreç nasıl ilerliyor?

Geliştirici wiki sayfası sizi yönlendiriyor aslında. Libreoffice kodunu indiriyor ve derliyorsunuz (şurada bahsetmiştim bu işten).  Kendinize uygun bir bug bulduktan sonra, git ile yamanızı hazırlayıp gönderiyorsunuz.(LibreOffice geliştiricileri çok anlayışlı ve yardım sever, pek çok konuda IRC 'de yardım alabilmek mümkün.) Her yollanan yamanın Jenkins ile 3 platformda çalışabilirliği kontrol ediliyor. (Linux, MacOS ve Windows). Tüm platformlarda başarı ile derlenebiliyorsa yamaya geliştiricilerde bakıyor. Uygun bulursa kodu onaylıyor ve sizin adınıza ekliyor. Bunun için öncesinde bir de lisans metni yolluyorsunuz.

Ne durumdayım ? 

Başlangıç seviye bir yamam onaylandıktan sonra, başka bir bug ile ilgilendim. Burada uno bileşeni uygulamaları için yapıcı işlevlerinin başlatılmasının uzun bir süreç olduğundan bahsediliyordu. Bu süreç için yeni bir yol önerilmişti. Bu süreci kolaylaştıracak ve biraz daha hızlı yapacaktı. Üzerinde çalışmak için kendime bir bileşen seçtim ve bunun yapıcı işlevinde değişiklikler yaptım ve yamamı yolladım. Bir gün önce yamam alındı. Şimdi daha güzel işler yapabilmek için çalışıyorum.


4 Ekim 2015 Pazar

LibreOffice Paketi İçin Yama Hazırlamak



LibreOffice özgür ofis yazılımı Dünya'nın dört bir yanından katkıcıların ortak emekleri ile geliştiriliyor. Eğer bir geliştiriciyseniz, hata düzeltme ve yama gönderme işlerinde de katkı verebiliyorsunuz. Bende bu iş için gönüllü oldum ve yama hazırladım. Ben ubuntu 14.04 LTS kullandım. Bu yamayı hazırlarken yaşadığım süreçten biraz bahsedeyim istiyorum.

Başlangıçta Libreoffice'i kaynak kodundan derlemeniz gerek. Bunun için önce ihtiyacımız olan bağımlı paketleri kuralım.

$ sudo apt-get build-dep libreoffice

Depoyu yerelimize clone edelim.

$ git clone git://anongit.freedesktop.org/libreoffice/core libreoffice

Proje dizinine geçelim.

$ cd libreoffice 

Hatasız çalıştığını kontrol edelim ve derleyelim.

$ ./autogen.sh 

$ make
Derleme işleminin ardından writer'ı çalıştırıp, projenin düzgün çalıştığından emin olalım.

$ instdir/program/soffice --writer 


Yama yollarken gerrit aracı da kullanılıyor. İlk kez yama yollayacaksanız şuraya kendinizi eklemeniz gerekiyor. Bu işlem için libreoffice@lists.freedesktop.org adresine, mail başlığı: <your name> license statement , mail içeriği ise 
"All of my past & future contributions to LibreOffice may be licensed under the MPLv2/LGPLv3+ dual license." olan bir mail gönderiyoruz.

Gerrit kullanabilmek için ilk adımda şu komutu çalıştırıyoruz.

$ ./logerrit setup

Çalıştırdıktan sonra "/home/[username]/.ssh/id_rsa.pub" içeriğinin tamamını Gerrit üyeliğimizde settings sekmesinden Ssh Public Keys kısmına ekliyoruz.( Gerrit üyelik işlemini openid ile yapmak mümkün, ben bunun için ubuntu one hesabımı kullandım.)

Test işlemi sorunsuz tamamlanırsa artık Gerrit aracını kullanabiliyoruz.

$ ./logerrit test

Şimdi yeni bir dal oluşturalım.

$ git checkout -b <yeni dal adı> 

Şuradan bug'ları inceleyip istediğimizi kendimize assign edelim. Ardından kaynak koddan çözüm için gerekli değişiklikleri yapalım. Değişikliği bitirdiğimizde;

$ git add <dosyaismi>

$ git commit -m "commitin içeriğini anlatan mesajımız"

Bu commiti Gerrit'e de yollayalım.

$ ./logerrit submit master

Belki ilgilenen olursa diye şurada kabul edilen yamam da bulunmakta. Ayrıca yolladığınız commitleri gerrit sayfasından görmekte mümkün. Daha ayrıntılı bilgiye şuradan ulaşabilirsiniz.

25 Eylül 2015 Cuma

Yaz Stajı-1



 Merhabalar, bu yıl stajımı Metglobal'in sistem yönetimi bölümünde yaptım ve devamında bir süre de part-time olarak çalıştım. Uğraştığım işten biraz bahsedeyim istiyorum.

 Benden bir Django uygulaması geliştirmem istendi. Bu uygulama da platformlar ve bu platformlar için tanımlanmış mail listeleri olacak, bir problem girişi yapıldığında ilgili platforma bir template ile mail gönderilecek, sorun çözüldüğünde ve bunun girişi yapıldığında da yine ilgili platforma rapor şeklinde mail gönderilecekti.
  
 Bunun dışında şirketin Pingdom'da servisleri bulunmaktaydı. Uygulama Pingdom servislerin up/down olduğunu okuyup buna göre otomatik problem girişi yapacak ve aynı şekilde platform'da tanımlı listeye mail gönderecekti.

 Pingdom'ın bazen yük olduğunda servislere ulaşamadığı oluyor bunun için bir cron oluşturup 5 dakikalık bir süre ayarladım. Uygulamada  pingdomLib 2.0.2 kütüphanesi ile username, password, apikey kullanarak Pingdom ile bağlantı kurdum. Mail atabilmek için Django'nun send_mail modülünü kullandım. 
 Uygulamanın son halinin bir kaç ekran fotoğrafını buraya bırakıyorum. Ayrıca ilginizi çekerse diye okuduğum kaynaklarında bağlantıları aşağıdadır. Bahattin'in de güzel bir sunumu var Django ile ilgili. Şurada kodlar ve sunum dosyasi da bulunmakta. 


 Bu işleri yapabilmek için öncelikle Django öğrendim. Gizem'in önerdiği kaynakları okudum, çokça denemeler yaptım. Öncesinde okulda Python dersi almış olmam beni hızlandırdı diyebilirim. Öğrenme ve uygulamayı geliştirme sürecimde başta Gizem, Aydan, Barış, Kubilay, Eray, Yasin vakitleri olduğu sürece yardımcı oldular. Birlikte çalıştığım ekibi çok sevdim. Yukarıda ki fotoğrafta bu tatlı ekibi görmektesiniz. Her şey için onlara çok teşekkür ederim. 

 Sistem tarafı gerçekten çok yoğun oluyor. İşte böyle zamanlarda da yazılım tarafı yardımıma koştu diyebilirim. Ozan, Özlem, Burak, Faruk, İsmail her seferinde bana yardımcı oldular. Bir şey sorup birden fazla şey öğrenip döndüm hep. Sektörden, üniversiteden konuştuk, güzel sohbetler ettik, eğlendik :) Sırada ki teşekkürümde onlara gitsin. Aşağıda ki fotoğrafta da Zekeriya Bey'in bu tatlı ekibini görmektesiniz.
                  

  Aydan'ın yanında staj yapıyor olmak benim için büyük şanstı. Zamanında benimle aynı sıralarda oturmuş biriydi Aydan. Böyle dolu dolu bir yaz geçirmemi sağladığı için Necdet Hoca'ma bir kez de burdan teşekkür etmiş olayım. Geçirdiğim bu yaz tatili yoğun olduğu kadar çok da eğlenceliydi :) Metglobal'i çok özleyeceğim. 

Kaynaklar

https://www.djangoproject.com/

http://www.djangobook.com/en/2.0/index.html

 https://docs.djangoproject.com/en/1.8/intro/tutorial01/

http://tutorial.djangogirls.org/en/django_start_project/index.html

9 Mart 2015 Pazartesi

Richard Stallman Türkiye'de


Merhabalar,

İstanbul Sabancı Üniversitesi'nde düzenlenen Özgürlük Sohbetleri Programında ve onbirincisi Ankara Üniversitesi'nde düzenlenen Bilmök kapsamında Richard Stallman'ı dinledim.
  
Özgür yazılım dediğimizde kullanıcılarının ve toplumun özgürlüğüne saygı duyan bir oluşumdan bahsediyor olmalıyız. Stallman yazılımı iki katagoriye sokuyor ilki programın kullanıcıyı kontrol ettiği yazılımlar, diğeri ise kullanıcıların programı kontrol ettiği yazılımlar yani özgür yazılımlar.

Her şeyden önce bu bir felsefedir ve belli başlı dört özgürlüğü barındırır diyor:

Özgürlük0 : Her türlü amaç için yazılımı çalıştırma özgürlüğü.[2]
Özgürlük1  : Yazılımın nasıl çalıştığını inceleme ve kendi gereksinimleri doğrultusunda değiştirme özgürlüğü. Yazılım kaynak koduna erişim bunun için bir ön şarttır.[2]
Özgürlük2  : Kopyalarını dağıtma ve toplumla paylaşma özgürlüğü.[2]
Bir özgür yazılım herkesçe istenilen sayıda makineye kurulabilir, kopyası çıkarılabilir ve istenilen kimselere dağıtılabilir, hatta satılabilir.
Özgürlük3  : Yazılımı tüm toplumun yarar sağlayabileceği şekilde geliştirme ve geliştirilmiş haliyle yayınlama özgürlüğü. Yazılım kaynak koduna erişim bunun için de bir ön şarttır.[2


Bildiğimiz gibi Stallman  Özgür Yazılım Hareketini başlattı ve  GNU (''GNU is not unix''.GNU kelime anlamı olarak Güney Afrika antilobudur. Telafuz ederken de sözlüğe takılmayıp G ile okuyun diyor)projesini ilan etti.

"Başlangıçta bütüncül bir işletim sistemi yazmak istedim yanıma birilerini aldım ama Kernel eksikti. Biliyorsunuz Kernel bütün programların birbiri ile ilişki kurmasını sağlar. İşte bu Kernel'i Linus 1992'de Özgür Lisansla yayınladı. Hatalı bir kullanım olarak sisteme ''Linux'' deniliyor. Sisteme GNU/LİNUX deyin. Çünkü felsefeyi başlatan ve en büyük katkıyı veren biziz. İnsanların ne söylediği önemli. Sistemi başlatan Linus sanıyorlar.Onun felsefesini benimsiyorlar. Bizim yaptığımız iş için onun ismi kullanılıyor. Kısacası felsefeler karışıyor.Aslında GNU kullanıyorlar ama bilmiyorlar, çok ironik. Bazen de özgür yazılım yerine 'açık kaynak' terimi kullanılıyor. Yapılan aynı işe etik bir değer katmadan bir isim buldular ve buna 'açık kaynak' dediler.Bunu etik olduğu için değil kodun kaliteli olabileceğini düşündükleri için tercih ettiler." diyor.

 Özgür olmayan yazılımlar, kötü amaçlı yazılımdır, onlar çoğunlukla casusluk yapar, sizi kısıtlar, paylaşmanızı engeller, işte Stallman bunun şeytani bir iş olduğunu dile getirdi. Apple'ın bilgisayarları kullanıcıların hapishanesi olarak tasarladığını ve süsleyerek cazip hale getirdiğini söylüyor.

Karıştırılan bir diğer kavram olan özgür ve ücretsiz kelimelerinden bahsediyor ve Flash Player'ı örnek gösteriyor. Bu yazılım ücretsizdir ancak özgür değildir, arka kapısı vardır ve bu kullacılar için dijital kelepçedir. Özgür yazılım olması için sahip olunan en önemli özellik ücretsiz olması değildir diyor.


Amazonun Kindle'ını eleştiriyor. Bu kitap paylaşımını engelleyip, kullanıcıları antisosyal yapmasının yanında amazonun tüm kullanıcıların okuduğu kitapların bilgisini tutması insan haklarına aykırıdır. Kindle ingilizcede ateş yakmak, ateş çıkarmak anlamlarına geliyor, tüm kopyaları silinen George Orwell'in 1984 kitabını örnek vererek belki de size ait olmayan kitapların yakılmasına işaret ediyor diyor.

Müzik yayın hizmetlerinin genel olarak kötü amaçlı yazılımlar kullandığını, çoğunlukla müziğin bir kopyasını saklayamayıp paylaşmamızın engellendiğini söyleyip işte bunun da dijital kelepçe olduğunu belirtiyor.

Telefonlara gelince, kendisi kullanmıyormuş ve sebep olarak şunları söylüyor; telefonlarda uzaktan değiştirilebilir yazılımlar kullanılabilir, evrensel arka kapısı vardır, radyo ağı üzerinden değişiklik yapılabilir ve bu şekilde dinleniyor olabilirsiniz ve hatta telefon kapalı iken de dinlenmeye devam edebilirsiniz bunun tek çaresi telefonda ki tüm bataryaları çıkarmaktır diyor ve ekliyor ''Bazı telefonlarda batarya çıkarılmıyor acaba neden?''

Hemen hemen herkes özgür olmayan yazılım mağduru ve aslında kötücül yazılımların kötü amaçlı olmadığını kanıtlayamıyoruz çünkü kod kapalı.Yani aslında gözü kapalı güveniyoruz.

Stallman ''Toplumun karar vermesi gerekiyor. Bir tarafta geliştirici tekelinde ki yazılımlar var diğer yanda özgürlüğümüz.Tek parça bile özgür değilse bütüncül olarak özgürlüğümüzü elimizden alır.'' diyor.

 Stallman ''Bu yolda bize yardım etmenin tek yolu yazılım yapmak değil, fikirleri yaymak da bize büyük katkı verir'' diyor ve belirtiyor "Geleceğimiz neye değer verdiğimizde yatmaktadır.''