Is downloading, editing (i.e, configuring for automatic base installation), and flashing DietPi images within open-source software an acceptable use case?

Hi! New user here, this is my first post on the forum.

First and foremost, thank you to the DietPi team for creating and maintaining DietPi! I recently discovered it while setting up a Raspberry Pi 5 device to function as a headless private cloud server. Setup was a breeze, and it was really cool to learn about and experience the optimizations this distribution provides.

Second, I’m writing this post to ask the question in the title after beginning to tinker on a small Rust application whose purpose is to scaffold the setup of a secure, self-hosted cloud agent infrastructure. It does so by enabling the user to download, edit, and flash a DietPi image from the terminal instead of having to use multiple tools.

For reference, the following is the step-by-step process which the application guides the user through:

  1. Downloads a DietPi image (from the /downloads/images/ page) on a user-selected supported hardware device (limited, for now, to just the Raspberry Pi devices)
    1. Verifies checksum and signature
  2. Decompresses the image file
  3. Makes edits to files in order to perform automatic base installation (as described in the documentation) based on user-selected preferences for connectivity and functionality
    1. dietpi.txt
    2. dietpi-wifi.txt
    3. /boot/Automation_Custom_Script.sh
      1. e.g., installation and initial setup of Tailscale, herdr (terminal multiplexer), one or more agent harnesses, nono (agent harness sandboxing tool), etc.
  4. Re-compresses the edited image
  5. Flashes the edited image onto a USB device the user has plugged in and selects for setup (e.g., a microSD card)
    1. This step effectively performs the same function which a tool like BalenaEtcher, Rufus, or Raspberry Pi Imager would

As of right now, the tool is still in development and lives in a private repository, but once it’s eventually stable, I would like to release it as free and open-source software just in case somebody else might find it useful. That said, before doing so, I wanted to ask if doing so would violate any kind of terms of use which may exist for DietPi or its hosted images.

I saw that the license in the GitHub repository for DietPi is GPL-2.0, which is broadly permissive, but I wanted to ask explicitly about the permissiveness of this use case out of respect for the maintainers and the work that has gone into this distribution. I also figured asking about it publicly on the forum could be useful for any existing or future projects that were considering implementing similar functionality.

For reference, there is one existing open-source project I found which has similar functionality (a Bash script that can download the image from URL, decompress, edit, and re-compress it, but not flash it) called DietPi Image Customization Script hosted in this GitHub repository which operates under the MIT License.

To my understanding (which can absolutely be flawed; please correct me if I’m wrong here), this use case does not modify DietPi images but rather provides a user with an “all-in-one” mechanism to download and interact with them. Specifically, the software enables modifying configuration files within the image in ways which are consistent with official documentation, but it does not modify the source code which acts upon this configuration. That is, I’m not changing how DietPi uses the config files (nor any other functionality of the distribution) and I don’t plan to. I’m also not hosting the images and don’t plan to do that either. Download functionality, just like the configuration, is influenced by user choice but is abstracted and automated in the sense that user-selected options are routed to a process running inside the program (e.g., the download occurs “in the background” after an option is selected; the user is not directed to the URL to perform a download manually from within a web browser).

With that in mind, is this use case supported in open-source software that would be distributed for free (under a similar license to GPL-2.0)?

If yes, yay! If not, what are the conditions, if any, that would make it so? For example, instead of downloads happening as described above, would it be necessary to link the user to the website where they themselves download the file and “upload” it to the user interface of the application?