
Become a maintainer. Part one
When I read this and this article, I wanted to tell how a person can make a small contribution to the distribution of his favorite program among users of a favorite operating system. Looking through the Ubuntarium, I saw that there seemed to be no articles on this topic, so I decided to boldly get down to business.
(Parts 2 , 3 and 4 )
I immediately have to make a reservation: my main and favorite system is primarily Debian, and not Ubuntu, they have some difference in the assembly of packages, I will talk about it separately.
And one more thing: if you are interested in including the packages you have collected specifically in Debian, then it is better to write about it in the comments and join the corresponding blog . He looks dead, but it would be better to post such a story there, so if you are interested, I will write about it there too :)
When you want to build some kind of program, the first thing you should think about is whether they will take it to the distribution kit. The fact is that the whole ideology of the Debian distribution is primarily governed by such an interesting document as the Debian Social Contract (or Social Contract) . Basically, this contract states that:
In more detail: the whole Debian system was, is and will be a truly free system. It will never have proprietary components. All developments made within the framework of Debian will be licensed as free software and returned to the community. All corrections and patches for programs made within the framework of Debian will be offered to the authors of the programs (completely free :)). All errors and problems in the distribution kit are also free and open from the moment you report them (more on that later). For non-free software, Debian has a special non-free section. The packages that are placed there are not part of Debian, although they are distributed with it.
“What about us?” Users will ask Ubuntu. Exactly the same. In Ubuntu there is a “Promise to Ubuntu” (lies on the main page of ubuntu.com) and a documentThe philosophy of Ubuntu . In general, the restrictions are almost the same, in Ubuntu they are slightly softer, but I recommend focusing on Debian.
So, if we decided that our ideology coincides with the ideology of Debian / Ubuntu, then we can take up the next paragraph.
Debian and Ubuntu distributions are divided into several categories, each with its own. By connecting and disconnecting any of these categories in our apt settings, we can both completely protect ourselves from non-free software and furnish ourselves from all sides. What categories are there?
There are 3 main ones in Debian (memory tells me that once there was still a non-US section, but now it seems to be gone):
In addition, all packages must comply with the harsh Debian Policy document , but about it in future releases.
In Ubuntu, the categories are as many as four and the division is slightly different. All software is conditionally divided into two groups: supported and unsupported. Packages from the first group are officially supported by the developers of Ubuntu (or, as they call themselves, MOTU - Masters (Maintainers) of the Universe), the second is collected by extraneous maintainers. Each group has a category for free and non-free software. Thus we get 4 categories:
Basically, the distribution criteria are still the same as in Debian, with one exception: main allows some proprietary fonts and firmware, if they are distributed free of charge and are vital for the normal functioning of the system. Also, in Ubuntu there is another secret category of commercial - in which packages that have distribution restrictions are placed, but for which Canonical still received the appropriate permission from the copyright holders. Previously, RealPlayer and Opera were included, but in the distributions following after Feisty Fawn, this category seemed to be abandoned.
In this matter, both Debian and Ubuntu are guided by one document (which, incidentally, was accepted by the entire free software community as the basis for the definition of OpenSource). These are the so-called Debian Free Software Definition Criteria (Debian Free Software Guidelines or DFSGs), which are part of the aforementioned Debian Social Contract. It does not make sense to list and paint them all, since they can be read in Russian at the above link, so I’ll tell you briefly:
Thus, Debian has a list of the main licenses distributed under which the software can be considered free: GPL, LGPL, Modified BSD License, Perl Artistic License, Apache License, CC BY-SA 3.0 and several others. At the same time, for some reason, some common licenses are considered incompatible with Debian - these are GNU FDL, almost all Creative Commons licenses (except for the mentioned BY-SA 3.0) and others. A complete list of Debian licenses reviewed is available here . However, you should always remember that Debian developers each time decide on a specific program, and not on an abstract license.
Debian is committed to its contract. Any program that was even planned to be “packaged” (about which some maintainer posted a message that he plans to pack it) instantly gets into the error tracking system . Any user can go there and view information about the package of interest to him. For packages that are only supposed to be published (as well as requiring refinement, looking for a new maintainer, etc.), there is a special WNPP meta-package . For example, going here , we will find information about the qutIM program supposed to be packaged and the correspondence of several maintainers about this.
Ubuntu has a similar system - Launchpad . Herefor example, you can see what the qutIM package page looks like on Launchpad.
We got an idea of how the software is distributed in Debian and Ubuntu, where to look for it there and what are the licenses. Next time, if the article turns out to be interesting to someone, I will tell you who is stricter - Debian or Ubuntu, which programs will be useful for you to create packages, why this approach to Ubuntu is fundamentally wrong, which is why I have mentioned it so many times qutIM has still not reached Debian, and what other pitfalls await a person who wants to build a package for their favorite distribution.
(Parts 2 , 3 and 4 )
Introduction
I immediately have to make a reservation: my main and favorite system is primarily Debian, and not Ubuntu, they have some difference in the assembly of packages, I will talk about it separately.
And one more thing: if you are interested in including the packages you have collected specifically in Debian, then it is better to write about it in the comments and join the corresponding blog . He looks dead, but it would be better to post such a story there, so if you are interested, I will write about it there too :)
What software is suitable?
When you want to build some kind of program, the first thing you should think about is whether they will take it to the distribution kit. The fact is that the whole ideology of the Debian distribution is primarily governed by such an interesting document as the Debian Social Contract (or Social Contract) . Basically, this contract states that:
- Debian Remains 100% Free Software
- Our developments will be returned to the Free Software Community
- We will not hide the problems
- The main thing for us is our users and Free Software.
- Developments that do not meet our Free Software Standards may be distributed with Debian, but are not part of it.
In more detail: the whole Debian system was, is and will be a truly free system. It will never have proprietary components. All developments made within the framework of Debian will be licensed as free software and returned to the community. All corrections and patches for programs made within the framework of Debian will be offered to the authors of the programs (completely free :)). All errors and problems in the distribution kit are also free and open from the moment you report them (more on that later). For non-free software, Debian has a special non-free section. The packages that are placed there are not part of Debian, although they are distributed with it.
“What about us?” Users will ask Ubuntu. Exactly the same. In Ubuntu there is a “Promise to Ubuntu” (lies on the main page of ubuntu.com) and a documentThe philosophy of Ubuntu . In general, the restrictions are almost the same, in Ubuntu they are slightly softer, but I recommend focusing on Debian.
So, if we decided that our ideology coincides with the ideology of Debian / Ubuntu, then we can take up the next paragraph.
In which section of the distribution package should our future package be included?
Debian and Ubuntu distributions are divided into several categories, each with its own. By connecting and disconnecting any of these categories in our apt settings, we can both completely protect ourselves from non-free software and furnish ourselves from all sides. What categories are there?
There are 3 main ones in Debian (memory tells me that once there was still a non-US section, but now it seems to be gone):
- main - The software in this category is absolutely free or, as the red-eyed fans say, b-th. To fall into this category, your package must be free itself, not require builds (in Build-Depends) and not offer to install (in Depends, Recommends, and Suggests) any packages not from main and not so buggy that Debian developers refused to support him
- contrib - packages in this category are also required to be completely free and not too buggy, but they have the right to depend in some way on the packages in contrib, non-free and even require packages that are not present in Debian to build.
- non-free - in this category, oddly enough, there is also a selection. Software claiming to be non-free should not be too buggy (this is a standard requirement, as you can see) and should not have licensing restrictions that obviously will not allow you to put it even there.
In addition, all packages must comply with the harsh Debian Policy document , but about it in future releases.
In Ubuntu, the categories are as many as four and the division is slightly different. All software is conditionally divided into two groups: supported and unsupported. Packages from the first group are officially supported by the developers of Ubuntu (or, as they call themselves, MOTU - Masters (Maintainers) of the Universe), the second is collected by extraneous maintainers. Each group has a category for free and non-free software. Thus we get 4 categories:
- main - supported free software
- restricted - supported non-free software (some non-free drivers and similar things vital to the normal operation of the distribution kit fall into such an interesting category)
- universe - unsupported free software
- multiverse - unsupported non-free software
Basically, the distribution criteria are still the same as in Debian, with one exception: main allows some proprietary fonts and firmware, if they are distributed free of charge and are vital for the normal functioning of the system. Also, in Ubuntu there is another secret category of commercial - in which packages that have distribution restrictions are placed, but for which Canonical still received the appropriate permission from the copyright holders. Previously, RealPlayer and Opera were included, but in the distributions following after Feisty Fawn, this category seemed to be abandoned.
And what software is considered free?
In this matter, both Debian and Ubuntu are guided by one document (which, incidentally, was accepted by the entire free software community as the basis for the definition of OpenSource). These are the so-called Debian Free Software Definition Criteria (Debian Free Software Guidelines or DFSGs), which are part of the aforementioned Debian Social Contract. It does not make sense to list and paint them all, since they can be read in Russian at the above link, so I’ll tell you briefly:
- For software to be considered free, it should not limit its distribution or sale and require some kind of deductions and fees
- The software is obliged to distribute the source texts and to allow their joint and separate distribution with binary packages
- Software must authorize the creation of derivative works and distribute them under the same license as it is. The software may prohibit changes to the source code only if it is allowed to create and jointly distribute the patches imposed on it when assembling binary packages.
- The software should not create any discrimination against people, including by field of activity - everyone has the right to apply it wherever he wants.
- The license should not apply only to Debian or Ubuntu, it is the same for everyone.
- The license should not in any way limit other software.
Thus, Debian has a list of the main licenses distributed under which the software can be considered free: GPL, LGPL, Modified BSD License, Perl Artistic License, Apache License, CC BY-SA 3.0 and several others. At the same time, for some reason, some common licenses are considered incompatible with Debian - these are GNU FDL, almost all Creative Commons licenses (except for the mentioned BY-SA 3.0) and others. A complete list of Debian licenses reviewed is available here . However, you should always remember that Debian developers each time decide on a specific program, and not on an abstract license.
Where to look at the available packages and their bugs? The social contract promised that anyone can do it!
Debian is committed to its contract. Any program that was even planned to be “packaged” (about which some maintainer posted a message that he plans to pack it) instantly gets into the error tracking system . Any user can go there and view information about the package of interest to him. For packages that are only supposed to be published (as well as requiring refinement, looking for a new maintainer, etc.), there is a special WNPP meta-package . For example, going here , we will find information about the qutIM program supposed to be packaged and the correspondence of several maintainers about this.
Ubuntu has a similar system - Launchpad . Herefor example, you can see what the qutIM package page looks like on Launchpad.
Total
We got an idea of how the software is distributed in Debian and Ubuntu, where to look for it there and what are the licenses. Next time, if the article turns out to be interesting to someone, I will tell you who is stricter - Debian or Ubuntu, which programs will be useful for you to create packages, why this approach to Ubuntu is fundamentally wrong, which is why I have mentioned it so many times qutIM has still not reached Debian, and what other pitfalls await a person who wants to build a package for their favorite distribution.