13

I have been assessing ConTeXt as a platform for technical documentation production. It seems to have some compelling capabilities that are hard to match with LaTeX, such as in-built XML and HTML support, project-orientatedness, and more seamless support for programatic document publication.

As many people have pointed out, the documentation is in many cases over a decade old, which raises red flags about the vigour of the project. While there seems to be a constant froth of LaTeX development activity, and support in these forums, the ConTeXt world is relatively silent.

Assessing the health of an open-source software project can be difficult, but I would appreciate any comments on the current status of ConTeXt, development activity, the state of the user base, commercial adoption, commercial services available (training, consulting etc), or any other indicators of how well the project is doing.

Thank you in advance for your observations.

Ron
  • 301

2 Answers2

12

I'd like to answer this question as someone who only started using ConTeXt last year and had similar concerns going in. The following is more of a user perspective rather than an evaluation of commercial potential.

As many people have pointed out, the documentation is in many cases over a decade old...

It's true that some (much?) of the documentation on the ConTeXt wiki is patchy or a bit out of date. However, I have found many of the published manuals to be largely exceptional.

  • The reference manual is excellent (looks like updated in 2013)
  • Although not ConTeXt per se, the Metafun manual has been a revelation for me
  • The publications and units manuals are good examples of relatively recent package-specific documentation

On top of the core manuals, there are a number of tutorial-style publications that I found extremely useful:

As Henri Menke pointed out in the comments, there are quite a few other good manuals that I originally missed: ConTeXt MKIV: An excursion, Fonts out of ConTeXt, ConTeXt Lua documents, Still going on, On and on, and the Commands reference.

Overall, I found the much more standardized nature of ConTeXt to make up for the lower volume of documentation. Getting familiar with how some environments work enabled me to make guesses about others -- something I never learned to do in LaTeX.

While there seems to be a constant froth of LaTeX development activity...

From what I gather, much of the development activity in LaTeX is related to packages rather than the LaTeX core. As discussed to some extent in this question, ConTeXt requires far fewer packages to get things done, and much of the core functionality is built in. I see the reduced volume of competing packages as a positive rather than a negative.

That said, as Aditya pointed out in the comments, the context beta is under ongoing development. And Hans Hagen recently asked about feature requests for a new version.

While there seems to be a constant froth of [...] support in these forums, the ConTeXt world is relatively silent

If you are talking about StackExchange, I'd guess that at least half of the questions I see about TeX/LaTeX are "draw this for me in Tikz", so I'm not sure that the volume of questions should be compared directly. That said, practically every single question I have asked here or on the mailing list has been answered within basically 24 hours. There are a number of very knowledgeable members here and the mailing list offers access to more, including the developers of ConTeXt, who are very actively involved.

To conclude:

The state of the community probably has more to do with your needs than anything else. Is there anything specific that you are looking for that you haven't been able to find?

