Open-source software is a software whose source code is visible to everyone and anyone can contribute to it if they think it would help the project or create something that the project is missing.
Although, whether that change would be accepted is up to the organization.
It not only helps the company but also the developers who can learn from it and collaborate with the community and learn from the members also building great connections.
Before choosing an organisation to contribute in, learn about that organisation and get familiar with their project. You can find information regarding how to install and use their project on your system in the project’s documentation.
Open-source licenses are licenses that comply with the Open-Source Definition — in brief, they allow software to be freely used, modified, and shared. To be approved by the Open-Source Initiative (also known as the OSI), a license must go through the Open-Source Initiative's license review process.
To read more about it, refer this link: https://opensource.org/licenses
Flutter is an open-source UI software development kit created by Google. It is used to develop applications for Android, iOS, Linux, Mac, Windows, Google Fuchsia, and the web from a single codebase.
Initially, a major development was based on Android and iOS but recently with the release of Flutter 2.0, it can even build OS apps and Web applications.
I am a 3rd-year CSE student, I have been trying to get into open source for the past couple of years. I am also part of an organization called Code for Cause right now. And at Code for cause (CFC) everyone is an open-source enthusiast, I recently got into CFC and didn't understand the hype around open source until I started with it and till now, I am absolutely loving it!
So, how does a student get from writing a code for his projects to writing a code for an organization whose software or app is impacting society right now or would do in the forthcoming future?
I would say “just start with it”, at the end of my 1st year I learned Data structures and algorithms in C++ and thought “Okay, now everything is sorted I am ready to take on the world with my coding skills” little did I know it was just the start. That spring I looked up GSoC organizations and saw my dreams being crushed when I learned I need to learn so much with C++ if I want to contribute. Then, I found my interest in ML really loved it, went to TensorFlow source code, and questioned myself, “Am I ever going get into the world of open source”? But the problem was never my limited knowledge it was my mindset that as soon as I saw such a large codebase and some terms that I didn't have a clue about. I thought "Igh't I'mma head out" xD.
Then I realized I need to learn something in development as well if, I want to build projects for my CV considering the Covid situation I won't get many good opportunities for internships, and being in a tier-3 college I need to work hard to get a good job as my on-campus options are limited.
So, I got my hands-on Flutter. Flutter caught my eye because it is still relatively new and also lets you build apps for both iOS and Android with a single codebase. As soon as I thought that I am getting a hang of it, I went looking for open-source communities to contribute to.
Because one can always learn while contributing, on the go. It not only increases one’s knowledge but also gives them experience of contributing.
After some exploration, I found that there are limited good open-source communities in Flutter right now, but this was a blessing in disguise. As, until now I was intimidated to approach a community due to size of the codebase or the other dependencies of that project but I finally found one which I liked, their codebase wasn't too big and I also felt invited when I inquired about a particular issue that I would like to work on. Even though I wasn't sure how I was going to do it, I tried anyway and the solution worked like a charm.
That is the beauty of open source even beginners can start contributing, knowledge of the whole code base isn’t required to solve certain issues.
And since then, I have worked every day on that project and felt my confidence shooting up as a developer. I am learning something new, getting my hands on something different, and connecting with different people on daily basis. I wonder what would I have done with these days if I didn't make that comment on the issue and let my self-doubt took over once again. So, the answer to the question I asked in the starting is, just start and you would find yourself being carried by the waves, and you would just need to swim.
If you are a flutter developer and looking for an open-source
community to join. I would like to invite you to join our community The Palisadoes Foundation.
The Palisadoes Foundation aims to promote software engineering education internships for university students in under-served communities. Their vision is to provide equitable access to life opportunities for STEM (Science, Technology, Engineering and Mathematics) education recipients.
You can read more about the organisation here: http://www.palisadoes.org/
They have an open-source project called "Talawa" in which I have been contributing recently.
Talawa was created to help community-based organizations collaborate with their membership. These organizations would include religious groups, non-profit charities, social groups and in limited cases, businesses. Talawa is a modular open-source project to manage these group activities.
You can read more about the project here: https://palisadoesfoundation.github.io/talawa-docs/
Github link of the project: https://github.com/PalisadoesFoundation/talawa
Not only you would be helping a community of developers but also helping the society through it. It is a project that I really felt a connection with, as I have always wanted to help people but never had enough resources. I have always believed that,
"We are not blessed just to enjoy the luxuries that come with it, but to share those blessings with others who are not".
Never knew my coding skills directly would help in achieving a part of that dream. Right now, we are a small community but growing day by day. We also have been selected in GSoC this year. So, you would also feel like a member of the core team while working on it at least I feel like that.
Collaborating and learning by doing is what is the essence of open source and this community is small so, you won't feel like an imposter here or someone who doesn't know much, someone is always there to help just remember to ask for it and don't claim things which you know isn't your cup of coffee.
It really helped my confidence a lot, I hope contributing here or in any community does the same for you. Hope to see you soon in the world of open-source!
And taking one of the lines from my friend's book,