Özgür Bir Yazılımcı Olmak
Yazılım Nedir?
Bilgisayar = Donanım + Yazılım
Donanım fizikseldir elle tutulur
Yazılım bilgisayar donanımı içinde saklanır, elle tutulmaz
Yazılım donanıma nasıl çalışacağını belirtir
Biri olmadan diğeri bir işe yaramaz
Nasıl Yazılır?
Nasıl Çalışır?
Çeviri Tek Yönlü - 1
Çeviri Tek Yönlü - 2
Yazılım Nasıl Özgür Oluyor?
Kullanma
Yazılım Nasıl Özgür Oluyor?
Kullanma
Çoğaltma, Dağıtma ve Paylaşma
Yazılım Nasıl Özgür Oluyor?
Kullanma
Çoğaltma, Dağıtma ve Paylaşma
İnceleme
Yazılım Nasıl Özgür Oluyor?
Kullanma
Çoğaltma, Dağıtma ve Paylaşma
İnceleme
Değiştirme ve Değiştirdiğini Dağıtma
Yazılım Türleri
Özgür yazılım
Açık kaynak kodlu yazılım
Özel mülk / sahipli / kapalı yazılım
Korsan yazılım
Lisanssız yazılım
Ticari yazılım
Yazılım Lisansları
Yazılımın sahibi ile yazılımı alanlar arasında sözleşme
Yazılıma özgürlüğünü sağlayan lisansı
Çeşitli lisanslar:
Genel Kamu Lisansı (GPL)
LGPL
Apache
BSD
MIT
ve daha yüzlercesi
Özgür Programlama Dilleri
Programlama Dilleri (StackOverFlow)
Programlama Dilleri (Github)
Niye Yazılım Geliştiriyoruz?
Niye Yazılım Geliştiriyoruz?
Para kazanmak
Yaratma keyfi
Bulmaca ve sorun çözmek
Çok havalı
Birçok insanla tanışmak
Çok hızlı gelişimin parçası olmak
Sadece eğlenmek için
Yapabildiğimiz için
Zorunluluktan (yapacak başkası yok)
Yazılımcı Olmak İçin Ne Gerekir?
Bilgisayar
Elektrik
İnternet
İstek
Çalışmak
Yazılımcılar Neden İş Bulamaz?
Yazılımcılar Neden İş Bulamaz?
Deneyimi yoktur?
İngilizce bilmiyordur?
İşi iyi yapabileceğine inandıramıyordur?
Torpili yoktur?
Çalışkan değildir?
Araştırmayı sevmiyordur?
İletişim becerisi gelişmemiştir?
Takım çalışmasına yatkın değildir?
Önceliklendirmeyi bilmiyordur?
İş beğenmiyordur?
Nasıl Daha İyi Yazılımcı Olunur?
Nasıl Daha İyi Yazılımcı Olunur?
Bol bol kaynak kod okuyarak
Başkalarının yazdığı yazılımlarda geliştirme yaparak
Tek başına değil birden fazla kişi ile beraber yazılım geliştirerek
Kendi yazdıklarımızı daha deneyimli yazılımcıların eleştirmesiyle
Yazdıklarımızı kullanan kişilerle daha fazla beraber çalışarak
Tekerleği tekrar icat etmeyerek
Bol bol yazılım geliştirerek
Özgür Yazılım Dünyasında
Ortak çalışılır
Çalışmalar herkese açıktır
Çalışmalar herkes tarafından izlenebilir
Fikirlerin anlatılması ve diğer insanların ikna edilmesi önemlidir
Kolay yılmamak gerekir
Çalışan düdüğü çalar (meritokrasi)
Özgür Yazılım Üretmenin Kattıkları
Gerçek yaşam problemleri ile uğraşmak
Takım içinde çalışmayı öğrenmek
Yoğun bir iletişim becerisi gelişimi
Kullanıcı istekleri konusunda tecrübe
İngilizcenizi geliştirmek
Uluslararası insanlarla beraber çalışma deneyimi
Özgeçmişe eklenebilecek referans çalışmalar
Nasıl Özgür Bir Yazılımcı Olunur?
Özgür yazılımlar kullanarak
Özgür yazılım üreterek VE paylaşarak
Öğrendiklerini paylaşarak ve yayarak
Paylaşmak, yazılan yazılımı en iyi yedekleme yöntemi :)
Bir Özgür Yazılım Projesine Katılmak
Web sitesini incelemek
Yazılımı indirip, kurup, kullanmak
Kullanıcıların sorunlarına yardımcı olmak
Test edip, farkedilen hataları bildirmek
Geliştiricilerin iletişimini (e-posta listesi, slack kanalı, vs) takip etmek
Belgelendirmeye yardımcı olmak
Bildirilen hataların çözmek için kod yazmak
Bildirilen yeni istekler için kod yazmak
Nerelerde yaşarlar? → github.com, gitlab.com, Google :) ve niceleri
LKD Özgür Yazılım Yaz Kampı (15 gün)
Her yıl Temmuz-Ağustos aylarında
Geçen yıl 21 sınıf, 550 katılımcı
Kampa katılım ücretsiz
GNU/Linux Sistem Yönetimi (1, 2, 3. düzey)
Ağ Yöneticiliğine Giriş
Ruby on Rails ile Web Uygulama Geliştirme
Python ve Django ile Web Uygulama Geliştirme
PHP ile Web Uygulama Geliştirme
Ön-yüz (Front-end) Web Uygulama Geliştirme
Java EE ile Web Uygulama Geliştirme
Web Uygulama Güvenliği
Ağ Güvenliği ve Denetimi
Kriptoloji ve Ters Kod Mühendisliği
Blokzincir ve Akılı Sözleşmeler
…
LKD Özgür Yazılım Kış Kampı (4 gün)
Her yıl Ocak sonu - Şubat başı
Geçen yıl 55 sınıf, 1200 katılımcı
Kampa katılım ücretsiz
GNU/Linux Sistem Yönetimi (0.5, 1.5, 2.5 düzey)
Android ile Uygulama Geliştirme
PostgreSQL: Geliştiriciler için
ROS ve Gazebo ile Robotik Atölyesi
Arduino (1., 2. düzey)
R ile Temel İstatistik
Java: Spring Boot ile Web Uygulaması Geliştirme
Kotlin ile Programlama
Bilişim Hukuku
…
Özgür Yazılım ve Linux Günleri (2 gün)
2002’den beri yapılıyor
Her yıl Mart-Nisan-Mayıs aylarında
İki gün boyunca paralel salonlarda 45’er dakikalık oturumlar
Özgür yazılımlarla ilgili çok çeşitli konular tadımlık anlatılıyor
Firma standları ve yoğun sohbet