https://vega.github.io/editor/#/custom/vega
{
  "$schema": "https://vega.github.io/schema/vega/v5.json",
  "description": "A timeline of peer-to-peer software.",
  "width": 500,
  "height": 300,
  "padding": 0,

  "data": [
    {
      "name": "software",
      "format": {"type":"json", "parse":{"created":"date","ended":"date"}},
      "values": [
        {
          "label": "Napster",
          "created": "1999-06-01",
          "ended": "2002-09-03"
        },
        {
          "label": "DC++",
          "created": "1999",
          "ended": "2022"
        },
        {
          "label": "Madster",
          "created": "2000-08",
          "ended": "2002-12"
        },
        {
          "label": "BearShare",
          "created": "2000-12-04",
          "ended": "2013-01-29"
        },
        {
          "label": "WinMX",
          "created": "2000-12-04",
          "ended": "2004-07-02"
        },
        {
          "label": "Soulseek",
          "created": "2001-04-08",
          "ended": "2021-02-21"
        },
        {
          "label": "BitTorrent",
          "created": "2001-07-02",
          "ended": "2022"
        },
        {
          "label": "Morpheus",
          "created": "2001",
          "ended": "2007-11-15"
        },
        {
          "label": "Phex",
          "created": "2001-04",
          "ended": "2009-02-01"
        },
        {
          "label": "Grokster",
          "created": "2001",
          "ended": "2005"
        },
        {
          "label": "Kazaa",
          "created": "2001",
          "ended": "2006-11-26"
        },
        {
          "label": "GNUnet",
          "created": "2001-11-05",
          "ended": "2022"
        },
        {
          "label": "AudioGalaxy",
          "created": "2002",
          "ended": "2010"
        },
        {
          "label": "LimeWire",
          "created": "2000",
          "ended": "2010"
        },
        {
          "label": "FrostWire",
          "created": "2004-09",
          "ended": "2022"
        },
        {
          "label": "WireShare",
          "created": "2010-10-28",
          "ended": "2022"
        },
        {
          "label": "eDonkey2000",
          "created": "2000-09-06",
          "ended": "2006"
        },
        {
          "label": "eMule",
          "created": "2002-05-13",
          "ended": "2010-04-07"
        },
        {
          "label": "aMule",
          "created": "2003-09",
          "ended": "2021-02-07"
        },
        {
          "label": "Shareaza",
          "created": "2002",
          "ended": "2017-09-18"
        },
        {
          "label": "Vuze",
          "created": "2003-06",
          "ended": "2017-11-02"
        }
      ]
    }
  ],

  "scales": [
    {
      "name": "yscale",
      "type": "band",
      "range": [0, {"signal": "height"}],
      "domain": {"data": "software", "field": "label"}
    },
    {
      "name": "xscale",
      "type": "time",
      "range": "width",
      "round": true,
      "domain": {"data": "software", "fields": ["created", "ended"]}
    }
  ],

  "axes": [
    {"orient": "bottom", "scale": "xscale", "format": "%Y"}
  ],

  "marks": [
    {
      "type": "text",
      "from": {"data": "software"},
      "encode": {
        "enter": {
          "x": {"scale": "xscale", "field": "created"},
          "y": {"scale": "yscale", "field": "label", "offset": -3},
          "fill": {"value": "#000"},
          "text": {"field": "label"},
          "fontSize": {"value": 10}
        }
      }
    },
    {
      "type": "rect",
      "from": {"data": "software"},
      "encode": {
        "enter": {
          "x": {"scale": "xscale", "field": "created"},
          "x2": {"scale": "xscale", "field": "ended"},
          "y": {"scale": "yscale", "field": "label"},
          "height": {"value": 2},
          "fill": {"value": "#557"}
        }
      }
    }
  ]
}
Own work
Frap