So why isn't he the starter?
It's a long story...
In 2012 he played 2 games a LT. He was reasonably good. When Tyron got back into the lineup, the OL coach (Callahan) wanted to bench Free and start Parnell; however, "management" wanted to stay with the more experienced Free. The compromise was to have Free and Parnell rotate at RT. Parnell played reasonably well considering his lack of experience. He was as good as Free if not better.
Parnell was projected to push Free for a job in 2013. The Cowboys were ready to cut Free is he didn't take a pay cut because they were confident that Parnell could do the job. Free took the pay cut and some reports were that Jerry promised him that he would definitely be the starter if he agreed to the pay cut. Then training camp started and Parnell got injured and had no chance to overtake Free. Despite being injured, Parnell did play 1 preseason game. He was visibly limping between plays; however, he dominated the Bengals DL in a way that Free has never done. You couldn't see all of it from the broadcast, but on the All-22 he was driving his man almost to the sideline on more than 1 play. It was fun to watch.
Free played OK in 2013, but they altered the OL scheme to hide his problems. It was brilliant coaching but it made it more difficult on the other OLinemen.