How to order by related entry type field
Try something slightly different in concept... 

On your Products template - /products/index.html - start with your Authors first and then look for the Products which are related to them.

Hopefully this will help you make sense of it...

{# find all author entries #}
{% set authors = craft.entries.section('authors').order('title') %}

&lt;ul&gt;
    {# loop through all author entries #}
    {% for author in authors %}
        &lt;li&gt;{{ author.title }}&lt;/li&gt;

        {# find any products which may be related to the author #}
        {% set products = craft.entries.section('products').relatedTo(author) %}

        &lt;ul&gt;
            {# Loop through related products by this author #}
            {% for relatedProduct in products %}
                &lt;li&gt;{{ relatedProduct.title }}&lt;/li&gt;
            {% endfor %}
        &lt;/ul&gt;
    {% endfor %}
&lt;/ul&gt;


Also, if your Authors will ever need to log in to Craft, then consider adding them as CMS Users instead of entries. I know this has licence fee implications, but it's just a thought.

Craft's relatedTo parameter is the key concept to understand. More info here: https://craftcms.com/docs/relations