New online man pages for Debian
The announcement of a modernized version of the online Debian man pages was met with well-deserved acclaim, but also with some concerns about the development tools being used. The man pages themselves are handy and are organized by Debian release; each page provides navigation links to pages for each release and in languages other than what is set in the browser. But the use of GitHub for development and bug tracking was questioned by some.
Michael Stapelberg posted the announcement of the updated service in
mid-January to the
debian-devel mailing list. Instead of a CGI script, the man pages are
statically generated "and therefore
blazingly fast
". Stapelberg implemented the debiman tool that is used to
create the static web pages from the man pages in Debian packages. He
also worked with the Debian system administrators to deploy the service.
As described on the About
page, others were instrumental in getting the service up and running as
well.
The CGI-based version ran aground in August 2016 due to excessive load that was at least partly caused by traffic from robots and web spiders. Default Apache installs on Debian linked to manpages.debian.org, which apparently exacerbated the problem. That led to the creation of debiman and the new site, which can withstand much more traffic because of its static nature.
The debiman program runs regularly to pick up new packages or changes to the man pages. It takes less than ten minutes for debiman to create the whole set of pages for Debian unstable and less than fifteen seconds to do an incremental update, according to the project page. It tracks multiple Debian repositories; as Stapelberg put it:
![crontab(5) [crontab(5)]](https://static.lwn.net/images/2017/debian-manpages-sm.png)
The debiman page notes that the crontab(5)
man page (seen at right) is a particularly good test case because it
"is present in multiple Debian versions, multiple languages, multiple
sections and multiple conflicting packages
". The page for the
"Jessie" (Debian 8.x) version has links to man pages for three different
packages (cron, bcron-run, and systemd-cron), several different versions
("Wheezy", testing, unstable, and experimental), the crontab(1) man page,
and the page in five different languages.
The response was generally quite positive. Various folks replied to offer congratulations and thanks. There were, of course, some bug reports and feature requests as well. Henrique de Moraes Holschuh asked that man pages from the contrib repository be added, since those are all freely licensed (unlike non-free). Stapelberg added an issue to the GitHub tracker, which was closed as fixed shortly thereafter.
Paul Wise posted a laundry list of suggestions and bugs, most of which were either already addressed or had new GitHub issues opened for them. But Debian has its own bug tracker, of course. Ian Jackson was concerned about the use of GitHub both for hosting the code and for bug tracking. He suggested creating a pseudopackage in the Debian bug tracker so that users can report bugs that way. He also would like to see a way to automatically get the source code from the debiman program:
Would you accept a patch to make debiman copy its own source code, including git history, to its output ?
Stapelberg pointed out that each of the
pages has the Git revision used to generate it in the page footer
("debiman c17f615, see github.com/Debian/debiman
").
That should allow anyone to check out the exact code that was run to create
the page. There are some other ancillary files that need to be checked
into Git, but that was already on his to-do list. He said that while he
agreed with Jackson's concerns about using a proprietary service like
GitHub, he was being pragmatic about it:
In my personal experience, I can say that I would not be able to spend _nearly_ as much of my time on FOSS if it weren't for GitHub's convenient web interface.
Even though the commit ID is available on each page, Jackson said, he would "like to be able to check out
the running version without interacting with a proprietary online
service
". To that end, Stapelberg created a mirror
of the GitHub repository for debiman and a repository
for the Debian-specific pieces on Debian's infrastructure. That way,
anyone who wants the source, but doesn't want to deal with GitHub, can get it.
Creating a pseudopackage for the Debian bug tracker would allow users to report bugs in debiman using that system. Stapelberg is not entirely happy with that plan, but is willing to go along:
The underlying problem is that there is no free alternative to GitHub that is as full-featured. Various posters in the thread noted that problem (including Jackson in his original response). The ease of use of GitHub, along with its widespread adoption, simply makes it far easier for new contributors to get involved. It is not at all surprising that Debian developers, in particular, would be disinclined toward GitHub, but alternatives need to arise. As Alec Leamas put it:
But, we cannot just say "our tools are as good as github". Because they are not. We need to understand it, and see what can be done. It's an uphill battle, but also uphill battles can be won.
There was a suggestion to look at using a free version of GitLab for hosting Debian projects. The fact that there is a free version may be a sticking point, however. GitLab the company has two separate versions of its code, a community edition and closed-source enterprise edition, which is the classic "open core" model. Lars Wirzenius was not particularly interested in using GitLab because of that:
So it would seem that things have worked out amicably at this point, though it is unlikely that the GitHub question has gone away. But there are much nicer, faster man pages online and Debian users can get the source and file bugs using Debian infrastructure. The "move" to GitHub is one we are seeing recur with some frequency (e.g. for Python) and will likely see more of in the coming years. A free alternative that eventually attracts a large following is what is needed, but nothing has really reared its head at this point.
Posted Feb 2, 2017 19:42 UTC (Thu)
by anarcat (subscriber, #66354)
[Link]
Really, I'm not sure about that. I use Gitlab a lot, both the commercial version on Gitlab.com and a private instance, "community edition", and I feel it's actually the opposite: there's a bunch of features from Gitlab missing in Github. CI is fully integrated and you can download artifacts straight from the gitlab interface, you can hook up your own runners in the CI - and since it's free software, it's only a matter of running the right apt-get install... Sure, there are *some* things in Github that are missing in Gitlab, but these days I feel it's just a matter of time before the free software alternative catches up...
And yes, there's less people on Gitlab. That's a significant problem. It's the same problem we have with social networking free software alternatives to Facebook and Twitter. But we can't actually blame Gitlab for this: Gitlab supports mirroring (and pushing to!) other git repositories, so it doesn't force you to centralize. Github on the other hand, centralizes everything: while you can mirror your repository on github, you can't automatically push from Github to other repositories. In other words, Github is one way in, no way out. And that's why everyone is centralizing there. That is completely against the free software and distributed spirit of git, but we can hardly blame that situation on alternatives like Gitlab: the blame resides on Github here.
Now. As one of the people that worked on replacing manpages.debian.org, I find it's a shame that the relaunch of the service is obscured by yet another Github debate. I'm a stark free software promoter and defender, but I also think we need to respect the work of our volunteers. Michael put a lot of hours, of his own time, to not only write debiman, but also put the service in production. He has been very responsive to requests, and you don't actually need to use github to get his help: I found him on IRC and he gladly fixed the redirector for dman to work, quite quickly.
I happen to know how much work this is, because before Michael wrote debiman, I wrote debmans, in Python. We worked in parallel, which is unfortunate, but Michael's implementation was so superior and complete that I was happy to let him take the lead (more details on that in this blog post). But if people prefer a manpage generator that's fully hosted on free software, they should look at debmans. It's hosted on Gitlab, but it's synchronized with Alioth (two ways) so you don't *actually* have to use Gitlab either. You just need to finish implementing i18n, conflicting manpages, and the redirector. Then make sure it runs as fast as debiman, support it (through the Debian BTS, of course) and put it in production. Then your ethical dilemma is solved.
But I guess it's easier to complain about another volunteer's ethical choices than to do the work yourself. The "Github issue" in the Debian community is just strange to me considering that the Debian logo itself was built with proprietary software and a even a proprietary font. The Debian stretch artwork was also produced with proprietary software as well, and while there was the usual noise when the choice was made, it was stated by some that, while we prefer that they are produced with free software, but accept they are not, provided they are released under a free license and they work with free software tools. That seeems to be the consensus for artwork, why is that a problem with debmans.
Debiman is free software. Heck, it's fair to assume that debiman was *produced* with free software (e.g. the golang compiler is free, although nobody actually asked what editor Michael was using to produce it, maybe no one actually cares?) That it's hosted on a proprietary service shouldn't matter. Anyways, there are plans to package it in Debian at which point Debiman will become just another upstream, for which we obviously don't (and can't) enforce free software hosting...
So I raise my hat to to Michael and Javier who put all this hard work in making manpages.d.o real again. It looks sexy and it's super fast. Congratulations and thanks for restoring the service!
Posted Feb 2, 2017 20:06 UTC (Thu)
by flussence (guest, #85566)
[Link] (8 responses)
I wouldn't mind installing something like debiman if it could be used offline similarly. I've missed having something like Konqueror back in the day (which had really nice native man/info page rendering).
Posted Feb 2, 2017 22:00 UTC (Thu)
by lsl (subscriber, #86508)
[Link]
For nice-looking man pages I prefer the Postscript (or PDF) version combined with an unobtrusive viewer program.
Posted Feb 3, 2017 7:37 UTC (Fri)
by mstapelberg (subscriber, #66308)
[Link]
There’s actually a paper about the grohtml backend which man(1) uses: https://www.gnu.org/software/groff/grohtml.pdf
I can assure you that the authors have actually taken great care to ensure it looks good on the manpages they checked at the time — more than 10 years ago! What you’re seeing likely is the usual bitrot.
> I wouldn't mind installing something like debiman if it could be used offline similarly. I've missed having something like Konqueror back in the day (which had really nice native man/info page rendering).
debiman can easily be used offline, provided you don’t mind the bandwidth, disk space (3GB for Debian unstable, about 10GB for all suites) and CPU hours to generate/update the corpus (see https://github.com/Debian/debiman/blob/master/PERFORMANCE.md for details).
See https://github.com/Debian/debiman/#development-quick-start for instructions on how to install, run and browse the output. If you run into any issues or have any questions, a GitHub issue is the best way to get them resolved :).
If all you’re interested in is browsing locally available manpages in HTML, you can use the same renderer which manpages.debian.org uses: install the “mandoc” Debian package and use mandoc -Thtml <file>, possibly in a little script to directly open the result in your browser.
Hope that helps!
Posted Feb 3, 2017 17:37 UTC (Fri)
by ianmcc (subscriber, #88379)
[Link] (5 responses)
Posted Feb 3, 2017 18:57 UTC (Fri)
by flussence (guest, #85566)
[Link] (4 responses)
Posted Feb 3, 2017 23:11 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link] (3 responses)
Posted Feb 3, 2017 23:20 UTC (Fri)
by jwilk (subscriber, #63328)
[Link] (2 responses)
I hoped for something more sophisticated...
Posted Feb 3, 2017 23:35 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link] (1 responses)
Posted Jan 14, 2023 20:38 UTC (Sat)
by jwilk (subscriber, #63328)
[Link]
Posted Feb 9, 2017 21:22 UTC (Thu)
by IanKelling (subscriber, #89418)
[Link]
Posted Feb 11, 2017 0:16 UTC (Sat)
by seneca6 (guest, #63916)
[Link]
When I see an "Open Core" model, I ask myself some questions:
When the answer to all of the above is positive, I have no big problem in using it; it's still a large advantage over the proprietary web service. And myself, I call it "open core" rather if the answers are not positive. I like GitLab, and on another note, Jitsi Meet provides the best videoconferencing I've ever used - and I can install it in one "apt-get" on my server.
* For me, "mass-attracting" is important but not the most important point of Free Software *developer tools*, but how else should one interpret the often-touted importance of GitHub's audience...
Posted Feb 12, 2017 10:33 UTC (Sun)
by catalinuxboie (guest, #112452)
[Link]
(Disclaimer: I am the author of RocketGit)
RocketGit (https://rocketgit.com) is not known yet.
I will work hard on RocketGit project to become the best Git hosting solution and I hope it will beat all proprietary and open-core solutions in the not so distant future.
New online man pages for Debian
The underlying problem is that there is no free alternative to GitHub that is as full-featured[...]A free alternative that eventually attracts a large following is what is needed, but nothing has really reared its head at this point.
New online man pages for Debian
New online man pages for Debian
New online man pages for Debian
New online man pages for Debian
New online man pages for Debian
New online man pages for Debian
New online man pages for Debian
https://lists.fedoraproject.org/pipermail/devel/2013-May/...
New online man pages for Debian
New online man pages for Debian
New online man pages for Debian
Open Core or not Open Core, that is the question
* Is the software decent, if I completely forget about the commercial option? Would it be viable on its own? documentation, build path, code quality, features etc.
* Are there any foreseeable conflicts between features users would want for the Free version and what the company wants to keep proprietary?
* Do they eventually liberate proprietary features?
* What's the company's track record?
New online man pages for Debian
But, it is the only AGPL (Affero GPL) Git hosting solution on the market, as far as I know, after Gitorios "gitexit".
In my opinion, the best license for contributors to the project.