This readme
repository will serve as a guide for the students who are new to FOSS (Free and Open Source Software) and willing to contribute to the same. This repository of files (or) wiki pages that will help you to contribute more into the Open Source World. Feel free to contact us through the Issues page if you need some clarifications.
Many people have this question in one of the following forms:
- Why should I release my source code to the public for free instead of keep it to myself?
- Isn't it safe to protect my software by keeping it to myself, since someone else will steal it or release it under a different?
- What will I gain upon open-sourcing my code or contributing to other OSS? and much more...
Here are some points that will give you some food for thought:
- Your technical skills and exposure towards Software development process will improve if you contribute to the OSS.
- You got to work in a team and will get some comments or suggestions which will further enhance your product.
- Keeping some code private is also not bad as long as it needs to be kept that way. For example: Not all code you write is expected to be open-sourced, but you've to give something back to the community.
- Don't worry about someone stealing your work unless it belongs to the above point. You can always select a license that will suit your needs and keep going forward.
There are two things - your thirst for knowledge and respecting other people as you would like to be respected.
Let's get down to business. Here are some of the technical suggestions we would give for starters:
- This is not a mandatory step, but we will strongly recommend it. Install Linux (Ubuntu is good) on your laptop or desktop computers. You will be exposed to the CLI (Command Line Interface) and will understand something about the operating system. Ubuntu is a free software and it will work alongside Windows pretty well. Make sure you back up all your important data and proceed with extreme caution. Don't be afraid if you break something in your computer, trust me that's how you'll learn.
- After the above step, we recommend you to learn these softwares/frameworks:
- Git
- Ruby or Python programming language
- Rails or Django framework These softwares are not in our syllabus, but will definitely prepare you for the modern world. Rails is a web framework that is built upon Ruby and Django with Python. Try to master any of them.
We'll keep this list updated.