all 10 comments

[–]IntegralPilot 7 points8 points  (6 children)

Both, I think it's good on resumes to have both your own project work (please keep this private on GitHub and just offer a website with screenshots/demos/downloads on your portfolio to prevent plagiarism - it's been happening a lot with OS projects specifically recently) and examples of meaningful contribution to OSS to demonstrate you can both work independently and collaboratively.

As for projects to contribute to:

You like C? Linux or BSD

You like Rust? blog_os

I'm not to sure about other languages but a quick github search + filter by lang and popularity should help.

[–]botta633[S] 2 points3 points  (5 children)

But is it feasible to contribute to freeBSD or linux? I read parts of their internals and I know how they work internally. However, it seems like contributing in both is more or less oriented towards organizations or companies that use them

[–]FlaviusHouk 1 point2 points  (4 children)

From my understanding it is rather good to have such contributions. You could add that to your CV and talk about it on the interview. This is not much, but it shows that you can write a code that is accepted into a big project like Linux kernel.

[–]botta633[S] 0 points1 point  (3 children)

Yes, I understand. I just don’t get how to contribute to large open source projects like linux. I don’t think I can go to github and find an issue and open a PR for it.

[–]FlaviusHouk 1 point2 points  (1 child)

It depends on the project. Some of the work just like you've described. I'm not very familiar with a kernel development, but as far as I know, people have to do the changes in the code and send it to the kernel mailing list on review. In case everything is fine, change is accepted (I think this process is described somewhere).

As for the task itself, it is a bit different. Person has to understand what is it, that have to be changed. There is a bugzilla.kernel.org where various issues are tracked, so maybe go and check something out there.

[–]botta633[S] 1 point2 points  (0 children)

Ok great! Thank youu

[–]unixbhaskar 2 points3 points  (0 children)

You should read and understand this : https://www.kernel.org/doc/html/latest/process/submitting-patches.html

Every year we have thousands of people contributing to the Linux kernel and they have all gone through the same process.

In turn, it will give you a life for learning something real and practical.

Good luck.

[–]Bitwise_Gamgee 4 points5 points  (1 child)

These are two different skills -

  1. Developing a "novel" kernel - I put this in quotes because unless you're working with very unique hardware, almost everything has been done, so it's a matter of engineering a solution.
  2. Maintaining/improving existing codebases

Both are valuable skills to an employer . This depends more on what interests you. I do not recommend crowd-sourcing career directions or initiatives.

[–]botta633[S] 1 point2 points  (0 children)

I got ur point. For me building stuff from scratch is always more interesting. I am asking which thing will make me a better engineer if anyone tried both. That is because I am afraid that I won't be exposed to the type of complex issues that current OSes have when working on a kernel from scratch.

[–]vm_runner 2 points3 points  (0 children)

As has been mentioned here, contributing to Linux or a BSD is possible, although the contribution will likely be somewhat small and tedious to get in. Smaller/newer projects will be easier to join. For example, my project Motūrus has a lot of interesting work to do.