Colin Kaepernick hasn't been on an NFL roster in over three years, but he's preparing as if that will change soon.

The former 49ers quarterback is "training every day -- busting his a-- as if he'll be on an NFL roster in 2020," TMZ Sports reported Monday, citing sources.

Another source close to Kaepernick told TMZ Sports that he's "in the best shape of his life."

Kaepernick opted out of his 49ers contract on March 3, 2017, and has been a free agent ever since. 49ers general manager John Lynch has said he told Kaepernick that if he didn't opt out of his contract that he would be released.

In 2016, Kaepernick kneeled during the national anthem to bring attention to racial and social injustices, and police brutality.

None of the other teams in NFL signed Kaepernick, and as former NFL executive Joe Lockhart wrote on CNN.com last week, one team official said they feared losing 20 percent of their season-ticket holders if they signed him. Last year, Kaepernick settled a collusion lawsuit with the NFL where he alleged the league and its owners conspired to keep him out of the NFL.

But the nationwide protests following George Floyd's death while in Minneapolis police custody have brought new attention to Kaepernick's 2016 protests.

[RELATED: Foxworth doesn't want Kap to sign]

 

Kaepernick worked out last year at an Atlanta area high school for a limited number of NFL teams, but he didn't receive a contract. The workout originally was scheduled by the NFL to be held at the Atlanta Falcons' facility, but Kaepernick pulled out after the NFL barred media access and Kaepernick's lawyers deemed a waiver "unusual."

If Kaepernick is going to get another chance to play in the NFL, he's making sure he's ready for the opportunity.