Skip to main content

What is open source?



The term "open source" refers to something people can modify and share because its design is publicly accessible.

The term originated in the context of software development to designate a specific approach to creating computer programs. Today, however, "open source" designates a broader set of values—what we call "the open source way." Open source projects, products, or initiatives embrace and celebrate principles of open exchange, collaborative participation, rapid prototyping, transparency, meritocracy, and community-oriented development.

What is open source software?


Open source software is software with source code that anyone can inspect, modify, and enhance.

"Source code" is the part of software that most computer users don't ever see; it's the code computer programmers can manipulate to change how a piece of software—a "program" or "application"—works. Programmers who have access to a computer program's source code can improve that program by adding features to it or fixing parts that don't always work correctly.

What's the difference between open source software and other types of software?


Some software has source code that only the person, team, or organization who created it—and maintains exclusive control over it—can modify. People call this kind of software "proprietary" or "closed source" software.

Only the original authors of proprietary software can legally copy, inspect, and alter that software. And in order to use proprietary software, computer users must agree (usually by signing a license displayed the first time they run this software) that they will not do anything with the software that the software's authors have not expressly permitted. Microsoft Office and Adobe Photoshop are examples of proprietary software.

Open source software is different. Its authors make its source code available to others who would like to view that code, copy it, learn from it, alter it, or share it. LibreOffice and the GNU Image Manipulation Program are examples of open source software.

As they do with proprietary software, users must accept the terms of a license when they use open source software—but the legal terms of open source licenses differ dramatically from those of proprietary licenses.

Open source licenses affect the way people can use, study, modify, and distribute software. In general, open source licenses grant computer users permission to use open source software for any purpose they wish. Some open source licenses—what some people call "copyleft" licenses—stipulate that anyone who releases a modified open source program must also release the source code for that program alongside it. Moreover, some open source licenses stipulate that anyone who alters and shares a program with others must also share that program's source code without charging a licensing fee for it.

By design, open source software licenses promote collaboration and sharing because they permit other people to make modifications to source code and incorporate those changes into their own projects. They encourage computer programmers to access, view, and modify open source software whenever they like, as long as they let others do the same when they share their work.

Is open source software only important to computer programmers?


No. Open source technology and open source thinking both benefit programmers and non-programmers.

Because early inventors built much of the Internet itself on open source technologies—like the Linux operating system and the Apache Web server application—anyone using the Internet today benefits from open source software.

Every time computer users view web pages, check email, chat with friends, stream music online, or play multiplayer video games, their computers, mobile phones, or gaming consoles connect to a global network of computers using open source software to route and transmit their data to the "local" devices they have in front of them. The computers that do all this important work are typically located in faraway places that users don't actually see or can't physically access—which is why some people call these computers "remote computers."

More and more, people rely on remote computers when performing tasks they might otherwise perform on their local devices. For example, they may use online word processing, email management, and image editing software that they don't install and run on their personal computers. Instead, they simply access these programs on remote computers by using a Web browser or mobile phone application. When they do this, they're engaged in "remote computing."

Some people call remote computing "cloud computing," because it involves activities (like storing files, sharing photos, or watching videos) that incorporate not only local devices but also a global network of remote computers that form an "atmosphere" around them.

Cloud computing is an increasingly important aspect of everyday life with Internet-connected devices. Some cloud computing applications, like Google Apps, are proprietary. Others, like ownCloud and Nextcloud, are open source.

Cloud computing applications run "on top" of additional software that helps them operate smoothly and efficiently, so people will often say that software running "underneath" cloud computing applications acts as a "platform" for those applications. Cloud computing platforms can be open source or closed source. OpenStack is an example of an open source cloud computing platform.

Why do people prefer using open source software?


People prefer open source software to proprietary software for a number of reasons, including:

Control

Many people prefer open source software because they have more control over that kind of software. They can examine the code to make sure it's not doing anything they don't want it to do, and they can change parts of it they don't like. Users who aren't programmers also benefit from open source software, because they can use this software for any purpose they wish—not merely the way someone else thinks they should.


Training

Other people like open source software because it helps them become better programmers. Because open source code is publicly accessible, students can easily study it as they learn to make better software. Students can also share their work with others, inviting comment and critique, as they develop their skills. When people discover mistakes in programs' source code, they can share those mistakes with others to help them avoid making those same mistakes themselves.

Security


Some people prefer open source software because they consider it more secure and stable than proprietary software. Because anyone can view and modify open source software, someone might spot and correct errors or omissions that a program's original authors might have missed. And because so many programmers can work on a piece of open source software without asking for permission from original authors, they can fix, update, and upgrade open source software more quickly than they can proprietary software.

Stability


Many users prefer open source software to proprietary software for important, long-term projects. Because programmers publicly distribute the source code for open source software, users relying on that software for critical tasks can be sure their tools won't disappear or fall into disrepair if their original creators stop working on them. Additionally, open source software tends to both incorporate and operate according to open standards.




