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.

shirish
  • 12,356
  • 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. – Faheem Mitha Oct 07 '14 at 17:52
  • 1
    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. – Scott - Слава Україні Oct 07 '14 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. – Warren Young Oct 07 '14 at 18:26
  • @WarrenYoung Let's for the sake of argument say man is better than info. In such an event wouldn't info have died.

    I read lot of old man pages and they were written from perspectives from and to computer scientists and not user 'joe'. It's only recently that they have started using examples to describe how to use a command or whatever for common actions.

    The other query I asked about what people think the future is for help systems within linux or free software as a whole has not been taken at all :(

    – shirish Oct 07 '14 at 19:47
  • 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. – terdon Oct 08 '14 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? – Gilles 'SO- stop being evil' Oct 08 '14 at 20:57
  • I told FaheemMitha that if he wanted to get this reopened to ask around, so 5 other's felt this was not opinion, so have at it 8-). – slm Oct 08 '14 at 21:17

3 Answers3

25

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

Faheem Mitha
  • 35,108
Anthon
  • 79,293
  • 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 :)

    – shirish Oct 09 '14 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 – Anthon Oct 09 '14 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'.

raok
  • 131
0

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)

  • 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. – shirish Dec 28 '21 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 – John DeBord Dec 29 '21 at 14:51
  • That sadly doesn't work on either guake or mate-terminal :( – shirish Dec 29 '21 at 20:42
  • "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. – dain Feb 26 '23 at 01:12