Importance of Open Source And why GitHub
First, before knowing the importance of we should know what is Open source (here I am assuming that you all are beginners).
Open source is a term that originally referred to open source software (OSS). Open source software is code that is designed to be publicly accessible—anyone can see, modify, and distribute the code as they see fit.
Open source software is developed in a decentralized and collaborative way, relying on peer review and community production. Open source software is often cheaper, more flexible, and has more longevity than its proprietary peers because it is developed by communities rather than a single author or company.
It has become a movement and a way of working that reaches beyond software production. The open source movement uses the values and decentralized production model of open source software to find new ways to solve problems in their communities and industries.
Lemme tell you the history of Open Source now.
History of Open Source.
In the 1950s and 1960s researchers developing early internet technologies and telecommunication network protocols relied on an open and collaborative research environment. The Advanced Research Projects Agency Network (ARPANET), which would later become the foundation for the modern internet, encouraged peer review and an open feedback process. User groups shared and built upon one another’s source code. Forums helped facilitate conversation and develop standards for open communication and collaboration. By the time of the birth of the internet in the early 1990s, the values of collaboration, peer review, communication, and openness were written into its foundations.
How does an open source model making money ?
There are many ways by which open source companies make money:
- Training: There are many open source software that are not easy to use without some prior knowledge like Apache's Hadoop is free to use but it is too complex for anyone to use. In such cases, companies provide online or offline training and earn money.
- Advertisement: Open source companies also earn money by displaying advertisement on top or bottom of the screen.
- Special Plugins: Companies also hire programmers to create special plugins then by selling these plugins they earn money.
- Sell Binaries: Some open source code cannot be run directly, it must be complied into what is called binary or machine code. By selling these binaries companies earn money.
What are the values of open source?
There are lots of reasons why people choose open source over proprietary software, but the most common ones are:
- Peer review: Because the source code is freely accessible and the open source community is very active, open source code is actively checked and improved upon by peer programmers. Think of it as living code, rather than code that is closed and becomes stagnant.
- Transparency: Need to know exactly what kinds of data are moving where, or what kinds of changes have happened in the code? Open source allows you to check and track that for yourself, without having to rely on vendor promises.
- Reliability: Proprietary code relies on the single author or company controlling that code to keep it updated, patched, and working. Open source code outlives its original authors because it is constantly updated through active open source communities. Open standards and peer review ensure that open source code is tested appropriately and often.
- Flexibility: Because of its emphasis on modification, you can use open source code to address problems that are unique to your business or community. You aren’t locked in to using the code in any one specific way, and you can rely on community help and peer review when you implement new solutions.
- Lower cost: With open source the code itself is free—what you pay for when you use a company like Red Hat is support, security hardening, and help managing interoperability.
- No vendor lock-in: Freedom for the user means that you can take your open source code anywhere, and use it for anything, at anytime.
- Open collaboration: The existence of active open source communities means that you can find help, resources, and perspectives that reach beyond one interest group or one company.
The Importance of Open source.
Open source software is doing something very similar to what science has been doing over the past couple hundred years. General science - research done into physics, biology, mathematics, etc - is done in an environment of peer review. That means that science by its very nature is (mostly) open source; you have to share your science with other people so that they can evaluate it. When it's agreed to be solid, everyone can use that knowledge to keep advancing.
OS isn't perfectly analogous, but it has a lot in common. Tools are being created and shared so that more tools can be created. Sometimes you can take an existing tool that doesn't quite do what you want and modify it so that it's what you need. Sometimes you can take several other tools and combine them to create something new. The more this is done in an open environment, the more powerful tools we can create.
The fact that most open source software is also available for use free of charge means that "we" in this context means a much larger group than it would if we were talking about software that has to be paid for.
Open source software is important because it promotes the development of powerful software tools which we are increasingly reliant on.
What’s the difference between free, closed, and open source software?
For a long time open source software held the earlier label of “free software.” The free software movement was formally established by Richard Stallman in 1983 through the GNU Project. The free software movement organized itself around the idea of user freedoms: freedom to see the source code, to modify it, to redistribute it—to make it available and to work for the user in whatever way the user needed it to work.
Free software exists as a counterpart to proprietary or “closed source” software. Closed source software is highly guarded. Only the owners of the source code have the legal right to access that code. Closed source code cannot be legally altered or copied, and the user pays only to use the software as it is intended—they cannot modify it for new uses nor share it with their communities.
The name “free software,” however, has caused a lot of confusion. Free software does not necessarily mean free to own, just free to use how you might want to use it. “Free as in freedom, not as in beer” the community has tried to explain. Christine Peterson, who coined the term “open source,” tried to address this problem by replacing ‘free software’ with ‘open source’: “The problem with the main earlier label, ‘free software,’ was not its political connotations, but that—to newcomers—its seeming focus on price is distracting. A term was needed that focuses on the key issue of source code and that does not immediately confuse those new to the concept.”
Peterson proposed the idea of replacing “free software” with the term “open source” to a working group that was dedicated, in part, to shepherding open source software practices into the broader marketplace. This group wanted the world to know that software was better when it was shared—when it was collaborative, open, and modifiable. That it could be put to new and better uses, was more flexible, cheaper, and could have better longevity without vendor lock-in.
Eric Raymond was one of the members of this working group, and in 1997 he published some of these same arguments in his wildly influential essay “The Cathedral and the Bazaar”. In 1998, partly in response to that essay, Netscape Communications Corporation open sourced their Mozilla project, releasing the source code as free software. In its open source form, that code later became the foundation for Mozilla Firefox and Thunderbird.
Netscape’s endorsement of open source software placed added pressure on the community to think about how to emphasize the practical business aspects of the free software movement. And so, the split between open source and free software was cemented: “open source” would serve as the term championing the methodological, production, and business aspects of free software. “Free software” would remain as a label for the conversations that emphasized the philosophical aspects of these same issues as they were anchored in the concept of user freedoms.
By early 1998 the Open Source Iniciative (OSI) was founded, formalizing the term open source and establishing a common, industry-wide definition. Though the open source movement was still met with wariness and corporate suspicion from the late 1990s into the early 2000s, it has steadily moved from the margins of software production to become the industry standard that it is today.
Why Dev’s love GitHub more !!
GitHub hosts 85M code repositories and has 28M users, which is more than the population of Australia. In this article, we will find out exactly why GitHub is so popular.
GitHub is the world’s largest software development platform. It provides cloud storage for source code, supports all popular programming languages, and streamlines the iteration process.
At its core, the platform uses the Git system which controls revisions and runs in the command line interface.
Reason #1: Immensely Powerful Community
GitHub is an open-source platform, and the community is really what fuels it. There are millions of programmers and hobbyists that download, review, and evaluate each other's work.
Moreover, GitHub is the platform of choice for developers from various large corporations, too. Microsoft is the number one contributor to the system, but there are also Google, SAP, AirBnB, IBM, PayPal, and many others.
Reason #2: The Largest Shared Repository
Unless you develop a very sensitive project, you’d be silly to not post your code on GitHub. Pushing the project to a shared, public repository makes it instantly discoverable for those 28M users.
Exposure and insight that you can get on GitHub are simply unmatched by any other platform. And this goes the other way around — you can discover code written by others, learn from it, and even use it for your own projects.
Reason #3: Easy Version Control
Versions control on GitHub works much like on MS Office or Google Drive — it tracks all the changes made to your code and who makes them. You can always review the detailed changelog that neatly hosts all of the relevant information.
Having such a version history is a must when you collaborate with someone on the same project. Especially when the number of contributors surpasses double digits.
Reason #4: A Myriad Of Integrations
GitHub Integrations
From apps that connect GitHub to your Amazon and Google Cloud accounts, to project management tools, the platform provides a huge choice of integrations for code review automation, continuous integration, code performance and error monitoring, and task management.
The prices vary, although some apps have free trials, and a few even offer limited free plans.
Reason #5: Secure Cloud Storage
GitHub Cloud
Using GitHub eliminates the need for complex corporate security solutions. The platforms protect all your data for you: protects code branches, verifies commit signing, controls access.
In case you don’t trust the cloud, you can always opt in for a GitHub Enterprise package and host all data on your own servers.