Tag Archives: açık kaynak

YaCy – P2P Arama Motorunuz

Twitter‘ın erişime engellemesi ile ilgili mesajım için buraya tıklayabilirsiniz.

YaCy, p2p mantığı üzerine kurulu ücretsiz, açık kaynak, özgür bir arama motoru yazılımdır. Genel olarak Java dili ile yazılmıştır ve platform bağımsızdır. Yani, illa GNU/Linux kullanmanıza gerek yoktur. P2P ağlarda olduğu gibi YaCy’de de birçok istemci vardır. Her YaCy-istemcisi birbirlerinden bağımsız olarak bir Internet sayfasını tarayabilir, analiz edebilir, sonuçları YaCY-istemcilerinin erişebilmesi için ortak bir indeks veritabanında tutup paylaşabilir. Tüm YaCy-istemcileri eşittir ve arama portallarında (Google, Bing, Yandex vs) merkezi bir sunucusu yoktur. Kısaca, YaCy için merkezsizleştirilmiş arama motoru da denilmektedir.

Merkezsizleştirilmiş arama motoru nedir?

merkezsizleştirme

Özel mülkiyet bir arama motoru düşünün. Bir merkezi ve yönetici(leri) mevcuttur. Bu arama motorunun sizin kontrolünüz dışında olan özel sunucularının bir merkezi vardır, sizin aramalarınızla ilgili bilgi toplar, sonuçları çeşitli gerekçelerle (telif vs.) sansürleyebilir, sizin arama sorgularınız ve eriştiğiniz sonuçlarla ilgili profil oluşturup bunu reklam için kullanabilir veya satabilir. YaCy’de ise bu durum tamamen farklıdır. Öncelikle, böyle bir merkeze bağlı değilsiniz. Kendi arama motorunuzun hem yöneticisi hem de kullanıcısısınız. Diğer yandan arama portallarındaki gibi içeriğiniz sansürlenmez, yöneticiler tarafından gözetlenmez ve herhangi bir reklam yoktur. Kendi içeriğinizi oluşturabilir, istediğiniz siteleri indeksleyebilir ve 600’den fazla istemcinin düzenli olarak katkı yaptığı 1.4 milyardan fazla dökümana sorunsuz, herhangi bir engele ve kısıtlamaya takılmadan erişebilirsiniz.

Kurulum ve ilk çalıştırma

İlk önce sistemimize Java kurmalıyız. Ardından YaCy’i kurabilir ve çalıştırabiliriz. Windows kullanıcıları buradan MacOS kullanıcıları da buradan indirip kurabilirler. Paket yöneticiniz ve dağıtımınız ne olduğunu bilmediğim için Debian türevi dağıtımlara uygun bir Java kurulumu gösterdim. Diğer kurulum ve çalıştırma dağıtım bağımsızdır.

kame - $ apt-get install openjdk-7-jre
kame ~ $ wget -c http://yacy.net/release/yacy_v1.68_20140209_9000.tar.gz
kame ~ $ tar xzv yacy_v1.68_20140209_9000.tar.gz && mv yacy ~/.yacy
kame ~ $ cd ~/.yacy && sh startYACY.sh

Temel ayarlar

Tarayıcınızdan localhost:8090‘a girdiğinizde YacY’nin durum (status) ana sayfasını göreceksiniz. Şimdi ilk olarak yanındaki Basic Configuration‘a tıklayarak bizi ilgilendiren birkaç ayarı yapalım. 1. seçenek dil seçeneği. Buradan size uygun olan bir dili seçebilirsiniz. 2. seçenek kullanım amacı. Üç seçenek mevcut. İlki, topluluk tabanlı arama. YaCy-istemcileri üzerinden arama yaparsınız. İkincisi, YaCy’i diğer YaCy-istemcilerinden bağımsız olarak yapılandırır, kendi indekslediğiniz ve robotlarla taradığınız siteler üzerinde arama yapılacak şekilde yapılandırabilirsiniz. Üçüncüsü, kendi ağınız ve siteniz için bir arama moturu oluşturabilirsiniz. 3. seçenek kullanıcı adınız. Herhangi bir şey yazabilirsiniz. 4. seçenek ise diğer YaCy istemcilerinin de erişebilmesi için port ayarı. Çok şart değil, port erişilebilir olursa hem performans açısından hem de diğer istemcilere indeks katkısı açısından biraz daha iyi olacaktır. Ayarlarınız tamamsa Set Configuration diyerek kaydedebilirsiniz. iptables’da port açmak isterseniz:

kame ~ $ iptables -I INPUT -p tcp --dport 8090 --syn -j ACCEPT
kame ~ $ iptables -I INPUT -p udp --dport 8090 -j ACCEPT

Bir arama gerçekleştirelim

yacy_arama

