Una duda que aveces tenemos nosotros al momento de iniciar con nuestro sistema linux es la interpretación de cierto contenidos de determinados archivos, hoy voy a explicar el sigificado de las palabras main, contrib y non-free, estas palabras las podemos encontrar en nuestro archivo sources.list, aquí tengo un ejemplo que pueden checar: https://manchitrax0.wordpress.com/2008/12/02/sourceslist-para-debian-gnulinux/ bueno, en esta liga observamos el archivo source.list, que tiene las fuentes y rutas de donde van a hacer descargados las actualizaciones y paquetes que vallamos solicitando para instalar en nuestro sistema Debian GNU/Linux, aquí podemos observar que se encuentran las palabras main, contrib y non-free,estos son nombres de directorios de los paquetes, ya que Debian clasifica sus paquetes dependiendo del grado de libertad y que tan compatible son con la licencia GPL y sus directiva Debian , aquí va la explicación de cada directorio.
main
En este directorio se encuentran los paquetes 100% libres, esto quiere decir que cumplen o estan deacuerdo con lasdirectivas de Debian, en donde marcan cuando un paquete se le puede considerar que es 100% software libre.
non-free
Aquí se encuentran paquetes que no pueden considerarse software libre según las directivas de Debian, por dar un ejemplo, hay software que puede ser distribuido e instalado, pero no se tiene acceso a su código fuente (No todos de esta sección son así hay software que si se proporciona su código fuente), simplemente por la licencia que trae el software de este paquete no cuadra con las directivas de Debian, debido a eso se decide alogarlo en esta sección. Ver Pólemica …
contrib
En este directorio se pueden encontrar software libre, pero depende de alguna forma de un paquete que no es 100% libre
Fuente: http://www.debian.org/doc/manuals/reference/ch-system.es.html#s-ftparchives