infolightbulb_outlinenew_releasesreportwarning

Özgür Bir Yazılımcı Olmak

Doruk Fişek

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?

yazilan kod

Nasıl Çalışır?

calisan kod

Çeviri Tek Yönlü - 1

tercume1

Çeviri Tek Yönlü - 2

tercume2

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

programming languages wordcloud

Programlama Dilleri (StackOverFlow)

programming languages stackoverflow

Programlama Dilleri (Github)

programming languages github

Niye Yazılım Geliştiriyoruz?

soru isaretleri

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?

soru isaretleri

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?

soru isaretleri

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)

  • https://kamp.linux.org.tr

  • 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)

  • https://kamp.linux.org.tr

  • 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

Sorular

sorular