14. Açık kaynak vs Özgür Yazılım
“Open source is a development
methodology; free software is a
social movement”
Richard Stallman
15. Özgür yazılım
● Kaynak kod açık olmalı
● Kullanılması için bir kısıtlama olmamalı
● Değiştirilmesi için bir kısıtlama olmamalı
● Dağıtılması için bir kısıtlama olmamalı
● Değiştirilmiş halinin dağıtılması için bir
kısıtlama olmamalı
18. Katedral ya da pazar
Every good work of
software starts by
scratching a
developer’s personal
itch.
The Cathedral and the Bazaar
Eric S. Reymond
19. Aynı amaç için bir araya gelmek
The producers of open-source products are typically a diverse group of
developers with a shared passion for a product. They do not seek a
profit and no distinction is made between corporate and individual
users. Therefore, they make (a) the product and (b) the source code
available for free to any interested user.
Members participate to learn more about the product and believe that
others will help them if they have a need [Lakhani and Von Hippel
2003]. Surprisingly, the customer support provided by communities
surrounding products such as Apache and Linux have won awards for
excellence.
24. ● En azından teknik İngilizce öğren.
● Makinandan Windows'u sil ve güzel bir Linux
dağıtımı Ubuntu 14.04 LTS ya da Debian
Linux kurarak Linux konusunda kendini
eğitmeye başla.
● BASH komut satırında çalışmayı öğren.
Milyoner olmak istiyorsan 12.000 km
uzaktaki 400 sunucunu uzaktan BASH shell
üzerinden ssh ile bağlanarak yönetebilmen
şart.
Bir adım öne çıkmak
25. ● Vim öğren. Gvim ile fare bile kullanabilirsin.
Yararlı vim eklentilerini kullanmayı unutma.
● Mutlaka Python, Java, C++ gibi bir OOP
dilini öğren ve mutlaka yanında Erlang,
Haskell gibi fonksiyonel programlama
dillerinden birine gözat. Okulda anlatılıyorsa
Lisp, Prolog ve Scheme dillerine özel ilgi
göster. Daha sonra bunların çok ekmeğini
yiyeceksin.
Bir adım öne çıkmak
26. Bir adım öne çıkmak
● Jetbrains IDE'lerinden en az birinde
çalışmayı öğren. Debug, trace gibi hayati
özellikleri kullanma eğitimi yap. Git ile
entegre çalışmayı öğren.
● Unit test nedir öğren. Bununla geliştirme
yap.
● Bir konuyla ilgilenecek kadar istek sahibi ol.
Hatta bu konuyla ilgili bir özgür yazılım
projesine geliştirici, raporlayıcı ve hatta alkış
tutucu olarak destek ver.
27. ● Kesinlikle ve mutlaka ve hassaten git öğren.
Derinlikli olarak bu meret nasıl kullanılır iyice
üzerine çalış.
● Artık git'in ne olduğunu anladığına göre bir
zahmet Github/Gitlab/Bitbucket hesabı aç.
● Doğru düzgün soru sormanın yollarını öğren.
● Yazılım lisansları nedir ve ne işe yarıyor
öğren.
Bir adım öne çıkmak
28. ● Okuldaki tüm ödevlerini mutlaka github
üzerinde paylaşmayı unutma. Kara kaşına
bakıp karar veremeyiz.
● Bilmediğin haltı, orta derecede bile bildiğini
iddia etme.
● Dünyada ne olup bittiğine kulak ver. Bilgi
merkezlerini , Türkiş çakma taklitleri yerine
ilk kaynağından takip et.
Bir adım öne çıkmak
29. Bir adım öne çıkmak
● Ne yapmak istediğine dair fikir sahibi olmaya
çalış. Olamıyorsan önce alanlara bak ve
dene. Birisi üzerine olabilir. Hiçbiri olmuyorsa
bu işleri bırak, organik tarıma yönel.
● Yazılım geliştirme dillerinin ne kadar çok ve
çeşitli olduğunu ve neden bu kadar çok ve
çeşitli dile sahip olduğumuzu anlamadan, X
dilini çok seviyorum ama Y dili de çok şey
şeklinde bik bik etme.
30. Bir adım öne çıkmak
● İlgi alanlarının etrafındaki bilgi öbeğinin sana
lazım olacağını, bunun dışındaki pek çok
bilginin sadece çöp bilgi olarak kalacağını da
unutma. Boş beleş işlerle vakit kaybetme,
odaklan.
● Bir işi baştan sona düşünüp bitirecek kadar
sebatlı ol.
31. Bir adım öne çıkmak
● Tüm bu innovasyon, yenilik car carlarına
aldırma ve hala 1950'lerden kalma teorik
bilgiyi kullandığımızı unutma. Okulda
okuyorsan teorik bilgiyi kapmaya bak.
● Gang of Four mu o da ne diyorsan çoktan
bitmişsin ve elinde okey de yok demektir.
32. Bir adım öne çıkmak
● Bir proje hayal edince hayatın filan
değişmeyecek ve milyoner falan da
olmayacaksın. Projenin değil, bilginin para
ettiğine uyan ve kendini bu konuda eğit.
● Dünya hakkında fikir sahibi olmayan, fikirsiz
patronlara köle olma.
● Mutlu olmadığın işi yapma, mutlu
olmadığın iş yerinde çalışma.
33. Örnek projeler
● Özgür yazılım
● Açık kaynak kodlu yazılım
● Karapürçek buğdayı
● %100 organik hayat
43. Benim bir evim yok hatta ayakkabım,
Param yok hatta lüks bir sınıfım,
Etek yok üzerimde ne de süveter,
Ne parfümüm var sürmeye, ne de yatağım uyumak için rahatça şöyle,
Hiç aklım yok inanır mısın şu aralar,
Güzel bir yemekten sonra ortaya çıkan.
Bir annem olmadı ki aşılasaydı yüksek kültürü,
Arkadaşlarım da yok yanıbaşımda, okula da gidemiyorum yokluktan,
Bir sevgilim bile hatta bir adım bile yok benim,
Bir biletim, hatta bir jetonum bile yok terketmek için kendimi
Bir Tanrım yok beni koruyacak kutsal gökyüzünde
Ain't Got No... I've Got Life
44. Ve elimde ne var yani?
Neden hala hayattayım bu geç gecede?
Evet elimde ne var?
Kimsenin benden alamayacağı...
Saçlarım var ve bir kafam,
Bir aklım var ve kulaklarım,
Gözlerim ve burnum var inanır mısın,
Bir ağzım var benim ve bir gülüşüm var.
Ain't Got No... I've Got Life
45. Dilim var, çenem var
Boynum ve göğüslerim
Kalbim var benim ve ruhum
Sağlam bir sırtım ve şükür cinselliğim
Kollarım ve ona bağlı ellerim ve ona bağlı parmaklarım
Bacaklarım, ayaklarım, ayak parmaklarım hatta eksik bile olsa
Karaciğerim ve kanım
Ain't Got No... I've Got Life
46. Bir hayatım var benim.
Benim özgürlüğüm var.
Hayatım var.
Hayatım var diyorum,
Ve ona tutunacağım,
Çünkü bir hayatım var size rağmen
Ve onu kimse benden alamaz
Biricik ve eşsiz hayatımı!
Nina Simone, 1968 Nuff Said
Ain't Got No... I've Got Life