Kavramsal ve Pratik Açıdan Özgür Yazılım  ve Lisanslar

Destan Sarpkaya, Zafer Çakmak, Ekim 2015
selam@kodgemisi.com

Özgür Yazılım Nedir?

Sunumun Hedef Kitlesi

* Yazılım mühendisliği, bilgisayar bilimleri, bilişim sistemleri ve benzeri tüm bölümler kastedilmiştir.

Yazılım geliştirme konusunda genel bilgi sahibi olanlar
“Bilişim Çalışanları” veya “Bilgisayar Mühendisliği Öğrencileri*”

Temel Kavramlar

Ekrana üçgen bastıran bir uygulama yazmak isteriz

C dilinde yazılmış bir
kaynak kod (source code)

Binary Code

#include <stdio.h>
 
int main() {
  int n = 10, c, k, space = 1;
  space = n - 1;
 
  for (k = 1; k <= n; k++) {
    for (c = 1; c <= space; c++)
      printf(" ");
 
    space--;
 
    for (c = 1; c <= 2*k-1; c++)
      printf("*");
 
    printf("\n");
  }

  return 0;
}

Derleme

Binary Code

©

Copyright == Telif Hakkı

  • Yazılımlar onu yaratan kişiye teliflidir.

  • Yazılımcı işçiyse, mali hak şirketindir.

©

  • Çoğaltma
  • İşleme
  • Yayma / Satma
  • Değiştirilmesini engelleme
#include <stdio.h>
 
int main() {
  int n = 10, c, k, space = 1;
  space = n - 1;
 
  for (k = 1; k <= n; k++) {
    for (c = 1; c <= space; c++)
      printf(" ");
 
    space--;
 
    for (c = 1; c <= 2*k-1; c++)
      printf("*");
 
    printf("\n");
  }

  return 0;
}
#include <stdio.h>
 
void print (int);
 
int main () {
   int rows = 10;
   print(rows);
   return 0;
}
 
void print (int r) {
   int c, space;
   static int stars = -1;
 
   if (r <= 0)
     return;
 
   space = r - 1;
   stars += 2;
 
   for (c = 0; c < space; c++)
      printf(" ");
 
   for (c = 0; c < stars; c++)
      printf("*"); 
 
   printf("\n");
   print(--r);
}

©

Patent

Recursive fonksiyonlar ile üçgen çizme yöntemi

Patent

  • Türkiye'de ve Avrupa'da yazılımlar patentlenemez!

  • ABD'de... karışık!

Genel olarak karışık ve henüz netleşmemiş

Lisans

Kullanım izni 

Telif hakkıyla korunan içerik üzerinde hak tanıyan antlaşma

Mevcut Durum

Bir program satın alınca...

... lisans satın alırsınız.

Özgür Yazılım

Nasıl Çıktı Bu Fikir?

  • Bir yazıcı kodunun paylaşılmaması
  • GNU (GNU's Not Unix) Project
  • GPL (Lisans)

Richard Stallman

Özgür Yazilim 4 Özgürlük Sunar

0) Programı dilediğin gibi, herhangi bir amaçla çalıştırma özgürlüğü.

1) Programın nasıl çalıştığını inceleme ve dilediğin işlemleri yapacak biçimde onu değiştirme özgürlüğü.

2) Kopyalarını dağıtma özgürlüğü.

3) Kendi değiştirilmiş sürümlerini dağıtma özgürlüğü.

En Çok Karıştırılan Kavram

Copyleft

“Bir özgür yazılım üzerinde yaptığınız değişiklikleri sizin de özgür bir lisansla paylaşmanızı gerektiren kavrama copyleft denir.”

Özgür yazılım != Copyleft

Açık kaynak != Copyleft

Lisans Copyleft
GPL (GNU Public License)
MIT
Apache
BSD

Lisanslar

Neden?

Geliştirici gözünden

Kullanıcı gözünden

Nasıl Para Kazanacağız?

Ama...

  • ya güvenlik?

  • ya kodumu çalarlarsa?

  • ya rakiplerime kolaylık sağlarsa?

Lisans Kullanım Örnekleri

Özgür Yazılım Karşılıklı Çıkardır 

Teşekkürler

Özgür Yazılım Nedir?

By KodGemisi

Özgür Yazılım Nedir?

Özgür Yazılım Nedir? - Bilişim çevrelerine yönelik

  • 480