Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added BOSSI and Open Source info #1

Merged
merged 1 commit into from
Feb 7, 2020
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
49 changes: 47 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,47 @@
# getting-started
a guide to getting started with open source contributions for our members
# Getting Started with Open Source

Welcome to the Boston University Open Source Software Initiative! We're glad to have you aboard, whether these will be your first open source lines of code or whether you're a free software veteran.

## Who are we?

The Boston University Open Source Software Initiative is a group of BU students who care about Open Source and want to promote it on campus and help each other to be better open source contributors.

## What do we do?

We host workshops, do on-campus outreach, and help each other contribute to open source projects we love.

## What is Open Source?

Open source software is software that has made the source code publicly available so that anyone can inspect it, contribute to it, change it, enhance it, pretty much do whatever they'd like with it. Think of [LibreOffice](https://www.libreoffice.org/about-us/source-code/) or the [GNU Image Manipulation Program (GIMP)](https://www.gimp.org/source/#gimp-source-code).

Contrast with closed source or proprietary software that isn't available on sites like Github where only the original authors are legally allowed to view or edit the code. Think of tools like Micorosft Office or Photoshop -- while we're allowed to use them, we agree that we agree to a license that lets us us their software according to their rules.

"Open source" *outside of software* can mean embracing those transparent, collaborative, community-oriented methodologies and philosphies. For isntance, educational resources (Ex. [an intro textbook to cryptography](https://github.com/crypto101/book)) can be open sourced and worked on by many people! Lots of open source developers thing that these principles will make the world a better place.

## Why do we care about whether software is open source?

Open source software practices are good for everyone.

* People can check the software to run to make sure that it isn't doing anything it shouldn't be. We don't have to trust that software isn't doing anything weird with our passwords or opening our computers up to security issues -- we can check to make sure no funny business is going on!

* It's good for programmers to be able to learn from and study code from great projects, and even better to have a community to help us learn how to make better code. Everyone has to start somewhere, and having tons of projects with issues for everyone to work on helps us grow to be better programmers!

* If the original owners for projects decide not to work on the code anymore, other people who care deeply about the project can pick it back up and keep working on the tool.

## So how can I get started with open source projects?

I think the best projects to contribute to are the ones that you actually use. They're the most rewarding for you, as it's nice to be able to give back to the community that's provided the software you've loved for a while. But it helps when those projects have a few things going for them.

* **Active**. You want to be sure there are maintainers actively developing the project still, that it hasn't been sitting there dead for a few years and that your pull request won't stay open forever.

* **Welcoming**. If a project has a good README, then it's looking out for users wanting to get started using it. Likewise, projects that look out for users who want to get started working on it will have a good CONTRIBUTING file that has some suggestions on what needs to get done and how the process works for that project. Having a good CODE_OF_CONDUCT is also a great sign that the project cares about its contributors.

* **Familiar**. If you're planning on contributing code, then it helps if you're familiar with the language their code is in, even if you haven't written anything in it quite yet.

If you want some suggestions on where to start looking for projects to contribute to, [codetriage](https://www.codetriage.com/) has a bunch of projects that you can filter out by language. [First Contributions](https://github.com/firstcontributions/first-contributions) is also a great place to start to familiarize yourself with git and the pull request process that many of these projects use for contributions.

## What is Git and how do I use it?

Git is a system for version control. With so many people working on one project, it's important to have a system that allows them to build on each other's work easily--and for most projects, Git is that sytem.

Github is a site that hosts a bunch of projects using Git, letting anyone in the world access them.