Frequently Asked Questions


Is DitaBase open source? And what about 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 GitHub.com

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. DitaBase will also host a marketplace for dit classes, where open and closed source code can be found and used in dits, either for free or for validation as a service.

What scripting language is used?

DitaBase intends to support JavaScript and Python out of the box. They can be used interchangeably, whenever a script 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...)

Yes.
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. It's trying to be a bridge between other formats, and that means it relies on them heavily. 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.