Data and models you can use on a commercial website

Josep Castells, , 3 min read

Licence table: MIT, Apache 2.0 and CC BY 4.0 accepted; AGPL-3.0 and non-commercial ruled out
Image: Togent

Why the Lab uses neither YOLO nor ImageNet, which licences it does accept and how the CC BY attribution is met.

A model can be excellent and still be unusable on a commercial website. Before looking at a model's accuracy for the Lab, I check two things: the licence of the code and the model, and the licence of the data it was trained on. Here is what I ruled out, what I accepted and why.

What was left out

Ultralytics YOLO (AGPL-3.0). It is the best-known family of detectors and the first one that appears in any tutorial. Its licence is the AGPL: if you use it in a service accessible over a network, you have to publish that service's code under the same licence. For a commercial website, that means open-sourcing the whole site or paying for a commercial licence. Instead I use D-FINE-N, under the Apache 2.0 licence.

Research-only datasets. ImageNet, KITTI, BDD100K and WIDER FACE are benchmarks in their fields, but their terms restrict use to non-commercial purposes. A model trained on them carries that doubt with it, so they did not make the cut.

Check the specific model, not the family. An open architecture says nothing about the weights file you download: each checkpoint can have its own licence, and some were fine-tuned on non-commercial data. I check the licence field of the exact model I am going to publish.

What is used

  • MIT: Fashion-MNIST (© 2017 Zalando SE), the models I trained myself, ONNX Runtime Web and three.js.
  • Apache 2.0: D-FINE-N, the detector in the detection demo.
  • CC BY 4.0: Speech Commands (Pete Warden, Google), the COCO annotations and PandaSet, the latter with its own terms in addition to the licence.
  • CC BY 4.0 with CC0 or CC BY 3.0 clips: FSDnoisy18k, which I only use as background noise to train the voice model.
  • CC BY 4.0 annotations, CC BY 2.0 images: Open Images, for the ingredient detector. I keep the author and licence of every image.

Attribution: what CC BY requires

CC BY allows commercial use on one condition: crediting the authors. That is why the Lab has a credits page that builds itself from the model cards: if I add a dataset, its attribution appears without my having to remember it.

Two nuances worth knowing:

  • Images do not always share the annotations' licence. In COCO, the annotations are CC BY 4.0, but the photos follow Flickr's terms. You can train on them; what I do not do is redistribute them.
  • Licences do not anonymise. PandaSet does not come anonymised. Before publishing its images I blurred faces and number plates, and its terms also prohibit using the trademarks of the organisations that published it.

The rule, in short

  1. Code and model licence: permissive (MIT, Apache 2.0, BSD). No strong copyleft in a web service.
  2. Data licence: it must allow commercial use. "Research only" is out.
  3. Each specific file, not the family or the name.
  4. Automatic attribution, not from memory.
  5. What cannot be redistributed is not redistributed, even if you can train on it.

Why it matters beyond the Lab

The same question comes up in any AI project for a company: which model, with what data and under what conditions? An assistant that works wonderfully in a demo may turn out to be unusable in production because of a licence. I check this at the start, in the diagnosis, so that it does not surface at the end.

More from the blog

Shall we look at it in your business?

Tell us which process eats your hours and we will see whether AI solves it, with a free assessment.