ssokolen
  • 1,718
  • 6
  • 13
  • 2
    Personally I find the reference manual pretty useless because it has a look of leftovers from MKII in it. I prefer ConTeXt MKIV: An excursion. It's not yet complete but at least does not contain outdated material. – Henri Menke Aug 25 '18 at 23:08
  • 2
    BTW, I think the most useful manuals are ones which you haven't listed at all, such as Fonts out of ConTeXt, ConTeXt Lua Documents, Still going on, and On and on. Not to forget the setups overview in ConTeXt commands. – Henri Menke Aug 25 '18 at 23:17
  • Thanks ssokolen for the thoughtful input. You pointed out some good resources. I have to admit that I am still finding it difficult to asses ConTeXt. For example, my heart leapt when I found the chart module guide (simple, elegant declarative flow charts, consistent across all documents). But labels on connectors caused font errors with out-of-the-box TexLive on a Mac and some advanced features, like attaching help text to nodes did not work. This is typical of the hit-and-miss success I've had with ConTeXt so far, and searching several years of the mailing list yielded nothing. – Ron Aug 26 '18 at 11:48
  • ... I also noticed that metaafun is not exported by default to (x)html, something I would need. Maybe I should reformulate my original question. ConTeXt has some really compelling characteristics for writing technical documentation, midsized companies could potentially get further, faster with it than with popular platforms, such as DITA, while not running the same risk of bankruptcy. But to recommend it, one would need to know that it won't interrupt business continuity, that resources are available (staffing, robust documentation, training, etc). I'm trying to assess these characteristics. – Ron Aug 26 '18 at 11:56
  • @Ron I definitely recognize that my answer didn't address the underlying motivation for your question (the business case of using ConTeXt). But since you focused on the "health of community" aspect, I think it's fair to answer that the community itself is relatively healthy. Or at least healthy enough that you can ask questions about your specific needs and expect a response (whether positive or negative). It's not as big of a community as LaTeX so you won't find that everything has already been asked, but you should be able to find someone to answer you. – ssokolen Aug 26 '18 at 13:56
  • @HenriMenke The only "Excursion" document I have seen before was dated 1999 and I'm afraid it scared me off that title -- I didn't even recognize there was a more recent version. My list of manuals is definitely pretty limited as my needs have been limited thus far but thanks for adding to the reading list! – ssokolen Aug 26 '18 at 14:01
  • @ssokolen, fair point. There is definitely a distinction to be made between the health of the community - it's ability to service the needs of its members, and the feasibility of a commercial company to join that community to meet its documentation needs. I suspect (and may well be wrong), that the majority of ConTeXt users are academic, institutional or niche publication consultancies. If there are, say, OS developers or telecom hardware manufacturers using it to support their customers, I'm curious to know how they've implemented and supported ConTeXt. – Ron Aug 26 '18 at 15:47
  • @Ron You could try asking again on the mailing list whether there are any users like that and if they have any opinions to share, but it's hard to say whether such users would frequent either StackExchange or the mailing list enough to find and answer such questions. – ssokolen Aug 27 '18 at 03:52
6

I am answering the question as elaborated in the comments of the previous answer:

ConTeXt has some really compelling characteristics for writing technical documentation, midsized companies could potentially get further, faster with it than with popular platforms, such as DITA, while not running the same risk of bankruptcy. But to recommend it, one would need to know that it won't interrupt business continuity, that resources are available (staffing, robust documentation, training, etc). I'm trying to assess these characteristics

I don't know the other platforms like DITA that you mention, so I cannot directly compare. But I'll add your main concern about "interrupting business continuity".

ConTeXt is a fairly mature software (it started in early 1990's) but there are certain things you need to be aware of if you plan to use it for a long term project.

  1. Occasionally, context beta has bugs so that simple files do not compile. More often than not, this is a simple packaging issue and gets fixed in a couple of hours.

  2. It has a high bus factor. Most of the code is maintained by one core developer, with 4-5 other developers regularly contributing patches and tests.

Having said that, it is relatively easy to "freeze" a version of ConTeXt for a project using ConTeXt standalone. As the name suggests, it is a standalone version of context with all the code and binaries stored in a single directory. (This is similar to virtualenv in python, if you have used it). You can then use a dedicated context-standalone installation for a long-term project. That is, don't update it and your project will not break! If the new release has a feature that you really want to use, then you can install a new version (in a different directory!), test it, and if it works, switch to the new version. Always keep the old version around in case you hit some unexpected bug in the new version. ConTeXt standalone is about 300MB (most of the space is taken by fonts anyways), so it is not a big deal to have multiple versions lying around.

Lot of the split in the documentation that you see was due to MkIV. When LuaTeX started being developed (about 10-12 years ago), ConTeXt moved most of its backend code to Lua. This made the code faster and simpler to maintain (the luatex version is still slower than pdftex version for small documents because parsing and loading opentype fonts takes more time than parsing and loading type1 fonts). In the process, some of the interface changed. Such a drastic change is unlikely to happen in the future.

Finally, ConTeXt is a open source software. So, even in the unlikely event of development ceasing, you can still use it. Just because something is not being actively developed doesn't mean that it can no longer be used.

Aditya
  • 62,301