A clear guideline has to be written, and we should decide whether or not all pages should have a link to homepage/documentation/manual in their description (of course, if that link exists to begin with). We pretty much all agree that when added, links should prioritize CLI guides or documentations rather than apps/company/orgainzations home pages and similar, so only one question remains unanswered.
Since core utilities don't really have documentations or homepages, but rather only man pages, the question is: should the core utility pages have links to web-hosted man pages?
Some of us believe having a link on each page is better even if that link points to man pages which are installed by default, since not all the users necessarily use TLDR from CLI. Others think linking to web-hosted man pages is just reduntant or even not that good since they could be outdated or they could not exactly match the real man pages. See this thread on PR #3030 for example.
Given the above, I figured that taking a vote is probably the best way to go a good way to understand what's the feeling about this, so any contributor to the project is welcome to vote by reacting to this post!
After this gets solved, I'll make a pull request to update the style guide with a clear guideline regarding web links in page descriptions.
Tagging some people just to make sure this gets seen: @agnivade @sbrl @waldyrious @schneiderl @pxgamer @mfrw @Aracki @andrik
I'd argue that linking to the web-hosted man pages are useful. If you're on Windows with an msys environment for example, you may not have access to the man pages themselves.
I agree with @sbrl. Links to web-hosted man pages can be useful when your not using TLDR from a CLI nor from a a OS that have those man pages installed by default.
@mebeim I really dislike making decisions by voting -- see item 4 in GOVERNANCE.md. We are all reasonable people and I think we can compromise on differing opinions and reach a consensus. Using Gitter may be more convenient than a long github comments thread, but still, I'd prefer a discussion to making decisions by raw vote count.
Edit: I ended up repeating myself 馃槃 I didn't realize the link in @sbrl's comment was meant to respond to the form, rather than the content of this issue. Oh well... at least you can't say I'm not coherent!
Sorry for taking such a drastic stance, I didn't actually mean to give an ultimatum to the matter nor to just decide based on the number of votes, some discussion still needs to be made. I've reworded the text of the issue. I didn't really like talking about this decision randomly in other threads scattering comments around PRs without coming to a clear conclusion, so I figured a separate issue would be more appropriate.
Since I've read a lot of comments about this and every time it seemed to be a 50/50 situation I assumed making a poll would have been ok (I was having an hard time keeping track of different arguments). For what I can see now, my concern made sense: the situation is still unclear, 50% would rather have links, but the other 50% doesn't agree.
Now, my opinion on the matter: linking to websites or documentation is useful, but I think that for core utilities, linking to web-hosted man pages is kind of redundant. Moreover, I often see different versions of these online manuals, and sometimes they are outdated or different from the real manual. After all, those are hosted by third parties, and not "official". Given these facts, I agree with @agnivade's comment and would prefer to have links only "where it is not dead obvious where to look for documentation".
So far I've seen some arguments in favor of links on core utilities, but not so many against them (apart from the votes above, and as @waldyrious reminded me, just relying on votes doesn't make much sense), so I would suggest others to better clarify why they wouldn't feel the need for links on core utilities.
Even with the above being said though, if you guys really feel like pointing somewhere even if redundant is better than not pointing to any other piece of documentation at all, well then I'll go with it.
No worries @mebeim, your reasoning is understandable and this issue had to be created for the reasons you mentioned.
I would suggest to quote the arguments in the previous discussions here, rather than just link to them. That way the discussion can be actually held in a single place and we can avoid the jumping around effect that was required before (or repeating arguments that were already presented). Could you do that please?
I'm probably missing some comments, since I remember some other comments, but can't really remember from which PR. Anyway, here's the relevant arguments from #3030:
From #3030 (comment), @agnivade:
I think linking to a man page would be pretty redundant. The whole reason why we started adding homepage links was that folks couldn't find further info about a command. But for core util commands, everything is just a man
away. Thus, I feel adding a homepage link for core linux utils does not make much sense.
Followed up by @waldyrious:
Well, remember that tldr pages are not necessarily consumed on a command line. There's ostera's web client, the duckduckgo integration, the pages at distrowatch, mobile clients, etc. I think not including any link at all based on the assumption that the user is looking at the tldr page in a command line is doing a disservice to users. Of course, if better links exist, I fully suport using them other than the manpage.
In other words, in my view every page should have a link of some sort, even if just to confirm the provenance of the tool.
And again by @agnivade:
I get your point. You want the user to readily have a link to the full documentation. I prefer to have the links only in cases where it is not dead obvious where to look for documentation. It doesn't matter whether the user is in command line or not, they can always search for "man cp" and get the manpage.
That's just my opinion. I will leave it to the community to come to a decision.
And finally by @waldyrious:
Fair enough. My position is that it's better to err on the side of offering unneeded help than not offering needed help. The experience of the former is merely annoying, while the latter can be frustrating and disorienting. (Also, a static rule is easier to describe, implement and validate than a conditional one.) But let's flesh this out at #3041.
Also, quoting myself from #3047 (comment) in support of my argument:
Regarding type: well there it goes another example of a misleading man-page... no options shown, but the command actually supports them. That's unfortunate.
@mebeim any reason you didn't quote this comment above as well?
@waldyrious whoops, missed it when copy-pasting, added :)
Hi guys,
At the first time, I thought it was redundant, but the @sbrl and @waldyrious arguments made me think about that.
And taking a look to the docs of coreutils it didn't look redundant to me, they even categorize the commands.
That's interesting @andrik. What do you guys think about linking the official manual instead of third party man pages? Like this for example:
https://www.gnu.org/software/coreutils/manual/html_node/mv-invocation.html
I wasn't aware of that @mebeim! Sounds like a great idea :D
So what do you think guys, does pointing to the GNU Coreutils documentation make sense for you? For me, it does (definitely more than a third party web-hosted man page). @pxgamer @agnivade @Aracki
I think it definitely makes more sense pointing to the official docs rather than 3rd party ones. But I'm still personally not a fan of providing links for core util pages.
I still stand by my original opinion.
Looks like we are at an impasse here :smile:
According to pt4 of GOVERNANCE.md
All decisions are made by community consensus. This does not mean there has to be unanimity, nor that decisions result automatically from vote counts. What it means is that all interested members of the community are welcome to voice their thoughts, and incompatible positions will ideally be resolved with participants either agreeing with the final decision, or voluntarily consenting to accept it as "good enough for now, safe enough to try".
What if there is no agreement on the final decision ? I believe we should have an arbiter to take the final decision then ? Otherwise things will never move forward. @waldyrious
What about this: If there's an official first-party online manual page, we use that. If there's no first-party online manual page, we leave it out (or potentially link to a linux.die.net one?)?
mmm .. still don't see the need.
Sorry, it's just that I don't want to bloat the core-util pages with redundant information. The links to the GNU documentation are nice and well explained. But it's not something that the user can't find out by themselves, which was the whole point we started adding links.
Yeah that point 4 in GOVERNANCE.md confused me a little. What happens in situations like this one? It's not really well defined :\
I see. It seems to me like it's the convenience of having a link to click (especially if you're using the online client) versus the potential additional clutter of that said link may add.
The question here I guess is which has more value perhaps? A decluttered page that is potentially easier for the reader to visually parse, or an additional link that the user might find useful?
Ideally I think it would be helpful if @waldyrious would step in here.
Most helpful comment
That's interesting @andrik. What do you guys think about linking the official manual instead of third party man pages? Like this for example:
https://www.gnu.org/software/coreutils/manual/html_node/mv-invocation.html