An open source application by definition is software that you can freely access and modify the source code for. Open source projects typically are worked on by a community of volunteer programmers. Open source GIS programs are based on different base programming languages. Three main groups of open source GIS (outside of web GIS) in terms of programming languages are: “C” languages, Java, and .NET.
The first group would be the group that uses “C” language for its implementation. This is the more mature of the groups of open source GIS, probably for the simple reason that is the group that has been working on GIS software applications the longest and has a long history of reuse of code. The libraries in the “C” group, from the base infrastructure, and include some capabilities like coordinate re-projection that make them very useful and popular. Popular “C” based open source GIS software applications comprise GRASS, a project started in 1982 by the US Army but is now open source, and QGIS (otherwise known as Quantum GIS).
The second group of Open Source GIS would be the ones that use JAVA as the implementation language. JTS, central library for the Java GIS development, offers some geospatial functions that allow to compare objects and return a Boolean true/false result indicating the existence (or absence) of any questioned spatial relationship. Other operators, like Union or Buffer, which are very hard to code, are offered in this group making it very appreciated by GIS developers. GeoTools, GeoServe, and OpenMap, are among the most popular open source GIS in this group of JAVA tools.
The third most dominating group of Open Source GIS would be the one that integrates applications that use “.NET” as the implementation language. SharpMap and WorldWind are the most popular of these applications.
Outside of the three major language groups, open source web mapping is another group. Population open source web mapping includes OpenLayers and MapBuilder, widely used due to their simplicity and ease of use.