A quick introduction – Packages, Libraries, and Repos
Before we begin, if you’re familiar with these terms, you can skip to the next section. As software developers, we often bring other code into our own projects via “packages,” which are pre-built or pre-packaged libraries that others in the software development community create. At first this might seem strange. But one great thing about it is, the creators of these packages know very well the specific “thing” they’ve been working on. When smart people work really hard on a thing and then have others help them out on that thing (for peer reviews, sanity checks, etc.) not only does that thing improve, but others get to learn more about it, help out, and share it with other software developers around the world. That’s a great thing.
In our community, these publicly-available shared packages are part of what we call “Open Source Software.” A developer can go to certain code-hosting sites such as GitHub, GitLab, or Bitbucket and actually view the code, tasks, bugs, and pull requests (or requests for changes to be added) for the packages. The package is stored as part of a “repository” (or “repo” for short).
Already know about OSS & repos? Start here.
The last few years, during the month of October DigitalOcean, Intel, and other various tech companies have put on an event called “Hacktoberfest.” During the month a participant can make four pull requests to any open-source repo available on GitHub. (Quick side note: in recent years, there has been much spam, and so the rules have changed slightly. But the motivation and excitement have not!) If you complete four valid and accepted pull requests during the event you can opt to plant a tree or get a t-shirt. How cool is that?
Last month, E-gineering had 19 participants of this event with a combined 51 pull requests opened! Not only that, but the repos we contributed to varied greatly. We had pull requests for things used by Docker and Kubernetes, various blogs, personal sites and apps, testing software, reading and writing Office Open XML standards documents, developer tools, and more. We got so excited about the event one E-gineer (Justin Dickey) even designed a custom t-shirt for participants! Check out the design:
In the future we hope to make a full-featured app during the event that includes a backend API, frontend, mobile app, and more – and have it all be complete with unit tests to give our team (and anyone in the developer community!) the chance to participate and contribute in ways we haven’t even thought of yet. Our goal, and Hacktoberfest’s goal, is to encourage people to learn, grow, and share their strengths.
So, for you: do you participate in Hacktoberfest? Have any project ideas you’d love to see us work on (and contribute to)? Let us know if you’re interested – and Happy Hacking!
Read more about Hacktoberfest by clicking here.