Hisham Mubarak, mantenedor de LuaRocks y autor de Teal, urge a la comunidad de programadores de Lua a abandonar la práctica de mantener compatibilidad indefinida con versiones obsoletas del lenguaje. El detonante fue la decisión de Mike Pall, creador de LuaJIT, de borrar en su repositorio las etiquetas de versiones antiguas del intérprete, un movimiento drástico que busca forzar la actualización de proyectos anclados en ramas como luajit-2.1.0-beta3 desde hace más de una década.
Mubarak contextualiza el problema: desde la bifurcación entre Lua y LuaJIT en torno a la versión 5.2, hace unos quince años, autores de bibliotecas y mantenedores de distribuciones se han acostumbrado a probar su código contra múltiples versiones (5.1, 5.2, 5.3, 5.4, 5.5, LuaJIT 2.1, OpenResty y ahora 3.0), una carga de mantenimiento que él mismo contribuyó a perpetuar con librerías como compat-5.3.
El artículo distingue entre Lua como lenguaje embebido, donde la versión queda ligada a la aplicación que lo integra, y Lua como lenguaje extensible, donde debería primar el soporte únicamente a la última versión de PUC-Rio y LuaJIT. Como solución parcial, Mubarak presenta Teal, un lenguaje que añade tipado a Lua y permite generar código compatible desde 5.1 hasta 5.5 con un solo código fuente.
Mubarak recuerda que tanto Roberto Ierusalimschy (PUC-Rio) como Mike Pall ya han marcado como EOL las versiones antiguas de sus intérpretes, y propone que los autores de bibliotecas hagan lo mismo en lugar de exigir a los mantenedores soportar veinte años de legado.
