One place for hosting & domains

      Hacktoberfest Contributor’s Guide: How To Find and Contribute to Open-Source Projects


      Introduction

      Contributing to open source software is not only a way to share your skill in a particular language or tech stack, it can be a rewarding practice to share your engineering knowledge and collaborate with the developer community. Although there’s a wide range of open source projects out there waiting for your expertise, knowing where to find them and how to contribute in a way that is meaningful to the project can sometimes prove to be a barrier for interested contributors.

      In this Hacktoberfest-flavored guide, we’ll share some tips and information that will aid in finding and contributing meaningfully to open source projects.

      Find a Project

      If you are new to engaging with the open source community, finding a new project to contribute to may feel daunting. Here’s a few resources and ideas to help you find a project you’d love to help thrive.

      What is Open Source?

      Open source software is software that’s freely available to use and modify, typically shared via a public repository hosting service like Github. Projects that follow the open source model usually thrive through contributions from the developer community, and may allow for redistribution depending on which open source license they have adopted.

      Most successful open source projects have transparent, well-delineated processes for maintenance and improvement, which helps to build a community around them. As a result, they benefit from regular contributions from end-users, who bring with them diverse perspectives to solutions that may otherwise be overlooked.

      To learn more in detail about open source, visit our tutorial series, An Introduction to Open Source.

      Consider Familiar Open Source Software

      After deciding to commit your time and talent to an open source project, it’s important to take a moment to consider your passions and the type of project that resonates with you. Considering that you may spend a number of hours contributing to a specific project, you want to select a project that is not only something you’d personally use, but have a deeper interest in beyond contributing for Hacktoberfest. Think about the software you use today and consider the following:

      • In what tech stack and language is the software written?
      • What are some things that could be improved when using the software?
      • Are there any bugs or visible errors that you have the technical proficiency to address?
      • Would you be willing to contribute to this software on an ongoing basis?

      These beginning considerations may lead you to discover that your favorite software is open source and waiting for your contribution. If that’s the case, be sure to dive into the CONTRIBUTING.MD file that typically delineates how to contribute before starting. This resource will usually introduce you to the codebase, conventions, and ways to gain support when contributing to the software.

      Beginner-Friendly Open Source Projects to Try

      If you’re just starting out, the idea of committing large amounts of code to an unfamiliar codebase could bring out the imposter syndrome that lies dormant in many of us. Luckily, each developer was a beginner once, and to foster appreciation and adoption of open source, there’s a wealth of publicly-available repositories shared by fellow developers that are beginner-friendly. Here’s a few that we suggest to browse:

      • Awesome For Beginners- A list of projects by programming language that are noted to be beginner-friendly.
      • Awesome for Non-Programmers- if you’re new to programming, here’s a list of projects that are language-agnostic and help foster learning.
      • Up For Grabs- A resource that lists projects with tasks curated for new contributors.
      • First Timers Only- A resource for beginning contributors that includes links to open source learning resources and links to beginner-friendly projects.
      • Habitica- A habit-forming app that gamifies life. This open source project has detailed documentation and many ways for programmers and non-programmers alike to contribute to the project.

      More resources for open source projects to try can be found on our Hacktoberfest Resources Page.

      Make a Contribution

      Identifying Meaningful Solutions for Open Source Projects

      After identifying an open source project to contribute to and diving into the resource material that the codebase offers, you may be wondering exactly what to contribute. While the way in which you contribute may vary by project, here’s some general ideas of contributions that are impactful and meaningful to the codebase and software you’re working on.

      Fix a Bug

      Bugs are small errors in code that may cause an annoyance, a blocker, or be debilitating to software. Bugs often produce unexpected results that cause incorrect responses or actions — for the sake of a software user’s experience, it’s imperative and important that a codebase is maintained to be bug-free (or as bug-free as possible).

      You can contribute your knowledge and expertise to ‘squash’ or solve the issue surrounding a bug. By working on bugs of varying priorities, your ability to strengthen a codebase by solving errors will grow, and you’ll have a meaningful contribution to add.

      Propose a Feature

      Open source projects benefit from a diversity of thought. Although software may have been developed by one or more engineers with an opinion of how their product can solve an existing problem, your personal experience and outlook on how to improve a project can be invaluable. Once you’re comfortable with a project’s codebase and understand how it works for end users, try to think of a new feature that could be useful or improve the user’s experience and create an issue to propose it to the project maintainers. It is important to have this conversation before investing time in writing code, since sometimes your idea might not coincide with the project’s roadmap. With a positive response, it’s time to implement your idea and bring that feature to production.

      Write Some Documentation

      While there may be a wealth of technical contributions that can be made to a codebase, writing good documentation is a contribution that is often overlooked. If you’re linguistically-inclined or speak a language other than the one reflected in the initial documentation, consider making a contribution. Contributions in documentation can revolve around providing editing help to an existing doc or authoring new pages within the documentation. Refer to your project’s contribution guidelines to learn more about how to contribute this and other non-technical help.

      Submit Your PR

      Submitting Your Pull Request via Github

      After you’ve made a meaningful contribution to an open source project’s codebase, it’s time to submit your pull request. We’ve created a helpful video that walks you through this process via Github, that can be found here.

      Video: How to Submit Your First PR

      Sharing your expertise with an open source project is a rewarding experience that allows you to practice your talent, collaborate with and learn from others, and give back to the developer community. While it may initially seem daunting to find your place within the open source community, finding a project that speaks to your passions and contributing meaningfully to its codebase is a great way to start.

      For Hacktoberfest, while making four (4) meaningful contributions to open source projects will qualify you for prizes, we hope that you’ll continue to enjoy the benefits of contributing to the open source community well beyond the event. For more information or to learn more about open source, Git, or Github, you can visit the Hacktoberfest resources page. Happy hacking!



      Source link

      Choosing a Colocation Provider: Criteria and Questions to Find the Best Fit


      Whether you are new to colocation or have been colocating for years, it is exciting and stressful to choose your next provider. A colocation provider is not just another vendor in your business solution, but rather a strategic partner for your business’ critical infrastructure needs. The right colocation providers can take your data center footprint and network to the next level, while the wrong provider can prevent you from reaching your full potential, and worse yet, negatively impact application availability and performance

      To make the best-fit choice for your company, you’ll have to know your needs and goals and be able properly evaluate potential partners. Unsure of where to start? Read on for considerations and questions to get you on the right track.     

      Outline Criteria for Your Colocation Provider Search

      When choosing a colocation provider, it is important to reflect on your needs prior to starting your search. Be sure to include the following considerations in your decision making:

      Strategic Goals

      Am I looking for a strategic colocation partner to help me power, connect and cool equipment for my critical business process/revenue generator, project in development or anything in between? This is important to understanding the next decision point.

      Uptime

      Uptime is always important in your colocation decision. Is this a test system I don’t really care about, or a revenue generator that will lose revenue during downtime? With any revenue generating system it is important to determine your downtime costs per second, minute, hour, day and so on. This is where your strategic colocation partnership is so important.

      Is your colocation facility ready to provide you with unmatched uptime, support and advice to help you succeed? Have they even asked about your availability requirements? What are the provider’s SLAs and will they help you recoup financially in case of an outage caused by your colocation partner?

      Growth Potential

      Can your colocation partner accommodate your planned or unplanned growth in a timely manner? Nothing is worse than deploying a new application not expecting huge growth and realizing your colocation partner cannot accommodate your growth needs. This is what some call a “good problem to have,” but it’s still a problem. If you’re not able to quickly access more power, cooling and space, you can find yourself with a very dissatisfied consumer on the other end.

      Know Your Market

      Market/location is very important. Pricing could be great for power and cooling, but you may find yourself in a market with subpar interconnectivity, lack of diversity in connectivity providers or third parties and vendors in your vertical. Now your savings in cooling and power disappear with complicated connectivity solutions.

      Geographic market locations are also very important to your user base. Low latency connectivity from your end user to your product is one of the best ways to deliver a good application experience. Thus, choosing a colocation provider that can offer you not just power, cooling and space and low latency and great connectivity options is huge plus.

      Flexibility in Colo Design

      Flexibility in terms of colocation design for your specific solution is very important. Your solution may require caged environments with multiple security measures including cameras, bio-metric locks, privacy screening, slab-to-slap cage walls, toppers and a plethora of other power/cooling and cabling options to meet your exact needs. This is where the right colocation partner matters.

      Security Requirements

      Security that meets your requirements is a decision point which should be at the top of your list. Is your colocation partner PCI and SOC2 compliant? What other compliances will you need your partner to meet? What certifications does your colocation partner maintain on a regular basis?

      Cloud Options & Spend Portability

      Some of your application stack is likely already in the cloud or would benefit from running in a cloud, on bare metal or in a fully managed private cloud. Does your colocation provider also offer bare metal, cloud and connectivity to cloud providers? And if you choose to shift to one of these solutions from your current colocation solution, does your provider offer a spend portability program? The ability to cost-effectively pivot to a different solution to best meet shifting infrastructure needs is invaluable.

      Ask the Right Questions to Evaluate Potential Colocation Providers

       Now that you’ve thought more about your needs, you can more easily assess colocation providers to find one that meets your specific criteria. Based on the decision points discussed above, let’s talk through specific questions that should be considered when evaluating a potential colocation partnership.

      • What design is the colocation partner using for their power, cooling and space?
        • N+1, N+1 with concurrent maintainability, N+2?
        • What design is right for your solution?
        • Is the colocation partner keeping mechanical equipment on the datacenter floor or away from the floor?I have some stories about this one, but that’s for another blog.
        • How much uptime protection do you need? (Keeping in mind that all those pluses carry additional costs.)
      • What is your market/location?
        • Where is your customer geographically?
        • What markets does your colocation partner cover?
      • What power does your equipment require?
        • What amount of power do you need per cabinet? This will depend on your equipment, so knowing ahead of time what you will put in your cabinet is important. You may want to populate a cabinet with networking gear which doesn’t require much power, so the maximum you will need is 2KW to 10KW. Or you may use many blade chassis with huge power requirements and 20KW to 30KW per cab. If your colocation partner cannot deliver high-density power to your cabinets, now you are expanding your colocation footprint sideways rather than vertically and not utilizing all your available rack space.
      • What connectivity providers are available at the colocation space?
      • What internet service providers (ISPs) are available in the data center’s meet me room?
      • Does your colocation partner offer you a redundant IP blend?
      • Is your colocation partner able to directly connect you to public clouds?
      • Does your colocation partner also offer native bare metal or cloud services?
      • What security measures are taken by your colocation partner to make sure that only you will gain access to your cabinets and services?
      • Does your colocation partner offer you a comfortable, quiet place to focus, meet and get work done while at the datacenter?

      What Sets INAP Colocation Apart?

      INAP is not a cookie-cutter colocation partner. We’re extremely flexible with colocation design, effectively meeting the requirements of our customers no matter how simple or complex. And with INAP Interchange, our spend portability program, you can get the solution flexibility that you need after you deploy your initial solution. This allows you access to INAP Colo, Bare Metal and Cloud solutions to best meet your needs throughout INAP’s 47 Tier-3 data centers, including our flagship facilities in well-connected markets, along with 90 POPs around world.

      INAP’s ability to deliver a level of service with N+1 and Concurrent Maintainability for power and cooling provides you with peace of mind that even during maintenance, your critical infrastructure is backed by redundant systems. Paired with state of the art, zoned fire suppression systems with VESDA (Very Early Smoke Detector Apparatus), you can rest assured that your infrastructure is in good hands. Additionally, high-density power is INAP’s specialty, with efficiency that meets LEED Platinum levels. And you’ll find our security systems meet PCI and SOC2 compliance.

      Finally, what really sets INAP apart (other than what’s been covered above) is that all INAP facilities are staffed with tenured data center engineers and management staff ready to work directly with customers to help them succeed.

      Explore INAP Colocation.

      LEARN MORE

      Rob Lerner


      READ MORE



      Source link