Bilgisayar yazılımları üç ana başlık altında değerlendirilir. Buna göre bilgisayar yazılımları uygulama yazılımları, sistem yazılımları ve çevirici yazılımlar olarak sınıflandırılmıştır. Çevirici yazılımlar herhangi bir dilde yazılmış olan programı makine diline çevirirler. Uygulama yazılımları kullanıcıların bordro, çek, senet, stok kontrol gibi çeşitli kayıtlarını tutmalarına destek olan yazılımlardır. Sistem yazılımları ise bilgisayarların kendini işletebilmesini işlevini yerine getirmesini sağlayan derleyiciler, işletim sistemi çeşitli donatılar gibi yazılımlardır.
Open source ya da açık kaynak yazılımı, açık kaynak kodlu yazılım adı ile de anılır ve ayrıntılı bir tanıma sahiptir. Bu tanıma göre telif hakkı sahibinin kullanıcılara kaynak kodunu ve yazılımı herhangi bir amaç için kullanmak, değiştirme, inceleme, dağıtma haklarını verdiği bir lisans dahilinde yayınlanan bilgisayar yazılımları açık kaynak yazılımıdır.
Açık kaynaklı yazılım, genel olarak daha ekonomik ve esnek kabul edilen yazılım topluluğu mantığı ile ilerleyen, bir firma ya da bir kişiden ziyade topluluklar tarafından geliştirilen yazılım türüdür. Halka açık bir şekilde ortak çalışmaya dayalı olan açık kaynaklı yazılımlar geniş bir tarihçeye de sahiptir. İlk kez 80’li yıllarda proje olarak başlatılmıştır.
Geleceğin yazılım geliştirme modeli olarak gösterilen açık kaynak yazılım, gitgide daha da genişleyen dijital dünyada önemli bir role sahip olarak kabul edilmektedir. Open Source Software ya da kısaca OSS olan açık kaynak yazılım, kaynak kodunun herkese açık olduğu bir yazılım geliştirme modelidir. Açık kaynak yazılımının temel özellikleri şu şekildedir:
Birçok avantaj sağlayan açık kaynaklı yazılımlar daha hızlı inovasyon ve gelişim sağlar. Şeffaf kodlara sahiptir ve güvenliği oldukça güçlüdür. Büyük ölçekli şirketler açık kaynak veri tabanlarını kendi sistemlerine entegre edebilir ve bu sayede özelleştirilmiş çözümler geliştirilebilir. Açık kaynak projeler ayrıca akademisyenler, şirketler ve bireysel geliştiriciler tarafından da desteklenmektedir. Bu sayede ise hata düzeltmeleri mümkün olur ve yeni özellikler çok daha hızlı bir şekilde sunulabilir.
Gelecek adına önemli bir adım olarak değerlendirilen açık kaynak yazılımı geliştirilmeye açık olma özelliği ile de önemli görülmektedir. Açık kaynak yazılımı geliştirmek için şu adımlar önerilir: