Apache Yazılım Kuruluşu (Apache Software Foundation)
Apache, açık kaynak kodlu, dağıtımı bedava olan yazılımlar üreten kar amaçsız bir kuruluştur. Adını Apache HTTP Server'la duyurdu. Netscape nasıl web browser deyince akla gelen ilk isim, Apache de web server deyince akla gelen ilk isim oldu. Apache HTTP Server, bir çok rakibi çıkmasına rağmen dünyanın en fazla kullanılan web server'ıdır.
Apache, HTTP server'ın dışında bir çok projenin geliştirildiği bir kuruluş. Bu projelerin çoğu HTTPServer'ı tamamlamak amacıyla düşünülmüş. Ancak ortaya çıkan ürünler web server ortamının dışında da kullanılabiliyor. Apache projeleri, ana projeler ve onların alt projeleri şeklinde katagorize edilmiş.
Kar amacı gütmeyen bir kuruluş olmasına rağmen projeleri gerek resmi gerek özel kuruluşlar tarafından destekleniyor. Bunun dışında bireylerde istedikleri projelere katılabiliyor. Ayrıca geliştiricilerin projelşere katılmadan, kaynak kodları alıp değiştirerek kullanmaları da mümkün.
Projeleri İndirme
Bütün projeler Apache'nin web sitesinden indirilebiliyor. Ziyaretçilere çeşitli indirme seçenekleri sunuluyor. Binary Distribution'lar : sadece projeyi alıp kullanmak için. kaynak kodları nın içermiyor. Daha az yer kapladıkları işin daha çabuk iniyorlar. Source Distribution'lar kaynak kodunu da içeriyor. Projeyi alıp üzerinde değişiklik yapmak isteyenler için.
Sitenin projeleri çok sayıda talep edildiği için çeşitli mirror'larda bulunuyor. Kullanıcı kendi ülkesinden veya yakın bir konumdan bir projeyi indirebiliyor. Dikkat edilmesi gereken bir husus da hangi versiyonun indirileceği. Zira projelerin sadece son versiyonları bulunmuyor sitede. Nightly Build'ler bir kaç gün içinde geliştirilmiş, henüz testten geçmemiş özellikler içeriyor. Milestone'lar belli bir testten geçmiş ama tam olarak test edilmip yayına hazır hale getirilmemiş olan projeler. Release versiyonlarsa test edilmiş kullanıcıların kullanımın hazır olan sağlam versiyonlardır.
Bir projeyi sadece kütüphane veya uygulama olaark kullanacaklar için milestone versiyonlar tavsiye edilir. Ancak bir projede diyelim ki bir özellik size lazım ve o da yeni, stable olmayan versiyonda var. Eğer milestone build'se alıp kullanabilirsiniz. Ancak bugları çıkabilir. Elbette bu bug'ı bildirmeniz durumunda çok kısa sürede düzeltildiğini görebilirsiniz. Bu şekilde projenin gelişmesine katkıda da bulunabilirsiniz. Elbette yeni bir özelliği çok ihtiyacınız yoksa stable olan release versiyonundakalın, yeni özellikler realse edilnceye kadar bekleyin.
Ana projeler
- HTTP Server
- Apache'nin Web Server'ı
- Ant
- Java Development Tool'u. C'deki Make'in yapatığını Java'da yapmak için. XML configuration'ları yazarak, geliştirme yaparken derleme, çalıştırma, arşivleme, klasör yaratma ve silme gibi temel 'task'ları kolayca yapabilmenizi sağlıyor.
- APR Portable Runtime
- HTTP Server'da veya diğer projleerde de kullanılan taşınabilir (bir çok işletim sisteminde kullanılabilir) C kütüphanelerinden oluşan runtime.
- Avalon
- Java'da büyük projeleri birbirinden ayrı kişilerin geliştirebilmeleri için hazırlanmış çerçeve. Bir component'in değiştirlmesi veya başka birileri tarafından tekrar yazılması sistemin bütününü etkilemesin diye üretilmiş.
- Cocoon
- Java platformuna ve XML teknolojisine dayanan, içerik yayınlamak için yapılmış bir çerçeve. Online yayıncılık yapan, çok miktarda içerik barındıran siteler için.
- Commons
- Java ve C gibi diller için Bir çok projede kullanılan ortak kütüphaneleri içeriyor. Aynı şeyleri tekrar tekrar yapmamak için düşünülmüş.
- DB
- Apache'nin veri tabanı projesi. Açık kaynak kodlu ve serbestçe dağıtılabilen bir veritabanı geliştimek için başlatılmış.
- Incubator
- Bir projenin Apache projesi haline gelirken geçtiği aşama. Bir proje bu aşamayı geçtikten sonra bir Apache projesi haline gelir. Çeşitli kuruluş ve bireyler bu şekilde kendi projelerini Apache'ye verebilirler.
- Jakarta
- Çeşitli Java projeleri içeren Jakarta, Tomcat (Java Application Server), Struts (MVC mantığıon göre JSP ve Servlet yazmak için bir çerçeve) gibi projler var. POI (Poorly Obfuscation Implementation - Zavallı Gizleme Uygulaması) adında ilginç isimli bir poje var. Microsofrun OLE ve Excel belgelerini Java'da okumaya yarıyor. Bu ismi almasının nedeni Micsoroft'un OLE ve Excel dosyalaını bilerek karmaşıklaştırmaya çaşılıştığı için bu ismi almış. Ne kadar karıştırırsa karıştırsın biz çözdük demek.istiyor.
- James
- Java da mail server çerçevesi. SMTP, POP3, IMAP'i destekliyor. NNTP desteği de bulunan James'de Maillet gibi bir yapı var. Bir mail geldiğinde yapılacak işleri beriltiyorsunuz James, gelen maillere bu Maillet'i otomatik olarak uyguluyor.
- Maven
- Java da proje yönetimi ve projelere dahil olanların projeyi anlamasına va daha kolay takip etmesine yarayan çerçeve.
- Perl
- Perl diliyle ilgili proje.
- TCL
- TCL scipting diliyle Apache Web server'ı entegre etmek için geliştirilen proje.
- Perl
- Perl diliyle ilgili proje.
- Web Services
- XML-RPC, SOAP gibi Web Services'le ilgili projeler.
- XML
- Xerces (XML Parser), Xalan (Stylesheet Processor), FOP (Formatting Object Pojessor) XIndice (Native XML Database) gibi alt projeler içeriyor.