Frequently Asked Questions

What's the difference between DitaBase and dit?

DitaBase is a company. Dit is an open source technology. DitaBase is developing dit at the same time as attempting to profit from it. Think of this as though a company were building git at the same time as

Is DitaBase open source?

The dit file type and all essential tools will always be open source. DitaBase itself will make other tools and services that will not be open source, like freemium features on the website and freemium editors with more features.

What scripting language is used?

DitaBase intends to support JavaScript and Python out of the box. They can be used interchangeably, whenever a validator or converter is defined. Scripts are run by building a file for the given language and running it in the command line. This means in practical terms, any language can be used with a bit of configuration. Details on this will be released in time.

Does dit have support for X? (JSON-Schema, RDF, spreadsheets...)

Dit can be made to work with any format, even totally custom formats. By breaking down a format into objects, anything can be described. If it can be written down in binary, then scripts can be written that work with it's functionality.

This does not mean all formats are supported out of the box, or that DitaBase will support all of them.
But it does mean the following:

  • The most popular and requested formats will always be formally supported by DitaBase.
  • The open source community can support any format it chooses.
  • Support for a format cannot be dropped, only the responsibility transferred from DitaBase to open source. If you want to keep using something, just support it yourself.

Isn't dit just another competing format?

XKCD comic, the one true standard
The problem of trying to make a universal standard, as illustrated by XKCD.

We realize the irony of any new format inherently making the problem worse, but dit is not trying to make a format that covers everyone's use cases. That is probably impossible.

Dit is not a format, it is a container. You can't write data in dit format, only wrap data in a dit. For example, you can imagine how you might list some data in JSON vs XML. There is no such format for DitaBase, only a blank payload which is your responsibility to fill with a format.

Maybe format X will turn out to be better than Y. To dit, it doesn't matter. It only wants to make sure that switching between X and Y is as easy as possible. The only competing standard that dit introduces is whether to use a container like this or not. And at the moment, dit is the only one.