Mühendisbilir'i Instagramdan takip ediyor musunuz?

Özgür Yazılım Kış Kampı Notlar :(Sözel ~ Giriş )

Linux Sistem Programlamaya Giriş

Merhaba arkadaşlar, 4 günlük Özgür Yazılım Kış Kampında Linux Sistem Programlamaya Giriş Eğitimini tamamladık. İlk gün biraz daha özgür yazılım nedir, açık kaynak nedir, farkları nelerdir, felsefik olarak yaklaşımları nasıldır gibi konulara değinildi. Bunlar bile bize çok şey kattı diyebilirim. Sizinde faydalanacagınızı düşünüyorum ve notlarıma başlıyorum :

Lisans,yani yazılım lisansı yazılımı geliştiren kişi/kurum ile yazılım kullanıcıları arasında yapılan bir sözleşme.

Özgür Yazılımların Lisansı olur mu ?

Evet olur.Başlıca Lisanslar :

  • GPL – General Public License
  • LGPL – Lesser General Public License
  • BSD – Berkeley Software Distribution
  • CDDL – Common Development and Distribution License
  • Apache Lisansı

GPL

Genel Kamu Lisansı (ilk özgür yazılım lisansı)

  • Özgür yazılımların %66’sı tarafından tercih ediliyor.

Yazılımın özgür olmasının yanı sıra, özgürlüğünü sürdürmesini de garanti altına alır.

  • Toplumdan alıyorsan, topluma geri ver mantığı.

Apache Lisansı

  • Apache Vakfı tarafından geliştirilen projelerde kullanılıyor.
  • GPL’e ek olarak, patentlere yönelik belirli kısıtlamalar içeriyor.
  • Apache, Spamassassin, Tomcat, …

 

Bir lisansın özgür yazılım olması için 4 kural vardır :

Özgürlük 0 : Her amaçla kullanılabilir olmalısınız.Mesela Microsoftan bir ofis programı indiriyorsunuz.Office edution mesela  ve bu yazılım size diyorki , bu ürünü sadece eğitim amaçlı kullanabilirsiniz ticari amaçlı kullanamazsınız, böyle bir kısıt koyuyor.Özgürlük 0 böyle bir kısıtlama olamaz diyor.

Özgürlük 1 : O programın nasıl çalıştığını arka planda neler yapıldığını öğrenmek istediğimizde buna kolayca ulaşmalıyız(örneğin Microsoft ios bizim  bunu görmemize müsaade etmiyor)

Özgürlük 2 : Yazılımı istediğin gibi kopyalayıp dağıtabilirsin.

Özgürlük 3 : Yazılımı geliştiren kişi geliştirdiği kodları paylaşmakta özgür.

MIT 4 özelliğide sağladığı için bir özgür yazılım.

Örneğin WTFPL adlı yazılım da bazı kesimler tarafından kabul görmesede aslında bir özgür yazılım :

 

Yola çıkılan amaç ise tek cümle ile “Bilginin evrensel olması “

Örneğin wikipedia özgür yazılım felsefesinden etkilenilerek yapılmış bir sistemdir.İnsanlar hep birlikte bir kütüphene geliştiriyorlar.Yine Bitcoin temelinde özgür yazılım felsefesiyle gelişmiştir.

(Free Beer, opensource cola ubuntu cola bi araştırın hoşunuza gidecek J )

 

Eğitimimizde “Linux da herşey  /dosya/dir.    😀 ”, düşüncesini savunan  da , aksini savunanda oldu , fakat benim de görüşüm Linux da her şey dosyadır oldu, (Tek bir şeyi yap onu da tam yap mantığı = Linux)

Aşagıda dosya yerleri yapıları ve önemli bulduğum birkaç komutun açıklamalarını yazdım.

project(02-file-operations)

add_executable(random

src/random.c

)

 

add_executable(ls

src/ls.c

)

 

add_executable(size

src/size.c

)

 

add_executable(touch

src/touch.c

Man komutu

Hangi komutun hangi işleve sahip olduğunu unuttunuz mu? Merak etmeyin. man komutunu kullanarak komutları Linux kabuğundan öğrenebilirsiniz. Örneğin, man tail komutunu girmek tail komutunun kullanım talimatını gösterecektir.

 

Create yerine ==> touch,mkdir, ls

Open yerine ==> cat,tail,head,less,more,mount,belki cd

Write yerine ==> sed, tee,echo <”  ”>

Read yerine ==> open aynısı

Remove yerine ==> rm, shred

Bunlar arttıralabilir,yön göstermesi amaçlı paylaşıyorum

 

Samimi ve basit anlatımla yazmaya özen gösteriyorum.Eğitimin 2 günü özetle bu şekilde geçti. Uygulama ve daha teknik konular yani son 2 gün konuları bir sonraki yazıda…

 

 

 

 

Kaynaklar :
Başta  Emir Cem Gezer, Ahmet Sezgin Duran hocalarıma teşekkür ediyorum.
https://www.hostinger.web.tr/rehberler/linux-cat-komutu/