How Open Source Project Work

Many people wonder how the most popular open source projects work. Do they have a single leader who makes all the decisions? Does it cost anything to join? Do volunteers all work together in one common location? What kind of tasks do volunteers usually work on, and what’s the quality of the work like?

Open source projects are making great advances in practically all areas of software, but the process by which they work can be opaque to those unused to it, or even those who have read a great deal about OSS, but have not participated in one.

Create your own open source project

Every project should start with an identified need. If you feel that existing projects on GitHub or Bitbucket don’t offer the functionality you would like to build, then create your own open source solution. Besides an initial project draft, you should consider the following set of questions:

  1. What skills do you need for your project?
  2. How much time are you willing to spend on your project?
  3. What problem(s) does your software solve?
  4. How many potential users are there for your product?

AN OPEN SOURCE LICENSE

The code repository should have an associated license. For example, the MIT license(opens in a new tab) is a popular one. This license determines if the project is open source or not. So it’s important to find the license before working with the project.

Create open source alternatives to commercial software

Today’s commercial projects actively engage open source solutions. Many companies base their projects on free tools. When there’s a huge selection of software, you don’t need to reinvent the wheel. This is why it’s useful to play around with free software that can replace similar proprietary software, or that fixes an issue you’ve recently faced.

Another reason for replacing commercial solutions with open source software is eagerness for real innovation and growth. Commercial software claims to be innovative, but its final goal is turning a profit. Open source software unites best practices, great quality of code and passionate developers willing to code just because they like to.

EASY TO READ AND COMPREHENSIVE DOCUMENTATION

Documentation includes things like project README files and contributing guidelines. README files provide information around the code repository like its purpose, the programming languages and libraries used to build it, and in the case of open source projects, how you can contribute. At times, how well written the documentation is will be a good indication of how easy it is to work with the project because documentation is key to understanding the details, technology, and functions of a code repository.

Contribute to existing open source projects

You can find many projects you are free to participate in on GitHub – a developer-oriented platform with a simple but essential set of functionality. GitHub attracts developers with public APIs, a sleek and frequently updated UI, gists (Git repositories) that allow you to share pieces of code or even whole applications, and much more. You can contribute to free software in many ways. Developers can fork projects, make changes to code, and send pull requests. And quality assurance is always appreciated. Sometimes developers are too busy or too lazy to check the quality of their code. So go ahead and report a bug or try to fix it – your help is appreciated.

ASSOCIATED HACK NIGHT OR AN ACTIVE SLACK CHANNEL

One of the common ways open source is described is as a community. If you’re looking for a community, see if there is a hack night you can attend or a slack channel you can join that supports project contributors. At a hack night, you can potentially work with someone else on project issues and features. For example, the Chicago Civic Hacknight(opens in a new tab) has this list of open source projects(opens in a new tab). They also have coding breakout sessions(opens in a new tab) where you can work on a project or pitch a new one. Look for civic hacknights in your city(opens in a new tab).

POST AN ISSUE IF YOU FIND ONE

Once you start interacting with the open source software, maybe you notice a bug or potential improvement to the user experience. You can help the maintainers by posting an issue to the issues list for the project even if you’re unsure how to fix it yourself. Provide as much information you can succinctly so the developer who picks up the issue knows how to recreate it and understand the problem.

CONTRIBUTING: Whereas READMEs help people use the project, contributing docs help people contribute to the project. It explains what types of contributions are needed and how the process works. While not every project has a CONTRIBUTING file, its presence signals that this is a welcoming project to contribute to.

MAKE THE CODE INCLUSIVE

Developers are opting for words like “primary,” “replica,” “allowed list,” and “blocked list” instead of “master,” “slave,” “blacklist,” “whitelist,” and “redlining” in codebases. This is an effort to make coding inclusive by removing words that reinforce racist hierarchies.

USE THE PRODUCT TO BUILD SOMETHING ELSE

Use jQuery, for example, for your portfolio. Get comfortable looking over API documentation and seeing how to work with an open source library to make your website more interactive.

Attend a (virtual) meetup

There’s no higher bandwidth medium for the transfer of knowledge than face-to-face at a meetup or user-group meeting. If you’re close to a city of any size, chances are there are several meetups or community events nearby.  Meetups are typically free to attend and cover all sorts of technical topics. The bigger your city, the more likely you are to find more specific topics, while smaller cities will have more general meetups.

In 2020, however, we’ve had to quickly adapt to a world where we can’t meet up in person.

This presents challenges, but also offers opportunities. While we can’t meet face-to-face, we can attend virtual meetups. Virtual meetups provide the chance to talk to project contributors from around the world–an opportunity that wasn’t always available before.

Conclusion

Understand how open source software development works. This book explores the process of building and developing Software as a Service (SaaS), an open source software, using Scrum as a software development methodology.

0 Comments

No Comment.