Historias
Slashboxes
Comentarios
 

El sistema de plugins cada vez más cerca de GCC

Entrada escrita por mig21 y editada por inniyah el 29 de Enero 2009, 11:39h   Printer-friendly   Email story
desde el dept. compiladores
Hace bastante tiempo que se viene discutiendo el por qué de la falta de sistema de plugins en el compilador libre por excelencia, GCC. Al parecer el principal problema era legal, es decir, el miedo a fomentar la proliferación de plugins propietarios. Pues bien, ya se ha establecido el marco de licencias que pueden regir ese sistema, que es la nueva versión de la GCC Runtime Library Exception y con ello su desarrollo está cada vez más cerca. Además esta nueva versión de la licencia permitirá la actualización a la licencia GPLv3 de algunas librerías del propio GCC. La FSF ha proporcionado un documento con las razones para esta licencia y las preguntas más frecuentes sobre ella. Más información en Slashdot: Plug-In Architecture On the Way For GCC.

Historias relacionadas

[+] GCC 4.2.1, última versión de GCC con GPLv2 31 comentarios
chonago nos cuenta: «[Vía Slashdot] La última versión de este popular compilador --antes conocido como "GNU C Compiler", pero que debido a su posterior soporte para más lenguajes acabó siendo "GNU Compiler Collection"-- acaba de aparecer con un detalle fundamental. GCC 4.2.1 será la última versión que adopte la licencia GPLv2. A partir de ahora este desarrollo --que creó Richard M. Stallman-- usará la nueva licencia GPLv3, algo que no parece haber alegrado a todos los que colaboran actualmente con su evolución.»
[+] MinGW publica GCC 4.4.0 54 comentarios
El equipo de MinGW ha publicado los binarios de GCC 4.4.0 para Windows. De entre las novedades destacan un mejor tratamiento de excepciones, una versión de libstdc++ en forma de librería compartida, y soporte para TLS (thread-local storage), además de todas las novedades de la versión 4.4.0. Hay que recordar que la anterior versión soportada oficialmente era GCC 3.4.5. Más en reddit.
[+] Clang ya se autocompila 22 comentarios
Como puede leer en el blog de LLVM/Clang, el compilador con licencia similar a la BSD patrocinado por Apple: ¡Clang ha completado su primera autocompilación! Hemos compilado toda la LLVM y el propio Clang con Clang, unas 550k líneas de código en C++. Los binarios resultantes han pasado todos los test de regresión y el Clang resultante puede además generar toda la LLVM y Clang de nuevo. Este tercer Clang resultó plenamente funcional, completando así el bootstraping .Más comentarios en OSNews y reddit. En noticias relacionadas, el sistema de plugins de GCC va dando sus frutos y la fundación Mozilla ha desarrollado Dehydra y Treehydra, unos plugins para hacer análisis estático de código C++.
[+] Publicado GCC 4.5 36 comentarios
GCC 4.5 acaba de ser publicado. En la lista de cambios se pueden leer las novedades de esta versión. De ellas las más visibles para los usuarios pueden ser las mejoras en el mostrado de errores como indicar la columna por defecto, evitar mostrar más errores en caso de falta de un fichero de inclusión o no mostrar los parámetros por defecto de las plantillas, con la ganancia de legibilidad que eso supondrá. Además viene con mejoras en las optimizaciones, en los lenguajes y plataformas soportadas y con un gran avance en el soporte experimental de C++0x, la nueva estandarización de C++, prevista para el año que viene, además de la inclusión en la rama principal del sistema de plugins.
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • Restricciones sobre la salida

    (Puntos:3, Informativo)
    por Drizzt (39) el Jueves, 29 Enero de 2009, 08:09h (#1123140)
    ( http://icewinddale.blogspot.com/ | Última bitácora: Martes, 02 Febrero de 2010, 12:29h )
    Es el primer programa que genera una restricción sobre la salida de la ejecución en función de como se ha generado. Si el plugin entra dentro de lo que la FSF denomina Eligible Compilation Process, entonces entra en funcionamiento de la excepción de licencia que permite linkar contra las librería. Pero si el plugin no entra dentro de dicho grupo, la excepción no se aplica.

    Cuidado con la caja de truenos que supone una licencia que se aplica en función de cómo se genera el ejecutable.

    Aunque empiezo a sospechar que no tardará en aparecer un runtime para el GCC con licencia BSD.

    PD: mig21, parece que nos hemos ponemos de acuerdo para hablar de lo mismo XD

    --

    -- icewinddale.blogspot.com [blogspot.com]

  • por Drizzt (39) el Jueves, 29 Enero de 2009, 08:18h (#1123141)
    ( http://icewinddale.blogspot.com/ | Última bitácora: Martes, 02 Febrero de 2010, 12:29h )
    Estaba leyendo las listas de FreeBSD, concretamente, estge mensaje [derkeiler.com], y la FAQ a la que apuntas, saco lo siguiente:

    If you did use GPL-incompatible software in conjunction with GCC during the Compilation Process, you would not be able to take advantage of this permission. Since all of the object code that GCC generates is derived from these GPLed libraries, that means you would be required to follow the terms of the GPL when propagating any of that object code. You could not use GCC to develop your own GPL-incompatible software.
    Para mi ese párrafo es muy esclarecedor y cuando entre en funcionamiento la licencia con esa versión del gcc, implicará lo anterior. ¿Que pasaría si alguien genera una librería BSD para el runtime?. Interesante, pero se está abriendo un camino muy peligroso.
    --

    -- icewinddale.blogspot.com [blogspot.com]

    • por 1052 (15985) el Jueves, 29 Enero de 2009, 13:08h (#1123206)
      ( http://barrapunto.com/ )
      Ese párrafo quiere decir que si no existiera la excepción de las librerías, entonces todo el código objeto sería GPL y no se podría usar GCC para desarrollar software incompatible con la GPL. Pero el subjuntivo es importante. Te está diciendo qué pasaría si no existiera la excepción que precisamente están explicando.

      ¿Que pasaría si alguien genera una librería BSD para el runtime? Cuando compilas usando GCC, la excepción te permite linkar con lo quieras, como por ejemplo otra librería con licencia BSD. Así que no pasaría nada.

      Esta excepción ya existía antes. La únicas diferencias son:

      1) Que se ha implementado usando la GPL3 como base.

      2) Que se quiere usar la misma excepción en todas las librerías de GCC que lo requieran.

      3) Lo realmente nuevo: Que la excepción no permite crear plugins o programas no-GPL que utilicen o modifiquen la representación interna de GCC.

      No sé como de bien está hecho el punto (3) porque no soy un abogado (¿tú sí?), pero la intención está clara:

      "the new license is meant to permit all the uses of GCC that were permitted before. [...] there have also been concerns that unscrupulous developers could write plugins that called out to proprietary software to transform the compiled code--effectively creating proprietary extensions to GCC and defeating the purpose of the GPL. The updated exception prevents such abuse, enabling the GCC team to look forward to plugin developments."
      [ Padre ]
  • ¿Para qué?

    (Puntos:2)
    por Ricardo Estalmán (102) el Viernes, 30 Enero de 2009, 16:42h (#1123493)
    ( http://barrapunto.com/tags/restalman | Última bitácora: Miércoles, 24 Noviembre de 2010, 22:39h )
    Todo el mundo parece que lo sabe menos yo. ¿Para qué sirve un sistema de plugins en un compilador? ¿Para otros lenguajes? ¿Otras plataformas?
    --

    __
    Waxing pessimistic is one of the easiest ways to masquerade as wise, Alvin y Heidi Toffler.
    • Re:¿Para qué? de mig21 (Puntos:2) Viernes, 30 Enero de 2009, 22:15h
    • Re:¿Para qué? de pobrecito hablador (Puntos:1) Sábado, 31 Enero de 2009, 13:04h
      • +1, informativo de Ricardo Estalmán (Puntos:1) Sábado, 31 Enero de 2009, 15:53h
  • Re:Talibanes?

    (Puntos:4, Inspirado)
    por chavi (9251) el Miércoles, 28 Enero de 2009, 22:49h (#1123089)
    ( http://web.iesrodeira.com | Última bitácora: Sábado, 25 Abril de 2009, 19:50h )
    Recordemos que en el S.L. se han realizado todo tipo de marrullerías, como usar binarios, ingeniería inversa (pegado menor, aunque esté prohibido), etc.

    Perdona, pero eso no son marrullerías. La ingeniería inversa es perfectamente legal en Europa y desde el punto de vista moral perfectamente justificada. Marrullería es apropiarse del trabajo de los demás sin ofrecer nada a cambio.
    --
    Xavi.
    [ Padre ]
  • Re:Talibanes?

    (Puntos:2)
    por wel (3628) el Jueves, 29 Enero de 2009, 00:19h (#1123104)
    ( http://barrapunto.com/ | Última bitácora: Viernes, 03 Octubre de 2008, 19:51h )
    Es que lo obvio sería que las empresas utilizasen software libre sin pagar ni contribuir con la comunidad que se lo ha proporcionado...

    Menuda filosofía del to pa mí.
    --
    Apuñalo gatitos con bollitos de crema. Razón aquí.
    [ Padre ]
    • Re:Talibanes? de pobrecito hablador (Puntos:1) Jueves, 29 Enero de 2009, 00:46h
      • Re:Talibanes? de wfox (Puntos:1) Jueves, 29 Enero de 2009, 01:51h
      • Re:Talibanes?

        (Puntos:5, Inspirado)
        por Inconexo (20311) el Jueves, 29 Enero de 2009, 11:22h (#1123180)
        ( http://asqueados.campanilla.net/wp | Última bitácora: Martes, 21 Septiembre de 2010, 10:54h )
        Claro. Si la FSF impone que no se pueda hacer productos privativos en base a los suyos (es decir que los derechos se conserven en todos los traspasos) eso es ser talibán. Pero que yo compre un software privativo y no me permitan copiarlo a los demás es algo natural y que no coarta ninguna libertad.
        --
        Para ser codigo abierto, no basta con que este abierto a la vista, sino tambien a la modificacion y redistribucion
        [ Padre ]
        • Re:Talibanes? de wfox (Puntos:1) Jueves, 29 Enero de 2009, 13:00h
      • Re:Talibanes? de chavi (Puntos:2) Viernes, 30 Enero de 2009, 15:26h
  • Re:Talibanes?

    (Puntos:2)
    Qué gran contradicción: por un lado piden la liberación de código, y por el otro impiden la creación de extensiones privativas.

    No te iba a contestar, pero creo que conviene aclarar que la ingeniería inversa no se usa para copiar el código de un driver, sino para inferir las especificaciones de un dispositivo y escribir uno propio.

    Y no creo que pueda haber nada marrullero en intentar que un dispositivo que has comprado funcione en tu sistema operativo favorito y sin usar software privativo.
    --
    Gdado dice roller [sourceforge.net]
    [ Padre ]
    • A mí me lo parece de Pirx (Puntos:3) Jueves, 29 Enero de 2009, 16:57h
      • Re:A mí me lo parece

        (Puntos:4, Interesante)
        Eso de hablar de las restricciones que impone la FSF es un poco engañoso. Son restricciones a restricciones. La FSF restringe el que otros te restrinjan, y controla el que no te controlen. Menos por menos es más, y ésa es la base del copyleft.

        Esa argumentación en contra del copyleft es como decir que una sociedad en la que la esclavitud está prohibida es menos libre porque impide la libertad de esclavizar.

        De acuerdo que introducir plugins puede estar alentado por la competencia (no recuerdo ahora cómo se llamaba) pero no es una cuestión de licencia. Si fuera así relajarían las restricciones. La contienda, sin embargo, es técnica. Y la prueba es que para introducir estos cambios técnicos han tenido que endurecer las condiciones.
        --
        Gdado dice roller [sourceforge.net]
        [ Padre ]
        • Re:A mí me lo parece de Pirx (Puntos:2) Jueves, 29 Enero de 2009, 18:20h
          • Re:A mí me lo parece

            (Puntos:4, Interesante)

            La FSF restringe al que escribe software, que es el mismo al que se le pide que una su software a la fiesta :-) Cada plataforma (igual que Microsoft, Java o Mac) intenta atraer y retener programadores con los medios que pueden. Cada una promete unas u otras cosas, y tiene sus inconvenientes.


            Lo estás reliando todo.

            La fiesta a la que la FSF quiere que se una la gente es la fiesta del software libre. Es el objetivo, la razón de ser de la asociación.

            Pero la FSF no es una plataforma. Aunque exista GNU, ni es el fin ni se limita sólo al software GNU o para GNU.

            La FSF, Microsoft, Java y Mac no es que no sean lo mismo, es que no son el mismo tipo de cosa, y no son comparables. La FSF en concreto no es una plataforma.

            La FSF no atrapa a desarrolladores. El software GPL se ofrece para el que quiera hacer software libre. Y el que no, que se busque la vida.

            En el caso concreto de GCC se quiere que aunque haya plugins, el programa completo sea libre, que ha sido siempre el objetivo. No sé por qué esto puede chocar a alguien.

            Ellos sabrán si les conviene más tener gente o mantener la pureza de espíritu.


            Siempre lo han sabido.
            --
            Gdado dice roller [sourceforge.net]
            [ Padre ]
        • Re:A mí me lo parece de Mu (Puntos:3) Jueves, 29 Enero de 2009, 20:04h
        • 1 respuesta por debajo de tu umbral de lectura actual.
      • Re:A mí me lo parece de fresno (Puntos:1) Jueves, 29 Enero de 2009, 21:50h
  • Re:Da igual

    (Puntos:1)
    por Sorenchu (35656) el Jueves, 29 Enero de 2009, 14:30h (#1123227)
    Esto va en serio?
    [ Padre ]
  • Re:Da igual

    (Puntos:2)
    por chavi (9251) el Viernes, 30 Enero de 2009, 15:41h (#1123476)
    ( http://web.iesrodeira.com | Última bitácora: Sábado, 25 Abril de 2009, 19:50h )
    O a tu reproductor TDT, o a tu router, o a tu reproductor DIVX o.....
    --
    Xavi.
    [ Padre ]
  • 4 respuestas por debajo de tu umbral de lectura actual.