Helping GNU / Linux is easy!

    This article talks about how, suddenly for myself, I moved from the simple GNU / Linux user level to the contributor level to the open source world. I hope that she will be able to serve someone else as an example for her own growth.

    Start

    It all started with the fact that, as always, I switched to a new release of Ubuntu, this time on 13.04. I turned out to be not the most successful motherboard for Linux, since distributions out of the box rarely have firewood for its network card ( RLT8168E ). But this is not a big trouble, right? Having obtained the companion packages compiling, I downloaded the latest firewood on Linux from the off site . I already did this with Ubuntu 12.10 and nothing portended a catch.

    Trick

    Suddenly, these "firewood" does not compile . Pulling errors into the text a bit , I went to ask for advice at linux@conference.jabber.ru. There they told me that taking firewood from the site is not always a good idea and that there is a package for my network card in the repository . A pleasant surprise. Indeed, it was worth starting by looking for a package with firewood in the repository. But, as it turned out, the code in the same module is in it and when compiling it crashes in the same way.

    Search for a solution

    The problem in the package from the Ubuntu repository is already a more serious situation, and I went to get acquainted with the Ubuntu MOTU (Masters of the Universe ). On their wiki you can find fascinating instructions on how to help keep packages up to date and generally help the Ubuntu project, which immediately interested me. After joining the # ubuntu-motu IRC channel on freenode.net, I started asking how I can help me fix this package from the repository. There they explained to me that the best option would be to solve the problem at the pre-Ubuntu stage, that is, in the debian repository, where they get most deb packages from.

    Debian

    Not knowing whom and how to contact, I decided to write immediately to the maintainer of this package (as I later found out, it is advised not to do so). Each deb package has a maintainer field (you can see, for example, using less file.deb), from where I got the contact e-mail. I wrote that, they say, the installation of the package crashes with such and such errors, that the package version is such and such, and the version of my Ubuntu is such and such, and that, as the owner of this equipment, I would like to help with the fix. Not a day had passed before he answered. Wrote that, yes, there is a problem, and googled it on launchpad , and how it is actually worth reporting bugs to debian. Assumes that the point is the disappearance of some define in the source code of the new kernels. He asked me to find a commit that removes these define, or any documentation for this case. A sudden request, but I found this commit .

    Fix

    The package maintainer sent me an indicative patch so that I could test it on my hardware. Slightly tweaking it, he sent back a message about success! Thus, a patch was compiled for the network card module, in which my name appears as a patch tester. For me it was a great reason for pride and for the continuation of the work started :)
    Next, I tested the resulting deb package and maintaineder sent it to the sid repository , which is the end of the history of this package in debian.

    Back to MOTU

    Performance for debian is great, but I'm a Ubuntu user, and I need this package there. Went back to MOTU with the hope that now the package will go to their repository. But such a haste was too optimistic :) It turns out that there is a whole logged process called SRUabout the package getting into the current release and in the LTS. The document seemed huge and opaque to me, and I started looking for people responsible for the SRU. Found them on the channel # ubuntu-release. They turned out to be very nice people and, after a short conversation, decided to accept the package in release, since it is taken directly from sid, it is well documented and translates the state of the package from “not going at all” to “it works for me”. Thus, by the time of writing this article, all users of the RLT8168 network card and the kernels of any current version will be able to install firewood directly from the repository.
    I informed the developers of the module in RealTek several times about the existence of the problem and the patch for it, but, alas, no reaction was received from them.

    What's next?

    After reading the debian developer’s corner , I saw excellent documentation, lots of orphaned packages, and packages that need to be debated. Given that the debian community is “constantly looking for new developers with some technical knowledge, interested in free software and some free time,” I began to learn how to create deb packages. And I think this is a great opportunity to make the Linux world a little better;)

    Why an article?

    I hope that the article will help you see that helping your favorite distribution is real even if you are not a super-duper programmer. That the community needs new blood and you can get valuable experience on this;)

    PS

    If there is a person on the hub who can become my mentor and, in the future, a lawyer in becoming a debian maintainer, I will be very happy.

    Also popular now: