27

As per my knowledge/understanding both help and man came at the same time or have very little time difference between them. Then GNU Info came in and from what I have seen is much more verbose, much more detailed and arguably much better than what man is. Many entries even today in man are cryptic.

I have often wondered why Info which is superior to man in many ways didn't succeed man at all. I still see people producing man pages than info pages. Was it due to not helpful tools for info? Something in the licenses of the two? Or some other factor which didn't get info the success it richly deserved?

I did see a few questions on unix stackexchange notably What is GNU Info for? and Difference between help, info and man command among others.

7
  • Nominated to reopen. Yes, there is some subjectivity in there, but there are certainly reasonable things to say why info did not take off as a default Unix documentation format. Though I'm no expert on the topic. Commented Oct 7, 2014 at 17:52
  • 2
    For what it's worth, man existed since the dawn of time -- i.e., the mid 1970s. AFAIK help is quite a bit more recent that that. Commented Oct 7, 2014 at 18:19
  • 2
    While there are objective things to say about man vs info, to get to the question's "why," you have to apply opinion. Is verbosity actually better? Is it better to have a bunch of hyperlinked documentation sections or one big document? Etc. The OP obviously believes info is better, but I like man better. That's enough to prove we're in the land of opinion. Commented Oct 7, 2014 at 18:26
  • 2
    Your other query is 100% off topic since it can only be pure opinion and speculation. IMO your initial query is also off topic for the same reasons. I also dislike info since I never remember all the tricks of moving around in it. If you're going to have something that complex, why not use HTML and a browser? But that too is an opinion, I don't see how you can get a definite answer to this. Commented Oct 8, 2014 at 11:47
  • 6
    @terdon Hello, this is 1986, the GNU project has published Info as an improvement on manual pages — you can print an Info manual, or browse it on the computer and follow links to different sections, which is pretty neat. What is this “HTML and a browser” that you speak of? Commented Oct 8, 2014 at 20:57

4 Answers 4

27

To answer your question with at least a hint of factual background I propose to start by looking at the timeline of creation of man, info and other documentation systems.

The first man page was written in 1971 using troff (nroff was not around yet) in a time when working on a CRT based terminal was not common and printing of manual pages the norm. The man pages use a simple linear structure. The man pages normally give a quick overview of a command, including its commandline option/switches.

The info command actually processes the output from Texinfo typesetting syntax. This had its initial release in February 1986, a time when working on a text based CRT was the norm for Unix users, but graphical workstations still exclusive. The .info output from Texinfo provides basic navigation of text documents. And from the outset has a different goal of providing complete documentation (for the GNU Project). Things like the use of the command and the commandline switches are only a small part of what an Texinfo file for a program contains.

Although there is overlap the (Tex)info system was designed to complement the man pages, and not to replace them.

HTML and web browsers came into existence in the early 90s and relatively quickly replaced text based information systems based on WAIS and gopher. Web browsers utilised the by then available graphical systems, which allows for more information (like underlined text for a hyperlink) then text-only systems allow. As the functionality info provides can be emulated in HTML and a web browser (possible after conversion), the browser based system allow for greater ease of navigation (or at least less experience/learning).

HTML was expanded and could do more things than Texinfo can. So for new projects (other than GNU software) a whole range of documentation systems has evolved (and is still evolving), most of them generating HTML pages. A recent trend for these is to make their input (i.e. what the human documenter has to provide) human readable, whereas Texinfo (and troff) is more geared to efficient processing by the programs that transform them.¹

info was not intended to be a replacement for the man pages, but they might have replaced them if the GNU software had included a info2man like program to generate the man pages from a (subset of a larger) Texinfo file.

Combine that with the fact that fully utilising the facilities that a system like Texinfo, (La(TeX, troff, HTML (+CSS) and reStructured Text provide takes time to learn, and that some of those are arguably more easy to learn and/or are more powerful, there is little chance of market dominance of (Tex)info.

¹ E.g reStructured Text, which can also be used to write man pages

2
  • As of now your answer is the best so far but am going to wait for a few more days before awarding you. One query though, shouldn't it have been man2info rather than info2man. I have also felt that the language was bit more informal/easy than man is/was. Greedy for more answers to the same. Thank you for your wisdom :) Commented Oct 9, 2014 at 16:07
  • @shirish It is easy to be the best so far as long as it is the only answer ;-) . I meant info2man, it is also mentioned on the Texinfo wiki page. With an official GNU supported way to extract man pages from info, they could have created a two-in-one solution, and maybe had more chance to replace man Commented Oct 9, 2014 at 16:26
3

GNU info was preceded and influenced by XINFO in TOPS-20.

XINFO was preceded and influenced by INFO in MIT ITS.

Back in the day, discs were tiny, terminals were slow, many terminals were still paper, and so-called 'glass TTYs' did not offer things like cursor addressing. Man pages were supposed to be short, reminders not real documentation. They were small enough that your sysadmin probably didn't remove them from the machine to save space, but might well just keep the compressed output around. They could be displayed on the crudest of terminals or typeset nicely. You could write new man pages using only software that came with your Unix distribution, and read them quickly without having to navigate blindly through a twisty maze of nodes and edges, not entirely unlike playing rogue or zork.

Eventually programs like tkman made it possible to get some of the benefits of info or HTML while retaining the man format, and even when some vendors like Sun switched over to providing documentation in SGML or XML (docbook), it was still processed by converting it to man format, because you needed man tools for things not provided by the vendor.

That thing about sysadmins removing or not installing documentation files? To this day in Linux, 'apt install foobar' too often requires a separate 'apt install foobar-doc'.

3

Honestly, GNU info was incredibly obnoxious and patronizing. you wanted to look up a few things, spend maybe 20 seconds reading and jump to examples and then go on with the next bit of that pipe'd workflow that was your actual concern. Software that used GNU info came with stub man pages that didn't give you that structured view (you know or might find that most man pages had the same structure, meaning one could process them mentally in a deterministic order) instead they gave you a short notice that said: 'this project uses GNU info for its documentation' and nothing more.

So you jump into info programname which isn't split into sections anymore, so you can't rely on looking at man 1 something or man 7 something and just pick - directly - what concerned you.

Instead you found yourself in a full training course on the said piece of software (which was potentially just a minor step of your workflow), which would have enough information to fully learn the whole design and all functionality of the program. usually they didn't include any examples, since you wouldn't need those if you already learned the whole design and all features, right?

It's an unknown number of articles you need to zap through, hoping you'll notice the information you're looking for. if you feel diligent, you'll try to read it all, but you don't actually know how many pages there will be. It burned you out to stay super attentive looking for information whilst getting lots and lots of information that just isn't that at all.

finally, you would like to not forget what you were going to do, so you cannot just dive in every info page either.

See the problem? They consistently ignored that the user looking at them likely was gonna do something. Like, that the users had a life happening at that moment.

Reading up on programs was important, and yes, you would fare well by doing that in your idle time. But that's what was usually nicely placed in /usr/share/doc for that purpose. And it was really nice to have a say in when you would do it.

Add to that the breaking with basic UNIX convention of how and when man pages were used by just supplying stubs on GNU/Linux, whereas you had working man pages on all other OS (plus really, really great manuals that were quite similar to what you'd find in info pages, just written by professional documentation writers with didactic background)

GNU info programs let users down instead of supporting them. They weren't approachable, harder to progress through, didn't give you a sense of how far away your needed information was, didn't reflect on their size in general. It was a tarpit, really annoying, and that's why it failed.

If they had instead supplied them as an addition to a shortened, concise man page and a good apropos like search (iirc there wasn't a way to search them all as easily(*)) they would have been a really cool addition. Ignoring the fact that there was a standard being used and just dropping in a new one without looking at the old thing was not very, "Free as in Freedom" and it was odd that especially in GNU land noone figured that. Back then people joked about the 'eat it' attitude in OpenBSD, but... guess what! OpenBSD had insanely good man pages, admittedly because they didn't want to be bothered by anyone. So they just laid out their rationales and usage really well. And it didn't need a new system. it just needed care.

(*) if there was, i'm sure someone will point out that and ignore the whole rest.

Anyway, I know it wasn't just me, I heard more than one friend go 'raaaaaaaaaaargh' when finding they needed to look at info docs instead of a man page.

1
  • Accurate. I hear some advocates of info saying it's more "powerful" or "expressive", those traits are actually anti-features along with the non-intuitive navigation [for those who don't live in info 40 hours a week] for a simple textual information manual. It may have been reasonable back in 1986 when there was far less system to know and you could dedicate more time to each utility, but not at all suited to competing in today's complex mix of similarly convoluted "not invented here" stuff. Commented Oct 14 at 8:30
1

M-x man RET info RET gives you the man page for the info program within the info program.

In my view, this functionality proves that the info program succeeds the man program (unless there is a way to achieve the reciprocal of this in the man program)

5
  • 1
    I don't know what M-x refers to and hence don't know what you are trying to drive at. A bit more clarity on that part would make it easy for me to understand what you mean. Commented Dec 28, 2021 at 18:59
  • M-x means Alt-x (holding down the Alt key and subsequently pressing the x key). Saying, M-x is the standard way for saying that in this day and age. Therefore, saying M-x man RET info RET, in English means, "hold down the Alt key and subsequently press the x key; after which type in the string "man", after which press the Enter/Return key, after which type in the string "info", and finally press the Enter/Return key Commented Dec 29, 2021 at 14:51
  • That sadly doesn't work on either guake or mate-terminal :( Commented Dec 29, 2021 at 20:42
  • 2
    "Saying, M-x is the standard way for saying that in this day and age." no, it's a silly atavism that only emacs users say. the standard way is to say "Alt-X", because the key you press has the word "Alt" printed on it. the keyboards that had the Meta key were last manufactured before I was born. Commented Feb 26, 2023 at 1:12
  • This is the mention I find of what to do when I'm reading info and need to look up its help without completely loosing track of where in info I am. Thanks! Commented Apr 9, 2024 at 7:22

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.