Speaking of open-source gems, it's tough to make it too far into this topic without mentioning Git. If you've been at all involved in the open source community recently then you're certainly familiar with it already. If not, then learning Git is a great place to start your journey into open-source tech.
Git is a distributed version control system that has taken the open-source world by storm. In contrast with most previous version control systems, everyone working on a project has access to their own copy of the source files. They can change them as they like, and then may merge their changes back into the main repository when their change is complete. This method allows hundreds of people to work on the same project at a time, and git's focus on branching and merging makes it painless to add experimental features. In addition to it's unique design, git is also blazing fast in comparison with it's competition.
Git has seamless integration with Github, a website dedicated to hosting open-source software that is managed with git. At any rate, I can yammer on about it, or you can just go check it out and start using it.
TLDR:
- Git's Distributed nature allows hundreds of people to work on a project at the same time.
- Git is fast and is built around the ideals of quick branching and merging
- Git's integration with Github (for hosting) make it a great choice for hosting open-source projects.
If you want to check out the source, of course you can find it on Github, read the documentation to learn how to contribute.
Follow me on twitter @chrislpenner to catch new articles as they come!
Hopefully you learned something 🤞! If you did, please consider checking out my book: It teaches the principles of using optics in Haskell and other functional programming languages and takes you all the way from an beginner to wizard in all types of optics! You can get it here. Every sale helps me justify more time writing blog posts like this one and helps me to continue writing educational functional programming content. Cheers!