Citation: 2C_375/2020 E. C

A.A.________ gelangt mit Beschwerde in öffentlich-rechtlichen Angelegenheiten an das Bundesgericht. Er beantragt, das Urteil des Kantonsgerichts Luzern sei aufzuheben. Seine Aufenthaltsbewilligung sei zu verlängern und seine Ausweisung zu widerrufen. Eventualiter sei die Sache im Sinne der Erwägungen an die Vorinstanz zurückzuweisen. Der Abteilungspräsident legte der Beschwerde am 18. Mai 2020 antragsgemäss aufschiebende Wirkung bei. Das Kantonsgericht des Kantons Luzern verzichtet auf eine Vernehmlassung und beantragt die Abweisung der Beschwerde. Das Amt für Migration des Kantons Luzern, das Justiz- und Sicherheitsdepartement des Kantons Luzern sowie das Staatssekretariat für Migration verzichten auf eine Stellungnahme. Der Beschwerdeführer ersucht nachträglich um Gewährung der unentgeltlichen Rechtspflege.