11

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.

  • 1
    You may have better luck on the ConTeXt mailing list, which is quite active. – TeXnician Aug 24 '18 at 17:22
  • 1
    There usually seems to be at least one ConTeXt related article in each TUGboat. – Peter Wilson Aug 24 '18 at 17:35
  • 3
    The core ConTeXt developers continue to make their living from typesetting, which is more than most LaTeX developers can say. Moreover, as already mentioned, the ConTeXt mailing list is pretty active. I'm not sure there is an objective answer here. – Joseph Wright Aug 24 '18 at 17:53
  • 4
    Btw, there will be Context conference in Prague in one week, there will be more than 30 participants, that is not really bad IMHO. – michal.h21 Aug 24 '18 at 18:14
  • 4
    ConTeXt codebase is regularly updated on almost weekly (sometimes more frequent) basis: See the commit log at the unofficial mirror of the context betas – Aditya Aug 24 '18 at 19:56
11

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?

  • 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
5

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.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.