I’m a student in computer science and would like to inform myself about the possibilities of contributing to FOSS projects.
→ Would like to have some general conversation about it…
Some of my questions are:
1.) How much knowledge / skills are required to contribute to a FOSS project. For example as a helping hand or a developer for (perhaps simpler) tasks.
2.) What would be the best way to choose a project in respect to the scope of it and the complexity of the upcoming work.
3.) How much time would one need to use, to be kind of a part of such a project. (scope / volume of work).
And last but not least:
My general goal is, to specialize my skills (during my education) in things like mathematical modeling / scientific computing and / or numerical algorithms. I’m fascinated by constructing mathematical models resp. implementations of real world problems, because this “topic” connects both: mathematical and abstract thinking and thus real applications.
So → Are there ways to combine both, the aim to participate / contribute to FOSS projects with the objective of improving skills and be part of a very cool community, and further work on some interesting problems / applications?
Thank you for all your answers and comments.
It’s cool to be here.
Normally none, but it is good to have knowledge how the project works and especially the programming language in use.
Do what you like. That’s how most FOSS projects starts. You use a FOSS program regularly and like it? Start there. Don’t try to make big changes. Just reviewing the code and improving it, even syntax, is much appreciated. FOSS projects are developed in small steps.
It depends… but if you provide a patch, help with issues, then you contribute to the project.
Do as you like. Search for a project that fits your goals and start using it. You see problems, missing features? Try to code something what is useful for yourself. Right for yourself and maybe some people out there think that it is useful as well.
Sure, pretty easy. Define what you like to do and search for a project which does it. Fork it, extend it, patch it, send a merge request, discuss problems. Easy? It is not complicated. And by doing that you learn and improve your skills.
It might not be what you wanna do, but another way to contribute is to write translation for programs, devs will always gladly accept this kind of contribution, even if it’s a language only spoken by a small amazonian tribe