Comments

Popular posts from this blog

Alternative FOSS Software for Popular Premium Software

In the present software has become more expensive than hardware parts, normally  we can buy average laptop under $500 but we have to spend nearly $200 just only for operating system. We all know operating system cannot fulfill all our computerized needs, so we have to buy other software too. Most of people used to use popular software because they can easily find tutorials for popular software and the developers of those software invest more money for their advertising.   A considerable amount of computer users do not pay for their software, they use cracks, patches and different kind of technologies to use premium software without paying. Most of those cracks and patches are not 100% clean they comes with spyware , adware etc... We can use open source software instead of using cracked premium software. Here are some best alternative software for popular premium software.   Ardour Ardour is good alternative for audio re...

Introduction To Linux Shell Scripts

I hope everyone heard about Linux Operating System before. Like other Operating Systems Linux also is made of many components. But here to get an Introduction to the Linux Shell Scripts, we need to know about its major/important components Kernel and Shell . We studied that Operating System is a software that manages computer Harware and provide an interface between Computer Hardware and Users/Softwares. Kernal is the component/program responsible for first task of an OS, that is managing computer Hardware. And Shell is the component/program responsible to provide the interface for the users/softwares with hardware. We can graphically get an idea of it as shown in following Image. Kernal and Shell of Linux OS Let's see about Linux Shell more in details. A shell is program which acts like an interpreter. It convert human readable commands received from input devices into something which kernel can understand. The shell starts to run when a user logs in or pr...

What is Blockchain Technology ? An Introduction for Beginners

You all may have know or have heard about Bitcoin or other cryptocurrencies names. Those all digital currencies are reference to Blockchain  Technology. Simply, Blockchain is a critical element of cryptocurrencies. Because without Blockchain, Bitcoin or other cryptocurrencies would not exist. Cryptocurrencies was a concept of the domain of cryptography and data structure in computer science. Merkle tree or hash tree is the primitive form of the Blockchain. Ralph Merkle introduced this data structure in 1979. A series of data records (a secured chain of blocks) was created using this Merkle tree and each connected to the one before it.  When we create a new record in this chain, that record would contain the history of the entire chain and that's how the Blockchain was created.  Distributed blockchain was intoduced by Satoshi Nakamato in 2008 and this was the backbone of Bitcoin. Let's try to undersatnd how blockchain works. Blockchain always keeps a rec...

What is A-Frame.io

What is aframe?? Before i get this i like to ask from you, Did you ever have get a virtual reality? Someones are Yes! or Not!, Do you like to get that experience? So here it is. A-Frame is a web framework for building virtual reality (VR) experience. This web frame is an open source webframe work who can develop many things. It is primary maintained by Mozilla and WebVR community. But originally from Mozilla. A-Frame was developed to be an easy but powerful and easy way to develop VR content. As an open source project, A-Frame has grown to be one of the largest and most welcoming VR communities. A-Frame is based on top of HTML, simple to get started. But A-Frame is not just 3D scene graph or markup language. It is an entity component system framework for three.js  where developers can create 3D WebVR  scenes using HTML.  Nowadays HTML provides a familiar tool for web developers and designers while incorporating a popular game development pattern used by Game eng...

First Step to Open CV (Open Computer Vision Library) Part 1

Introduction  Hello , I am going to setup the Open CV on windows OS. Open CV is in under open-source BSD license. Originally developed by Intel and this is supports the deep learning frameworks like TensorFlow. OpenCV's application areas include: 2D and 3D feature toolkits Egomotion estimation Facial recognition system Gesture recognition Human–computer interaction (HCI) Mobile robotics Motion understanding Object identification Segmentation and recognition Stereopsis stereo vision: depth perception from 2 cameras Structure from motion (SFM) Motion tracking Augmented reality It is written by mainly C++ interface and supported C++,python,java even android package,Matlab,C# for development. Therefore this tutorial I am going to use python language. Installations If you haven't already installed python get it here (My version is 2.7) and install it. Then Download and install OpenCV here (My version is Open CV 2)   Configure system variable...

How to work with Docker

Many developer people are saying, "I am really  exiting about docker. " Because every body keep saying docker is awesome. So today we are going to learn about Docker. What is Docker? Docker is a tool designed to make it easier to create, deploy, and run applications by using containers. Containers allow a developer to package up an application with all of the parts it needs, such as libraries and other dependencies, and ship it all out as one package. By doing so, thanks to the container, the developer can reset assured that the application will run on any other linux machine regardless of any customized settings that machine might have that could differ from the machine used for writing and the testing code. Docker is bit a like a virtual machine . But unlike a virtual machine, rather than creating a whole virtual operating system, docker allows applications to use the same linux kernel as the system that they are running on and only requires applications be shipped w...