Görüldüğü üzere çok kapsamlı bir sonuç (daha devam ediyordu fakat ben yarıda kestim) elde edemedik. Bunun temel nedeni çok taze bir konuyu aratmak istememdi, ayrıca daha çok robotlarla taramaya ve indekslemeye ihtiyacı olduğundandır. Diğer bir deyişle, YaCy’nin birçok istemciye ihtiyacı vardır. Fakat, bu arama YaCy’nin yetersiz olduğu fikri oluşturmasın. Şu ana kadar beni pek üzdüğünü söyleyemem. Sorgularıma verdiği yanıtlar hep yeterliydi.

Arama motoruma herkes erişebilir mi?

Evet. Herkes erişebilir. Bu ister YaCy istemcisi olsun, ister Internette arama moturunuzun açık 2014-03-21-170646_1920x1080_scrotadresini bilen olsun veya diğer arama portallarının örümcekleri olsun erişebilirler. Status sayfasında, sağ köşede bir kutu göreceksiniz. Address kısmına baktığınızda sunucu (host), açık adres (public adress) ve YaCy adreslerinizi (yacy address) görebilirsiniz. Açık adresinize herkes (örümcekler dahil ve adresinizi dağıttığınız sürece) erişebilir. Bu yüzden Account ayarlarında Acces only with qualified account seçeneği ile bir yönetici (admin) şifresi belirleyebilirsiniz. Local robots.txt bölümünden de örümceklerin neye erişemeyeceklerini de ayarlayabilirsiniz.

2014-03-21-170630_1920x1080_scrotBen de indeks yapmak istiyorum

Sol menüde Index Production alt menüsünü göreceksiniz. Crawler/Harvester‘a tıkladığınızda açılan sayfa üzerinden indekslemek istediğiniz sayfanın linkini girerek bu işlemi gerçekleştirebilirsiniz.

Son sözler

YaCy çok detaylı ve kapsamlı bir arama motorudur. Burada çok temel birkaç şeyden bahsettim. Genel anlamda dört temel özelliği vardır. Tarama (crawl), indeksleme, arama ve yönetici arayüzü ve veritabanı. Merkezi bir sunucusu yoktur, sansür, reklam, gözetim gibi durumlardan arındırılmıştır. Yüksek derecede gizlilik sağlar. Çeşitli sıkıntılara sahip olsa da kesinlikle desteklenmelidir. Son olarak, YaCy ne kadar çok istemci sahibi olursa o kadar çok etkin, güvenli, sansürsüz, reklamsız bir arama motoru olacaktır.

Tagged , , , , , , , , , , , , , , , , , , , , , , ,

SteamOS’un Düşündürdükleri

“GNU/Linux’ta oyun oynamak ya da oynayamamak, işte bütün mesele bu!” peki gerçekten bu mu? 12 yıllık bir GNU/Linux kullanıcısı olarak o kadar çok oyun oynadım ki bu işletim sisteminde, bazen kendimi zorla dayatılan “Linux’ta oyun oynanmaz.” düşüncesiyle başbaşa bulmaktan alamıyorum.

GNU/Linux’ta oyun oynamak hep ya imkansız, ya çok zor ya da birilerinin “heveslediği” veya görmek “istediği” bir şeymiş gibi aktarılmaktadır. Fakat, durum onların böyle aktarmasına rağmen hiçbir zaman öyle olmadı. GNU/Linux’ta zaten oyun oynanmaktaydıDahası, buna Windows oyunları da dahil. GNU/Linux’un gelişimini (kullanım artışına paralel olarak) “oyun” endeksli düşünen bu insanlar Wine‘ı, Cedega‘yı (malesef bitti), Crossover‘ı, ve PlayOnLinux‘u ya görmezlikten geldi, ya kullanmasını karmaşık gösterdi (yani üşendi) ya da “istedikleri” oyunların çalışmadığını iddaa etti. Bunların dışında, id Software oyun motorlarını GPL ile lisanslayıp açarken, oyunlarına GNU/Linux desteği verirken veya GarageGames veya Epic Games veya Bioware v.d. oyun(lar)ına bu desteği verirken nedense beklenen o “etki” veya “heyecan” bir türlü bu “hevesli” ve “istekli” insanlarda görülmedi. Peki bu firmalar bu konuda desteklenmedilerse -veya desteklenmezlerse- bir sonraki oyunlarında GNU/Linux desteği vermeleri olası mıdır sizce? Bu konuda sizlere biraz daha ayrıntı vereyim.

