kaitai-io / kaitai-io.github.io

Kaitai Project homepage
6 stars 9 forks source link

There are no obvious links to the runtime downloads #20

Open Carnildo opened 1 year ago

Carnildo commented 1 year ago

Using Kaitai Struct in a program requires additional downloads beyond what's available from clicking the "download" link, but this is not made clear, and there are no obvious links to them.

Steps to reproduce:

  1. Click the "download" link.
  2. Download and install the "universal .zip" package or the "Linux .deb" package (or, presumably, the Windows MSI installer).
  3. Use the Kaitai Struct compiler to generate code.

Expected result:

You now have everything you need to use Kaitai Struct in your program.

Actual result:

You still need to download the appropriate runtime. If there are any download links for the runtimes on the site, I've been unable to find them.

generalmimon commented 1 year ago

Yes, you're right. Our website/documentation is generally not very good at communicating this to the users. I've added some instructions in this regard to the individual format pages at formats.kaitai.io (see https://github.com/kaitai-io/kaitai_struct/issues/571), but that was only for the most popular languages. And it obviously deserves more attention on the homepage too.

but this is not made clear, and there are no obvious links to them.

Technically, it's mentioned in https://kaitai.io/#using-ks-in-your-project:

Using KS in your project

Typically, using formats described in KS in your project involves the following steps:

  • Describe the format — i.e. create a .ksy file
  • Use a visualizer to debug the format and ensure that it parses data properly
  • Compile the .ksy file into a target language source file and include that file into your project
  • Add the KS runtime library for your particular language into your project (don’t worry, it’s small and it’s there mostly to ensure readability of generated code)
  • Use the generated class(es) to parse your binary file or stream and access its components

and the links to individual runtime library repos is in https://kaitai.io/#download under Licensing:

but I agree this is not very clear or sufficient, and it's not an excuse. I'm aware that this is an issue. At least the homepage deserves a bit of rework to address it.

Most users appear to ultimately figure out that they need the runtime library as well, but I'm not entirely sure how they do that, because it's indeed not very well documented.