Nah, ini bisa menjadi diskusi besar, saya akan mencoba memberi Anda beberapa poin cepat dalam beberapa kata. Anda dapat membandingkan perangkat lunak dalam daftar Anda dari sudut pandang pohon:
1) Pertunjukan
Di sini patokan yang sudah disarankan akan menjadi teman terbaik Anda, setidaknya untuk WMS
2) Layanan yang ditawarkan
Secara umum Anda dapat mempertimbangkan layanan mana yang ditawarkan dari perangkat lunak: layanan ini mungkin sesuai dengan standar web OGC (WMS, WFS, WCS, WPS, SOS, OCS ...) atau tidak.
GeoServer secara native menawarkan WMS, WCS dan WFS (untuk dua yang terakhir itu adalah implementasi referensi). Itu juga dapat memberikan dukungan untuk WPS dengan ekstensi.
MapServer menawarkan WMS, WFS, WCS dan SOS, tetapi sehubungan dengan GeoServer tidak memiliki fitur transaksional untuk WFS (WFS-T). Sehubungan dengan GeoServer dalam banyak kasus memiliki lebih sedikit arsitektur overhead (karena berfungsi dengan Apache httpd) dan memiliki daftar besar format data yang didukung melalui GDAL / OGR. Itu tidak memiliki antarmuka web admin yang bagus (seperti di GeoServer), tetapi mapfile dapat dengan mudah dimodifikasi dan disesuaikan melalui shell atau API skrip mapps.
Mapnik adalah perpustakaan yang kuat yang dapat digunakan sebagai WMS (dan menurut tolok ukur terakhir di FOSS4G 2010 kinerjanya sangat mengesankan).
Ada perangkat lunak lain yang tahu yang menyediakan implementasi untuk WPS (pyWPS, ZooProject, 52n WPS), untuk OCS (GeoNetwork) dan yang lainnya.
Jika Anda mempertimbangkan MapFish maka Anda mungkin perlu menambahkan daftar GeoDjango dan FeatureServer yang tidak menawarkan implementasi standar layanan web GIS. GeoNode adalah upaya keren untuk web2.0fy SDI (yaitu dengan tag dan hal-hal sosial).
Juga lihat anak baru di blok: TileMill, yang terutama didasarkan pada Mapnik, dan itu dibangun di atas kerangka node.js
3) Arsitektur
GeoServer dan GeoNetwork berbasis Java (sehingga mereka membutuhkan mesin servlet seperti Tomcat).
MapServer dan Mapnik berbasis C, dan mereka berjalan dengan baik di Apache httpd.
Semua perangkat lunak lainnya terutama didasarkan pada Python menggunakan kerangka kerja yang berbeda: MapFish menggunakan Pylons, GeoDjango dan GeoNode menggunakan Django, FeatureServer dan pyWPS menggunakan Python murni. Mereka semua dapat berjalan di httpd melalui modPython atau WSGI atau sebagai CGI.
Perhatikan bahwa hampir semua perangkat lunak ini didasarkan pada perpustakaan GDAL di mana-mana (sering bahkan ditemukan dalam perangkat lunak berpemilik).