Saturday, February 9, 2013

all about open source 4


Open source technology is a growing trend in GIS, but what is it? Open source software is software in which the source code used to create the program is freely available for the public to view, edit, and redistribute. Any type of software program can be open source, including operating systems (e.g., Linux), databases (e.g., PostgreSQL), applications (e.g., OpenOffice.org), games, and even programming languages (e.g., Python).
see enlargement
Esri Geoportal Server includes add-ons to access and search geoportals from within web apps built with ArcGIS Web Mapping APIs.
Open source software is identified by the type of license it is released under. These licenses include the Apache 2.0 license, the Microsoft Public License, and the GNU General Public License. While there are some variations, most open source licenses require that the source code be freely available and users are free to modify the source code and redistribute the software and derived works.
Non-open source software is called closed source or proprietary software.
The open source license encourages a shared community approach to the development, extension, and patching of open source software. Most open source projects have a dedicated group that moderates and directs the core software development and ensures that needed new features are being developed, bugs are being fixed, and the supporting documentation remains current. Sometimes an open source project will "fork," meaning a group of developers will lead the development of the software that is independent of the original project. Improvements in the "fork" project could either become incorporated into the core project or evolve into a completely new project.

Isn't Open Source Free?

A common misconception is that open source software is free, meaning without cost. While often true, that is not always the case. Open source only requires that a program's source code be freely available; the program itself may still be sold commercially. So what's the difference between a program's source code and the program itself?
see enlargement
A hybrid relationship.
Developers create a software program by writing its source code using a computer programming language, such as C++ or Java. The source code is a series of commands, processes, and interfaces that tell the computer program how to behave. A computer cannot look at source code and know how to run the program. The source code needs to be translated from the developer's programming language to a machine binary language (0s and 1s) that the computer can read.
The developer does this translation by running the source code through another program called a compiler. The compiler translates the source code into the binary language that the computer can read and execute. Compilers not only make it possible for computers to run the program but also make the programs more efficient by optimizing the file sizes and checking for errors. Since it is often difficult to reverse the translation, compiling helps protect the integrity of the source code.

No comments:

Post a Comment