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…
Yorum Yazın!