Qué es y para qué quiero un BACKPORT

Hace dos fines de semana  se realizó en la ciudad donde vivo el Software Freedom Day.

En el transcurso del evento, escuché en varias oportunidades la palabra backport. Podría haber consultado ahí mismo qué es un backport, rodeada de especialistas en GNU/Linux, pero me quedé con la duda y, ya en mi casa, me dediqué a investigar.

A veces pienso que deberíamos crear una categoría que se llame “explicaciones que necesito en castellano y encuentro en chino mandarín”, porque de todas las explicaciones que encontré, ninguna me clarificó absolutamente nada.

Veamos lo que dice la Wikipedia:

Un Backport es la acción de hacer modificaciones o crear un parche a un software con una versión mas antigua que la existente.

2195019023_2d5e9b9731

Sí, exactamente, ésa fue mi expresión al leer esa clarificadora y magnífica explicación.

Por eso, consulté a dos “asesores” :)  para que me clarificaran el asunto. Las respuestas que obtuve a la pregunta ¿Qué es un backport? fueron las siguientes:

Benji me dijo:

[…] …hacen un parche y lo aplican a versiones anteriores también porque es un problema heredado o un parche de una versión anterior, se aplica a una más nueva como feature… […]

Bien, podemos decir entonces que un backport es un parche que se hace para corregir un bug en una versión X de un paquete. En la nueva versión de ese paquete, el backport ya es una funcionalidad adquirida, es decir: es un feature de la versión. ¿Qué pasa con las versiones viejas? ¿Se mantiene el  error? No: el backport, justamente, corrige esa falla. Hay, de alguna manera, una compatibilidad hacia atrás (cuestión extraña y difícil de comprender para alguien que, como yo, está acostumbrada de alguna manera a corregir errores en la nueva versión).

Por las dudas, también consulté a ReNa (viejo conocido de este blog), quien aclaró un poco más el panorama.

ReNa me dijo:

[…] …es cuando hacés que en una versión de un SO entren paquetes de otra versión, por ejemplo, para tener una versión más actualizada de X paquete.
Se hace mucho en versiones estables, como Debian Lenny,  que tienen paquetes más viejos,  y si necesitás algún programita nuevo, le hacés un backport para tenerlo en Debian Lenny… […]

Ah, entonces: ¿compilo el programa nuevo en la versión vieja del SO y ya está?

[…] …En verdad no es compilarlo, sino bajarlo de repositorios.
Es decir, se hace un backport en los repositorios para poder bajar la versión del programa que es más nueva… […]

Entonces, los backports no corrigen bugs solamente, me sirven para utilizar una versión nueva (llámenle inestable, actualizada, mejorada, etc.) en mi distribución actual de GNU/Linux. Para hacer un backport, ¿es necesario que haya un bug o algo así, o puedo descargarlo para tener una versión más actualizada, o las dos cosas?

[…] …No no, lo hacés si querés, no hace falta que cumpla ninguna condición… […]

En conclusión: los backports no parecen ser nada extremadamente complejo, ni del otro mundo. No parecen tan preocupantes una vez que se sabe lo que es, ¿verdad?

Estoy segura de que debe haber backports famosos, así que si alguno de los que nos leen conoce alguno (o bien hizo un backport) los invito a que nos cuenten.

¿Cuál fue tu último backport?


7 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: AB Internet Networks 2008 SL
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Marcelo dijo

    Muy interesante. Gracias por la explicación, N@ty. Leí muchas veces esa palabrita «backport» y siempre me quedo la duda de saber que era. Por X motivos, siempre pospuse la búsqueda de su significado, y ahora tu post me ha desasnado sobre el tema. ¡Gracias!

  2.   Sheng dijo

    A ver si entendí… Un backport es un parche que se saca para versiones anteriores de un programa, pero se aplica a versiones nuevas?

    ej: sacas un parche para firefox 3.0, pero en la 3.5 utilizan ese mismo parche para corregir un error?

  3.   deby.nqn dijo

    buenísima explicación, muchas gracias y ya que estamos dejo para vos N@ty y para todas las lxachicas un video que nos impulsa a seguir trabajando en tecnología, larga vida a las technical women!!!
    http://www.youtube.com/watch?v=O293-kmyUj0&feature=player_embedded

  4.   seth dijo

    yo usé un par de veces backports para tener paquetes de squeeze en lenny

    http://backports.org/dokuwiki/doku.php?id=instructions

  5.   bawatakco dijo

    excelente articulo, y en realidad está muy bueno el blog llegué por un articulo destacado por los chicos de neoteo y la verdad es que me quedé pegado.
    mira un ejemplo de backport es la version classic del puppy linux, que es una distro de linux live cd para equipos con bajos recursos de hardware, ellos desarrollaron su versión principal (puppy linux 4.3.1) con el ultimo kernel de linux (2.6.31), pero hay algunos equipos muy viejos que no van bien con el kernel 2.6.31 por lo que se Hiso un backport que seria la versión clasic en donde se reemplazó por el kernel 2.6.26 pero el resto de la distro es todo lo mismo el paquete de software y configuración pero con el kernel viejo para dar mas estabilidad y compatibilidad

    saludos.-

  6.   Marta dijo

    Que venga yo a enterarme de los que es un backport 7 años después de que hayas escrito esto es asombroso.
    Gracias por la aclaración.

  7.   01101001b dijo

    Buen artículo. Y sí, se hace confusión de una idea muy simple.

    Un backport NO es un software, es una acción sobre un software para hacerlo funcionar en una versión anterior del SO para el q no estuvo pensado originalmente.

    Por ejemplo, un parche. Si (como dice Wikipedia) la aplicacion2.0 tiene cosas para corregirse, se hace un parche. Si resultara q la versión anterior (aplicación1.0) tuviera el mismo problema pero el código fuera algo diferente, habría q modificar el parche, haciendo un «port» (de «portar», llevar) del parche para q funcione con esa versión anterior… un «backport» (del parche). Coloquialmente se diría q «el parche es un backport».

    También aplica cdo se quiere un programa con un nro de versión mayor (que la versión estable) pero pensado para la *siguiente* versión de tu SO (ESO es lo que lo diferencia de ser una actualización del programa y ya).

    Si alguien pudo modificar esa versión ultrareciente para q funcione en una versión más vieja del SO q la planeada (para esa versión del programa), hizo un «port» del programa hacia «atrás» (de nuevo, un «backport»).