id Software’in ioquake 3 -13 yıllık- motoru ile yapılan GNU/Linux oyunlarına bir bakacak olursak, Urban Terror, Tremulous, Smokin’ Guns, OpenArena ve World of Padman gibi çok büyük oyuncu kitlesine hitap eden oyunlar. Bunları örnek göstermemin nedeni bu oyunların 13 yıllık bir motora rağmen bugün bile devamlı oynanması, bağımsız geliştiricilerin bu tarz büyük yazılım firmalarının da desteği ile mükemmel modifikasyonlar hazırlayabilmesidir. Yani, “destek” verildikten sonra -ve görmezden gelinmezse- bağımsız olarak GNU/Linux için de çok iyi oyunlar hazırlanabilir, bu oyunlarla GNU/Linux kullanıcılara cazip gösterilebilir -eğer masaüstü kullanıcısının “oyun” mantıklı olduğunda ısrarcıysanız-. Bir diğer nokta da üzerinden bir on yıl daha geçse iyi bir oyun -ya da mod- “kalitesinden” bir şey kaybeder mi? Kalite elbette anlam olarak sizin ondan ne aldığınız, yani beklentinizin karşılanma derecesidir. Bir diğer deyişle, Mercedes kullanmayan biri için Mercedes kaliteli olmaz. Bu oyunlara da bir örnek vermem gerekirse; Starcraft oynamaktan ya da Fallout 2 v.s. oynamaktan bir “oyuncu” bıkabilir mi?

Steam, çıkışından epey bir zaman geçtikten sonra GNU/Linux’a da gelmesi ile bu oyunseverleri (ben de dahil ama hatamdan döndüm) heyecanlandırdı ve GNU/Linux’u bir oyun canavarına dönüştüreceği -bazıları için de Windows’tan GNU/Linux’a göç- algısı yarattı. Fakat, Steam zaten Wine üzerinden sorunsuz çalışmaktaydı. Burada amaç pazarı genişletmek (el değmemiş ya da kısmen değmiş bir alan olarak GNU/Linux oyun pazarı) ve bunda öncü olmaktı. Beraberinde Drm’li oyunlar, az oyun desteği (artıyor ama her geçen gün), açık kaynağın kapalı kaynakla dolması gibi bir sürü sıkıntıyı getirdi. Kullanıcı özgürlüğü tehdit edilmeye başlandı. Buradaki özgürlük tehdidi Stallman’ın dediği gibi ücretli olması veya kopya satılması değil, “özgür” olmayan bir yazılımdan kaynaklanıyor olmasıdır.

Şimdi ise gündemde SteamOS var. Hakkında söylenen bir sürü şey var, çoğu belki de söylendiği ile kalacaktır, bilemeyiz. Israrla vurgulanan “free” için benim şahsi görüşüm SteamOS’un “ücretsiz” olacağı yönünde (ki öyle). “Özgürlük” anlamında bir “free“‘yi ben şahsen beklemiyorum. Umarım bu konuda yanılırım. Bir diğer şey, Amazon vb. sunucularla film ve müzik konusunda anlaşmaya çalışması. Donanım konusunda ne tür bir yol izleyeceği üzerine spekülasyonlar var. Elbette her şey istenildikten sonra bulandırılabilir, altında anlamsız art niyet arananabilir. Benim ise bu duyuruya istinaden sormak istediğim bazı sorularım olacak. Fakat, soruları daha iyi anlayabilmeniz -ve açık kaynağı, hatta GNU/Linux’u- için sizlere kısaca bilim etiğinden bahsedeyim. Bilimsel araştırmalarda bulgular test edilmek ve geliştirilmek üzere başkalarının kullanımına sunulur. Aynı şekilde GNU/Linux ve uygulamaları da başkalarının kullanımına, geliştirilmesine ve yeniden dağıtılmasına sunulur. İşte bahsedilen “bilim etiği” ya da “açık kaynak” budur.

  1. SteamOS Linux tabanlı ve “free” yani ücretsiz olabilir. Fakat beraberinde oyun yapımcıları, oyunlarının bundan sonra “açık kaynak” olmasını isteyecekler mi?
  2. Steam ile gelen DRM, SteamOS ile gelmeye devam edecek mi?
  3. (Eğer anlaşırlarsa) Amazon sunucularından kim film izlemek ve müzik dinlemek ister?
  4. Eğer oyun firmaları (hepsi şart değil, bazıları da kabulüm) kapalı kaynakta ısrarcı olursa, açık kaynağı kapalı kaynakla doldurmak (oyun tercihleri doğrultusunda) ne kadar mantıklıdır?
  5. Israrla üzerinde durulan “özgürlük” kavramı bundan nasıl ve ne kadar etkilenir?
  6. Fayda ile eş zamanlı gelecek zararı (Drm, Amazon, kapalı kaynak vd.) kabul etmek ne kadar etik bir davranış olur?
  7. Bütünün değil de bütünün bir parçasının açık kaynak içermesi, bütünün kalanının kapalı kaynak olmasını gözardı etmeye yeter mi?
  8. Eğer belirli donanımlarda çalışacaksa o zaman bu tekelcilik yaratmaz mı? Onu da geçtim biz bu donanımların chipsetlerine nasıl güvenebiliriz? Peki aynı şekilde firmware’lar ne olacak?

Sorular çoğaltılabilir. O size kalmış. Benim sormak istediğim başlıca sorular bunlar. Elbette ilerleyen günlerde neler olur, ne tür gelişmeler yaşanır bilemeyiz. Bekleyip hep birlikte göreceğiz.

Tagged , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,