Contributor guide
Thank you for your interest in contributing to Soviet-Linux!
Here’s how you can contribute to the Soviet Linux project. There are a lot of things in different areas where you can contribute, here are the main ones.
Programming
You should ask for the developer role in the discord to gain access to the development channels.
General contributor workflow
- Fork the repo to your own account
- Clone it and make your changes
- Push to your repo on github
- Open a Pull request (PR), please try to add a descriptive title for your PR.
C
The package manager (CCCP) and the library for it (Libspm) are both written in C. There is a lot of work that needs to go into them. There a plenty of bugs to fix here.
C++
The new installer is written in C++, so if you know C++, you can improve it.
Web development
The website at sovietlinux.org can always be improved if you have some ideas! Currently it’s written in Astro with Tailwind CSS.
- Github project
- Github repo (note: use the
new
branch)
Rust
We have a side project of creating a chat application that integrates with discord because the matrix bridge isn’t the greatest. If you know Rust, web technologies or really anything from UI/UX design to databases, you can probably help out if you want! However, the chat is not our main project as of right now.
- Check the discord thread Soviet chat
Packaging
Writing packages for the OUR (software repository) is important work. It’s a lot of work and but most of the time it’s pretty simple. The sheer amount of packages would be simply too much for one person so as many people as possible should be involved here.
- Check the discord thread Package requests
- And Github project
- Github repo
Testing
Trying out soviet builds in a VM and reporting errors is valuable work. Reach out to us on discord/matrix if you need help or run into problems. Also testing new packages added to the OUR is valuable, so we know they work properly!
Documentation
Getting familiar with the inner workings of different systems and writing down that information is super important. This can include anything from how to use a certain tool to writing down notes of some weird undefined behavior that needs to be taken care of later. Markdown format is preferred for website docs and also developer docs in repositories.
Art and graphics
Are you a talented artist or learning to do 3d art? If you make something that fits the Soviet Linux aesthetic or is otherwise relevant please feel free to share your work (preferably under the CC-BY-NC-SA 4.0 or a similar license). This can be anything from a wallpaper to a cute sprite for the website.
Good ideas and interesting stuff
I have a great idea..
If you want to propose your idea, the main way to do that is the discord channel #suggestions.
Look at this interesting thing!
If you want to share something cool you found under the general umbrella of programming, computers and linux, for example a new programming language you just found about, feel free to send a link in discord #notes.