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.
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.
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.
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.
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 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 is the primary communication platform for RCOS. Each team in RCOS has a Slack channel where they can coordinate meetings and manage the project.
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 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 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 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.
Our Community Code of Conduct outlines some common ground rules all RCOS members are expected to abide by in order to make RCOS an inclusive experience for everyone. You can find the RCOS Community Code of Conduct here.
In addition to following the Community Code of Conduct, we strongly suggest that your project's repository includes a Code of Conduct as well. You can find a Code of Conduct template for your project that includes an abbreviated version of our Code of Conduct as well as space for any project-specific ground rules here. In addition, Github has instructions on including a Code of Conduct in your project here.
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.
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.
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.
- Get more contributions to external projects (projects created outside RCOS)
- Increase the longevity of RCOS projects
- Collaborate with other organizations, including MOSSN (Mozilla Open Source Student Network)
- Offer alternative ways to learn and get involved (not just coding)
- Have more student talks and bonus sessions
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
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