[linux-programlama] Re: gcc ile derlenmis program lisansi

---------

From: Recai Oktas (roktas@omu.edu.tr)
Date: Thu 04 Sep 2003 - 10:33:09 EDT

  • Next message: Doruk Fisek: "[linux-programlama] Linux Semineri : PHP ile PostgreSQL Uygulamalari"

    * Cem Ahmet MERCAN (HBM) <mercan@be.itu.edu.tr> [2003-09-04 09:08:35+0300]
    >
    > Evet editorler hususunda haklisiniz ama gcc konusunda benim kafami
    > karistiran sey minimum c programinin bile bazi GPL kutuphaneleri
    > kullaniyor olmasi. Mesala

    Hayir onlar GPL degil, LGPL... Asagida acikladim.

    > deneme.c:
    > ---------------------------------
    > int main(void){ return 0; }
    > ---------------------------------
    > seklinde olsun.
    >
    > Derlendikten sonra ldd ciktisi:
    >
    > $ ldd deneme
    > libc.so.6 => /lib/libc.so.6 (0x4002f000)
    > /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
    >
    > seklinde bazi kutuphaneler iceriyor.
    > Benim programim bir urun ama hala bu kutuphanelere muhtac.

    Bir onceki cevapta dustugum kayda dikkat ediniz. Her ne kadar standart
    bir C kitapligi kullanmadan program yazmak pratik olarak mumkun olmasa
    da, kendiniz basit birseyler kodlayarak hicbir harici kitapliga bagli
    olmayan bir program yazmaniz her zaman mumkundur. Yani `gcc' kullanarak
    derlediginiz bir program da one surulebilecek lisans kisitlari `gcc'nin
    *kullanimindan* degil baglanan kitapliklardan kaynaklanir. Yukaridaki
    ornekte "deneme" isimli program GNU'nun "Kisitli Genel Kamu Lisansi"
    (LGPL) ile dagittigi libc6 kitapligi ile baglanmis (link). Dolayisiyla
    lisans sartlariyla ilgili arastirmayi LGPL uzerinde yapacaksiniz.
    Buyurun onu buradan inceleyin:

            http://belgeler.org/howto/lgpl.html

    Ozetle soylemek gerekirse: LGPL lisansli kitaplikla *dinamik olarak*
    baglanmis bir programda _yaklasik olarak_ herhangi bir kisitlamayla
    karsilasmazsiniz. Bu lisans GPL'in bulasici ozelliklerinin kirpilmis
    halidir. (Suphesiz ki isler o kadar da kontrolsuz degil. Mesela
    bildigim kadariyla libc6'yla baglanmis bir programi dagitirken "bu kod
    uzerinde reverse-engineering yapamazsiniz" gibi bir sart one surulemez.)
    Eger libc6 GPL olarak lisanslansa idi dogrudan bu kitapliktaki
    fonksiyonlari kullanan programinizin da *GPL* olarak dagitilmasi
    gerekirdi. (Carpici bir ornek: Bash komut satirinda hergun
    kullandiginiz `readline' kitapligi GPL'dir ve programiniz `readline'i
    kullaniyorsa *GPL* olmak zorunda.) Aciktir ki boyle bir sart libc6'nin
    yayginlasmasini yavaslatirdi. Bu yuzden LGPL icat edilmistir. (Bilgi
    olarak gecmem uygun olur... libc6 disinda yaygin diger bir ornek Gtk
    oluyor. Bu kitaplik da LGPL'dir.)

    -- 
    roktas
    

  • Next message: Doruk Fisek: "[linux-programlama] Linux Semineri : PHP ile PostgreSQL Uygulamalari"

    ---------

    Bu arsiv hypermail 2.1.6 tarafindan uretilmistir.