Object Orientated Programming (OOP) is a type of programming in which programmers delineate not only the data type of a data structure, but also the types of functions to be applied to the data structure. Thereby, the data structure becomes an object that consists of both data and functions. In addition, relationships between the various objects can also be created. In order to perform object-oriented programming, one requires an object-oriented programming language (OOPL), such as Java and C++.
Open source is a democratic and transparent approach to design, development, and distribution offering physical accessibility to a product's source (content and knowledge). The principles and practices commonly include: free distribution, access to source code, room for modifications and derived works, no discrimination, technology-neutral and non-restricted licenses.
An operating system (commonly abbreviated to either OS or O/S) is a broad and complex software package that enables the computer hardware to communicate and operate with the computer software. Operating systems are responsible for the management and coordination of most computer functions, such as manipulating files and directories, use of memory for software applications, running programs and controlling the keyboard and screen. Microsoft Windows and MAC OS are examples of operating systems.