How to contribute to Grml
We want you!
Grml - the bootable Linux live system (Live-CD) based on Debian - is an active open source project, available since 2003 and used by tens of thousands of users.
We need your help! Driven by a small team of people in their free time, we can't get as much stuff done as we'd like to. If Grml saved your ass and want to give something back to the Grml project, this website will get you started.Important Don't be afraid of us. You might think that you're not experienced enough to contribute to Grml (or any other open source project). But let us tell you otherwise: By using Grml and arriving at this page, you are highly likely to have a skill-set matching our needs. Early contributions tend to be small and minor ones, but can be a first step to becoming an open source developer. So no matter how small you may think your contribution is, it really does matter to us! Don't be shy, let's make Grml an even better kick-ass solution!
How to contribute to Grml.org
Grml joined the Github party, all our repositories are available at github.com/grml. If you already have a Github account it's really simple to contribute.
Notice: while it makes it easier for both sides, there really is no need to have a Github account. We even run a copy of all the Github stuff on our own infrastructure. But social coding rocks!
So, how to get started?
Identifying the appropriate Git repository
Soooo many Git repositories, you might ask where to start? We are here to help you!
If you are also a huge fan of Zsh, Vim, Screen and Tmux and want to pimp their configs the grml-etc-core repository is where the music plays.
You're already enjoying your own live system based on Grml? Fantastic! Don't forget to check out grml-live.
Now let's visit the machine room. The boot process of Grml starts with the Linux kernel, which includes patches and configuration found in the grml-kernel repository. After that, the initramfs takes over. It's driven by live-boot-grml. Once the initramfs stage is finished, the main boot-up process featured in grml-autoconfig takes over. live-boot-grml and grml-autoconfig are also the place where all the nifty Grml boot options are implemented at.
A simple frontend to set up booting via network (PXE) is known as grml-terminalserver.
To get your live system onto a USB thumb drive, grml2usb is waiting for you.
You identified the correct Git repository? Great! The easiest way to play with the repository is by choosing the 'Fork' feature at the right side of the upper screen:
This should give you your own copy of the Git repository and you can commit to it without even asking us for permission. Then you can simply create a patch.
You don't have a Github account (yet)? You can grab the Git repository anyway. On the Github web page you can click on 'Git Read-Only'. Then clone the URL (being 'git://github.com/grml/grml-etc-core.git' in the following screenshot):
Check out the repository and explore it:
% git clone git://github.com/grml/grml-etc-core.git % cd grml-etc-core
Create a patch
Creating a patch is simple. Check out a new branch in your repository (to avoid messy commit history and conflicts possibly showing up in master):
% git checkout -b mygreatfeature
Implement your bugfix/feature and once you're happy about it, commit your work (replace $FILES with the files you changed):
% [hack hack hack] % git add $FILES % git commit -v
That's pretty much it. If you aren't familiar with Git yet and want to learn more, git-scm.com has plenty of useful information.
Finally, it would be great if you'd share your work with us!
Get your work upstream
Getting your work into Grml isn't just about making Grml even hotter. It also has advantages for you! You get your features tested and maintained by the community, gain credit and get immediate builds of it served by our awesome continuous integration lab. Yay!
If you chose to fork the repository, all you've got to do is click on the 'Pull Request' button on your Github page:
If you're interested in further documentation regarding pull requests, head over to the Github page about pull requests.
Don't have a Github account and/or prefer email? No worries. Just create a patch based on your work:
% git format-patch origin/master
Then send the created patch file(s) to bugs (at) grml.org. Either use your common mail client or, if you prefer, use Git itself:
% git send-email 000*.patch