Is this a good way to become a Qubes OS developer?

I’ve been using Qubes for the past few months on my desktop, and I absolutely love it. There was a small learning curve in the beginning but beyond that I’ve been able to do everything I want in Qubes. I have different computing needs based on projects and I love having a dedicated Qube for each project.

I really want to become a Qubes OS developer. What do you think the best approach would be? I have a background in software but haven’t worked on kernel/OS development.

This is what I’m think:

  • Subscribe to Qubes development email groups
  • Read “How Linux Works” by Brian Ward
  • Go through Linux from Scratch

What do you think about this approach? Any existing contributors have suggestions?

I really would appreciate your feedback.

2 Likes

its pretty straights forward:

  • go to github
  • look at open issues for qubes
  • try to fix those
  • hang out in the forum / IRC / matrix channels and network around
  • find issues and be helpful in fixing them
  • find new features and implement them

Qubes devs here are pretty hardcore coding and security ppl, so if you’re aiming for the forum badge “qubes dev”, given the skill level you display in your thread, that might take a while.
But don’t let that discourage you. You don’t have to be a 50yo genius hacker to contribute to pretty much any software project.
Not everthing in qubes is 100% security related either, some things are just gui’s that could use a brush up or fresh approach.

Long story short find work that needs to be done and be helpful :wink:

4 Likes

You could learn to code Python and use the Qubes OS adminAPI, that is all you need to make/design GUI tools for Qubes OS.

4 Likes

Adding to @renehoj good recommendations, if you want to make/design/contribute GUI tools for Qubes OS, learning PyGTK3 v3 will help a lot as most of current GUI tools are written with it.

2 Likes

Actually making gui tools / enhancing gui tools would be a pretty massive help, as qubes sometimes can be technical and any help to bring it closer to non technical ppl (like journalists, human rights activists and so on) would be very welcome!

If you REALLY want to help out PLEASE write documentation xD

4 Likes

Also, have a look at the developer docs, if you haven’t already:
https://www.qubes-os.org/doc/#developer-documentation

2 Likes

I assume this also means proficiency in technical writing. If so, I’d highly recommend @tannerlambert’s suggestion on helping out with improving or writing the documentation from scratch.

Here are some issues already raised. Some of the “smaller” ones may be a good starting point, but still may require checking things out thoroughly, as per the project standards.

Note: this answer may be a bit biased, as I myself am not a software developer, but someone who cares about writing documents and guides for practical usage, rather than simply listing information.

1 Like

Thank you everyone for your suggestions. There are areas that I could help contribute even now. This is really helpful to know.

I’ll look into adding documentation as needed. As @aronowski and @tannerlambert rightly pointed out, Qubes requires some upfront investment to setup and that requires good docs, especially for non-technical folks.

@renehoj , @alimirjamali , I’ll look into the GUI tools. I’m proficient in Python so it could be an area that I can help too!

4 Likes

It can be hard, as least according to my experience, to set up Qubes builderv2, to build and test Qubes OS components. Frankly speaking, anything but the in-repo readme GitHub - QubesOS/qubes-builderv2: Next generation of Qubes OS builder can be outdated and inaccurate. I’d recommend using local executor to get a general idea of how builderv2 works, then switch to Qubes executor for better security.

Where would I publicize new gui tools

Here is the official guide on how to do it.

In addition to that, you could use mailing list, forum and maybe even IRC and Matrix. More information here.

1 Like