has become the default collaboration tool for many tech innovations ranging from simple ideas such as to massive enterprise-backed open-source software development projects such as . I used to think of GitHub as a website for hosting source code repositories in the cloud. Today, I see it as the foundation for collaborating on big ideas. GitHub Reactive Programming Microsoft’s .NET If you’ve looked at in the past, you may have been turned off by all the technical jargon and the fact that you had to use the . Nowadays, you can do everything through a web interface, and although the technical jargon hasn’t gone away, I’d argue that it actually helps you think about the collaboration process in a more structured way. GitHub terminal Decentralized Decision Making At the heart of GitHub is this concept called a “pull request”. A pull request is simply a request made by a contributor to incorporate changes to some information. This transaction is much like letting your spouse know that you’re going to hang out with your friends after work instead of coming home. The purpose isn’t to ask permission, but to allow a decision to be challenged before making a commitment. Understanding this distinction is key to understanding the process behind decentralized decision making and solving problems at scale. When you make a pull request (PR), the other team members can see a visual diff of the lines of text that were changed and see what the new text will look like if the PR is accepted. They can also leave comments, suggest improvements, and require additional changes that prevent the PR from being accepted without their explicit approval. Once a PR is accepted, the changes are applied and the PR is archived. Later, you can view a file and use the “ ” tool to find the specific PR where the change was introduced. This is especially helpful when you want to know why a particular change was made months down the road after everyone has forgotten the original discussion. blame In the past, meetings were used to collaborate on decisions. Today, pull requests offer many benefits: Participants don’t need to be available at the same time to have a discussion. A discussion doesn’t have to fit within the timeframe of a meeting. Some problems take a long time to solve, and it’s unrealistic to think that every problem can be solved within a 1-hour meeting (or 8 hours even). The entire discussion is documented and linked to the physical line of text that is being changed. PR owners are less likely to leave key people out of a decision. It’s very easy to setup a process that notifies people whenever there’s a change in an area that they care about. Pull requests revolutionize the way teams collaborate on ideas. They allow specialization of knowledge without sacrificing time and quality of outcome. And more features Source Control Most collaboration provide document history. This is great if you want to view a single file in the past. But it doesn’t allow you to see what your entire project looked like at the time a particular change was introduced. Often times, you need to see the content of multiple related files to understand the full picture. GitHub also allows linking to files at a specific revision. This is helpful when you need to reference things in the past. tools Folder Structure and Search GitHub organizes files using folders just like your computer. You can easily search for a file by its full path using the . You can also create “ ” to files. This makes it easy to link to other files in the project. File Finder relative links Markdown Formatting Markdown is a simple way to add style to your text without getting technical. It removes the need for a WYSIWG editor, and it’s much easier to work with. Think of it like HTML without all the syntax of HTML. Editing Files Online It’s now possible to directly from the website and create a pull request. You no longer need to edit files locally and type “git commands” in the terminal. edit files Using GitHub for any project GitHub isn’t just a tool for developers. It can be used for many kinds of knowledge work. Not only does it allow for better quality control, it provides a workflow that allows teams to scale as problems become more complex. See how Kubernetes uses GitHub to document their project. Update: Check out my video tutorial to see how GitHub can be used without getting too technical: is how hackers start their afternoons. We’re a part of the family. We are now and happy to opportunities. Hacker Noon @AMI accepting submissions discuss advertising &sponsorship To learn more, , , or simply, read our about page like/message us on Facebook tweet/DM @HackerNoon. If you enjoyed this story, we recommend reading our and . Until next time, don’t take the realities of the world for granted! latest tech stories trending tech stories