/rcos-intro

An introduction to what RCOS is and how to get started

Primary LanguageCSS

RCOS Intro

This repository exists to introduce each new semester of RCOS. The presentation folder contains a reveal.js presentation that is shown on the first day of class. This README contains all the information in the presentation in a bit more detail.

This is intended to be a concise, living document. If you find a problem or something that you'd like to dispute, please create a pull request.

What is RCOS?

RCOS, or Rensselaer Center for Open Source, is a large community of open source developers who develop code to solve societal problems. The goal of RCOS is to provide a creative, intellectual and entrepreneurial outlet for students to use the latest open-source software platforms to develop applications that solve societal problems.

Internally, it is often fondly said that "RCOS is anarchy", as there are very few rules and projects are free to organize and contribute however they want.

What does RCOS do for you?

RCOS offers a unique, open-ended learning experience. In RCOS, a student can contribute to existing open source efforts, learn a new technology, find a development team, and work on their "passion projects".

RCOS offers a huge community of open source developers skilled in nearly any platform, framework or language. Generally we communicate over our slack, where answers to questions and insightful discussions in a wide variety of topics can be explored.

RCOS is offered for credit at RPI and fulfills a 4000 level technical elective.

How to join RCOS

If you're an RPI student, hop in on our first meeting of the semester or join our slack and message a faculty coordinator (@mskmoorthy or @turnew2).

If you're looking to get involved with RCOS as a member outside of RPI, email a coordinator to get setup on the rcos slack. In the meantime, you can create an account and fill in your profile on Observatory.

The basics, or how to be successful in RCOS

Organization

There are several groups of people in RCOS, often broken up by experience level.

  • Member - Most students in RCOS are members, members work towards the mission statement of RCOS and work on their projects. Members attend small group meetings run by Mentors.
  • Mentors - Mentors are experienced RCOS members who stepped up to lead a group of members. These mentors help guide new students and make sure that projects aren't "stagnating". Mentors are often highly motivated and extremely helpful.
  • Coordinators - This is a small group of mentors that coordinate run large group meetings and external events.
  • Faculty Advisors - This is Professor Moorthy, Goldschmidt and Turner. They take care of much of RCOS's logistics, our funding, broad direction goals and guide the RCOS coordinators.

There are also members of RCOS outside RPI...

  • External Members - Any member of RCOS outside of RPI, this includes RCOS alumni and RCOS affiliates.
  • External Mentors - Previous RCOS members or interested individuals can mentor RCOS without being on the RPI campus. External mentors bring unique perspectives and project opportunities to RCOS.

As mentioned above, there are two types of meetings in RCOS. Small Group meetings are run by a mentor that you choose or (if you don't choose) is chosen at the beginning of the semester for you. Large Group meetings are run by coordinators and allow members to speak to all of RCOS about what they're working on or teach new or interesting technologies.

Observatory

Observatory is RCOS's open source project management platform. Every RCOS member is required to have an observatory account, it's through this platform that you can write blog posts, record your attendance and see other RCOS projects.

Slack

Slack is the primary communication platform for RCOS. Each team in RCOS has a Slack channel where they can coordinate meetings and manage the project.

Finding an Open Source project to contribute to

Github Explore allows you to explore Github and find awesome open source projects to contribute to. Spend a good amount of time finding a project that you like. Don't be intimidated! Many projects that seem very complicated are actively looking for new contributors and will give you "easy" issues to get started. You'll learn fast! Feel free to tackle issues as a team.

Finding a team

Finding a team in RCOS isn't a requirement, but can often make RCOS easier for everyone. There are many ways to find a team but the easiest way is to look for teams during RCOS Pitch Days (the day when people say what projects they're going to be working on). If you're still looking for a team after pitch day, talk to your mentor or look for other groups in your small group.

Git

Git is a version control/collaboration system that is extremely popular among open source projects. To contribute in RCOS, you WILL need to learn to use git (it's not that bad). Try taking github's git tutorial.

Github

Github is where most RCOS projects are stored and collaborated on within. You will need to create an account and eventually create or join a project.

Getting Help

Your mentors will help you all along the way. If you have any questions, find your mentor and ask. If you don't have a mentor or you've forgotten your mentor, talk to a coordinator.

How to be successful in RCOS

To be successful in RCOS, you should help fulfill our mission statement (we often stretch what the mission statement applies to, but you get the idea). This means that you should be actively contributing and working to solve a problem or hash out an idea. Most successful RCOS projects have several contributions a week and each member writes a couple (3 or 4) short blog posts.

If you're working on a new project, you should strive to make your project should be useful other people. This means that your code should be clean, you should have proper documentation or a README and your project isn't competing with another nearly identical open source project.

If you're contributing to an existing project (one that has users), you should strive to make meaningful contributions to the project and help the maintainers.

If you're a mentor or coordinator, see the mentor guidelines.

How you are evaluated in RCOS

Student's who take RCOS for credit must be evaluated and given a letter grade. There is no curve in RCOS, everyone who actively contributes in the ways mentioned above will receive a high grade. If you're ever worried about how your doing in RCOS, talk to a mentor or coordinator.

If you'd like to see a more refined set of guidelines, see the formal grading rubric.

Our goals in RCOS (S2016)

  • Get more contributions to external projects (projects created outside RCOS)
  • Increase the rate of success and of RCOS projects
  • Increase the longevity of RCOS projects

What do you do now?

If it's just after the first meeting and you're wondering what to do, check off each of the following bullets. If you check them all off, you're in great shape. If you can't check them all off, talk to a mentor or coordinator.

  • Sign up for Observatory and the slack
  • Find people or a project
  • Prepare a slide deck and proposal, email it to

Contributing to this repository

This presentation and introduction is open to new ideas, submit a PR!

If you are a developer attempting to update the site at rcos.github.io/intro, run the following command on the master branch from the top level...

git subtree push --prefix presentation origin gh-pages