title: Why comment glBindFragDataLocation, the GL also works correctly?
body: <pre><code>const GLchar* vertexSource1 = "#version 330 core\n"
      "layout (location = 0) in vec2 position;\n"
      "layout (location = 1) in vec3 color;\n"
      "out vec3 Color;\n"
      "void main()\n"
      "{\n"
      "gl_Position = vec4(position, 0.0, 1.0);\n"
      "Color = color;\n"
      "}\0";
  const GLchar* fragmentSource1 = "#version 330 core\n"
  "    in vec3 Color;\n"
  "    out vec4 outColor;\n"
  "    void main()\n"
  "    {\n"
  "        outColor = vec4(Color, 1.0);\n"
  "    }\n";
  
  
  GLuint shaderProgram1 = glCreateProgram();
  glAttachShader(shaderProgram1, vertexShader1);
  glAttachShader(shaderProgram1, fragmentShader1);
  //    glBindFragDataLocation(shaderProgram1, 0, "Color");
  glLinkProgram(shaderProgram1);
  </code></pre>
  
  <p>Whether I add glBindFragDataLocation or not, the GL works correctly, Why?</p>