QNX ofrece uso gratuito para fines no comerciales y agrega imagen para Raspberry Pi
(blackberry.qnx.com)- Los desarrolladores de sistemas embebidos y OS en tiempo real ahora pueden experimentar gratis con QNX SDP 8.0 para uso estudiantil, hobby o prototipos, reduciendo la barrera de acceso que antes estaba centrada en lo comercial
- Los usuarios deben enviar un formulario de licencia con una cuenta myQNX y, una vez procesada la solicitud, reciben una licencia de software QNX para uso no comercial
- El alcance incluye QNX SDP 8.0, QNX Developer Desktop y QNX Hypervisor, lo que permite avanzar desde el aprendizaje del OS hasta el desarrollo self-hosted y experimentos de virtualización
- Como recursos de inicio se ofrecen Quick Start Guide, imagen de QNX 8.0 para Raspberry Pi, videos de QNX Everywhere y Self-Hosted Developer Desktop Guide
- La licencia gratuita está limitada a educación, proyectos personales y aprendizaje de RTOS; para evaluación o desarrollo con fines comerciales se debe solicitar una licencia de evaluación de 30 días por separado
Entorno de desarrollo QNX para uso no comercial
- QNX Everywhere es un programa que permite a estudiantes, desarrolladores aficionados y prototipadores usar software QNX gratis con fines no comerciales
- Incluye el OS de próxima generación de QNX, herramientas de desarrollo y capacidades en tiempo real, que pueden usarse para aprender, experimentar y crear proyectos embebidos de alto rendimiento
- Entre las cifras públicas se destacan 15K+ descargas de licencias de QNX Everywhere, 6K+ estudiantes registrados en capacitación en línea y 100+ instituciones académicas asociadas
Flujo de solicitud de licencia
- Para obtener una licencia no comercial se necesita una cuenta myQNX
- Si ya tienes una cuenta, inicia sesión
- Si usas QNX por primera vez, crea una cuenta myQNX
- Después de iniciar sesión, ingresa los datos de licencia en el formulario de licencia de QNX Everywhere para iniciar la solicitud
- Una vez completado el procesamiento de la solicitud, recibirás una licencia de software QNX para uso no comercial
- La licencia puede tardar hasta 1 hora en aparecer en el perfil de myQNX después de la solicitud
Plataformas y herramientas incluidas
- QNX SDP 8.0 es una plataforma base de desarrollo para SoC de próxima generación
- Incluye el QNX Operating System de próxima generación
- Presenta una arquitectura diseñada para aprovechar futuros avances del silicio
- Su objetivo es ofrecer rendimiento consistente en tiempo real en sistemas intensivos en cómputo de todo el IoT
- Incluye una toolchain actualizada, nuevas utilidades para debugging y profiling, y utilidades open source
- QNX Everywhere incluye acceso a lo siguiente
- QNX SDP 8.0: plataforma RTOS de microkernel, de alto rendimiento y preparada para seguridad funcional
- QNX Developer Desktop: escritorio self-hosted para crear aplicaciones en QNX OS 8.0
- QNX Hypervisor: hipervisor determinista para sistemas de criticidad mixta
Educación, comunidad y open source
- QNX ofrece cursos de capacitación en línea gratuitos para desarrolladores de QNX OS
- Los desarrolladores pueden conectarse con ingenieros de QNX y la comunidad de desarrolladores en línea para resolver problemas, debatir ideas y colaborar en proyectos open source
- Al ser un OS compatible con POSIX, gran parte del software para sistemas operativos POSIX puede compilarse para QNX casi sin modificaciones
- QNX publica el código fuente de los ports open source bajo sus licencias originales y mantiene en un repositorio de GitHub los ports que los desarrolladores pueden usar
- Los detalles sobre ports, nivel de pruebas y hosting pueden consultarse en el Open-Source Dashboard
Cómo empezar con documentación e imagen para Raspberry Pi
- La documentación de QNX Everywhere ofrece las herramientas e instrucciones necesarias para crear desde la primera aplicación hasta soluciones QNX avanzadas
- Los recursos disponibles son los siguientes
- QNX SDP 8.0 Quick Start Guide: guía para empezar a desarrollar con QNX
- QNX Quick Start Target Image for Raspberry Pi: imagen target quick start de QNX 8.0 para Raspberry Pi
- Get Started With QNX Everywhere: videos para empezar con QNX Everywhere
- Self-Hosted Developer Desktop Guide: guía del escritorio de desarrollo self-hosted
- Los usuarios de Raspberry Pi 5 pueden flashear y usar una imagen de QNX SDP 8.0 preparada
- La imagen incluye varias aplicaciones demo open source
- Las aplicaciones demo se pueden clonar, modificar y recompilar
Condiciones de uso y exclusiones
- La licencia gratuita está dirigida a usuarios individuales no comerciales de QNX Software Development Platform 8.0
- Los usos permitidos son fines educativos, proyectos personales y actividades sin generación de ingresos ni operación de negocios
- El uso no comercial incluye entornos académicos, desarrolladores aficionados y personas que aprenden sobre sistemas operativos en tiempo real
- No incluye evaluación ni desarrollo con fines comerciales
- La actividad comercial incluye generación de ingresos u operación de negocios
- La licencia de evaluación comercial de 30 días debe solicitarse por separado
- QNX SDP 7.1 no está incluido en este programa
- QNX SDP 8.0 se ofrece para plataformas de software de próxima generación basadas en SoC con 4 o más núcleos de CPU
Instalaciones múltiples en instituciones educativas
- Para configurar varias workstations en un laboratorio o aula, se puede obtener una licencia multiusuario mediante el programa QNX in Education
- El alcance incluye QNX Software Development Platform 8.0 y QNX Software Development Platform 7.1
- Si se instala una sola instancia a la vez, se recomienda usar la licencia de QNX Everywhere
Solución de problemas de cuenta y licencia
- Si hay problemas para iniciar sesión después de registrar una cuenta myQNX nueva, contactar a myqnx@blackberry.com
- El estado de las licencias y distribuciones de productos se puede consultar y aceptar en myQNX License Manager
- En la sección Registered Products del perfil de la cuenta myQNX se muestran las claves de licencia, números de serie, certificados de licencia y administradores de licencia para cada producto distribuido
- Para descargar QNX Software Center, el usuario de myQNX debe tener asignada una licencia de producto QNX
1 comentarios
Opiniones de Hacker News
Ojalá fuera confiable, pero QNX ya se “abrió” dos veces en el pasado y luego volvió a cerrarse.
Antes de la primera retirada, los proyectos open source solían incluir a QNX como objetivo de compilación, y era posible tener soporte de destino para Firefox y Eclipse en QNX, además de compilar GCC y herramientas de línea de comandos GNU.
También había un entorno de escritorio llamado Photon, y lo usé como escritorio principal durante 3 años cuando construíamos un vehículo para el DARPA Grand Challenge.
Pero después de que Harman adquirió QNX en 2004, todo eso desapareció; en 2007 el código fuente volvió a abrirse y se podía incluso mirar y compilar el microkernel, pero no era una licencia pública.
Cuando RIM adquirió QNX en 2010, cerró el código fuente sin previo aviso, todo el desarrollo open source relacionado con QNX se detuvo y también se perdió la confianza de la comunidad.
Los términos del contrato también son un problema: http://www.qnx.com/download/feature.html?programid=51624 dice: “TERMINATION. This Agreement and licenses granted hereunder may be terminated by either Party upon written notice to the other Party”, así que QNX puede cortarlo en cualquier momento.
Si QNX va en serio, parecería correcto seguir una licencia al estilo Unreal Engine: descargar el código fuente y usarlo libremente; gratis hasta que el producto alcance 1 millón de dólares en ingresos, y después Epic cobra 5% de regalías: https://cdn2.unrealengine.com/UnrealEngine/faq/UnrealEngineE...
El problema de la piratería tampoco sería tan grande, porque si un juego genera ingresos significativos, se vuelve lo bastante visible como para que la gente de licencias se entere.
Si quieren aumentar la adopción de QNX, sería bueno llevar la tabla de condiciones de Epic al equipo legal y a la dirección, y comparar el crecimiento de ingresos de Unreal Engine con el de QNX.
Como le dije hace tiempo a un representante de ventas de QNX, el problema de QNX no es la piratería, sino que lo están ignorando.
Se prohibía toda actividad open source, y en ese momento muchos de nosotros participábamos activamente en open source. Yo incluso había trabajado en la Eclipse Foundation.
A un amigo que escribía novelas le dijeron que necesitaba autorización por escrito cada vez que quisiera subir o publicar un texto.
Aunque había una traducción al alemán adjunta, obligaban a ingenieros alemanes a firmar un contrato cuyo idioma vinculante era el inglés, y al final muchos de nosotros simplemente nos fuimos.
Lo que más recuerdo es que el equipo de transición venido de Canadá dijo que “los empleados de RIM trabajan en calabozos oscuros de concreto, así que deberían sentirse afortunados de que les permitan seguir usando las lindas oficinas de Múnich”.
En el ADN de esa empresa, una forma abierta de trabajar parecía algo completamente ajeno, y no confiaría ni un poco en ellos.
Los desarrolladores aficionados y los proyectos libres y open source estarían encantados de usar un sistema operativo GPLv3, mientras que los grandes clientes comerciales tradicionales de automotriz y embebidos no querrán la obligación de GPLv3 de permitir que los usuarios instalen firmware personalizado, así que seguirán pagando.
Podría ser beneficioso para todos.
No es asesoría legal; cada quien debe interpretar las licencias por su cuenta.
Tuve una conversación larga con ingenieros antes de que saliera BB10, y recuerdo que en ese entonces había que solicitar acceso a todo el SDK de Blackberry y también firmar un NDA.
En cambio, Android e iOS ya estaban en pleno auge, y triunfaron quienes priorizaron plataformas donde fuera fácil escribir apps.
Blackberry parece organizacionalmente incapaz de manejar este tipo de relación con la comunidad. En la cúpula de la organización hay una mentalidad de operadora de telecomunicaciones de “nosotros contra ellos”, que se filtra hacia abajo, ya sea explícita o implícitamente.
Después del fracaso de BeOS, jugué y desarrollé con QNX, y me gustó lo suficiente como para usarlo a tiempo completo en mi máquina principal de desarrollo.
Pero cuando se cerró, me quemé bastante, y desde entonces no volví a tocar ninguna plataforma de desarrollo cerrada.
Al ver la licencia ahora, no ha cambiado ni un poco, y hoy, salvo por sus mercados existentes, QNX en general se volvió poco relevante.
Elegir QNX hoy parece una tontería. Ahora hay buenas alternativas, y todas tienen licencias abiertas.
Ahora incluso existe https://arstechnica.com/gadgets/2024/09/real-time-linux-is-o...
Si usas Linux, no tienes que discutir licencias ni preocuparte por que de pronto te den una puñalada por la espalda y lo cierren.
Prohibir el uso comercial es horrible. Ahora estoy pasando por algo similar con ArangoDB: el producto es bueno, pero no tengo presupuesto para una instancia en la nube administrada por ellos ni para hablar de una licencia comercial con el equipo de ventas.
Lo uso en varios sistemas, y uno de ellos ya llegó como al 80% de una base de datos “demasiado grande para usarla gratis”, pero no sé si su destino será ser open source, convertirse en un producto o ser un sistema que genere dinero directamente.
Por eso, el camino corto ahora mismo no es hablar con gente que quizá no permita mi modelo de negocio, sino migrar a PostgreSQL.
Para ver directamente los términos para desarrolladores vinculados al uso no comercial de QNX 8.0, es aquí: https://support7.qnx.com/download/download/51624/BB_QNX_Deve...
Esto no es asesoría legal ni una revisión exhaustiva o resumen interpretativo de esta licencia. Antes de actuar con base en lo siguiente, se debe buscar asesoría profesional de un abogado.
Los términos empiezan con una cláusula del tipo que dice que el usuario no tuvo oportunidad de revisar y aceptar antes de obligarse a sí mismo, a su empresa o a su institución, y en EE. UU. parece que eso podría incluso invalidar todo el documento, así que lo más seguro es revisarlo con un abogado antes de usarlo.
En el ámbito académico, solo califican los estudiantes y docentes de la institución, y desde el punto de vista del equipo legal, usar esta licencia podría verse como firmar un contrato vinculante en nombre del empleador.
Hay que asegurarse de no quedar expuesto a responsabilidad por contribuidores open source ni al riesgo de ser despedido por presentarse indebidamente como firmante autorizado de la institución.
Los usuarios de la nube están limitados por los términos a AWS; si se usa en GCP, Heroku u otras instancias de servidor que no estén bajo control contractual personal, podrían tener que pagar costos de licencia.
El “Open Source” permitido aquí es solo el de la definición de la OSI, así que quien distribuya software bajo una licencia no comercial restrictiva no puede usar la licencia no comercial de QNX.
La cláusula de “alto riesgo” prohíbe desarrollar aplicaciones que puedan causar daño a la sociedad, por lo que incluso las apps sociales podrían quedar excluidas. Hay que tener cuidado de no violar esta cláusula al crear una aplicación viral.
Recopilan y conservan todos los números de serie identificables de todo el hardware que se use en relación con este producto.
La licencia no comercial puede terminarse en cualquier momento y sin condición alguna aunque se hayan cumplido de buena fe las condiciones, y en ese caso quizá haya que entregar una “certificación” no definida, a un costo desconocido, de que se eliminó todo el código de QNX recibido.
Que muera un cliente de Twitter no hiere ni mata a nadie.
Con Linux en tiempo real ya maduro, me pregunto para qué proyecto tendría sentido usar QNX. ¿Hay que preocuparse de que te salgan con una puñalada por la espalda cambiando de repente la licencia?
En el pasado usé QNX porque era simpático e interesante desde el punto de vista académico.
Pero la próxima vez que elija un SoC para un proyecto y su BSP correspondiente, no voy a buscar QNX. Probablemente use la distribución de FreeRTOS incluida, o instale las herramientas de compilación de Android y meta un APK en algún fork raro de Android.
Si se trata de automotriz o medicina, la historia es distinta, pero en esos campos los competidores siguen acercándose, y los cambios de Linux para tiempo real harán que la situación sea todavía más difícil.
Ya no estamos en 2010. Hay muchas opciones, y mientras QNX seguía detrás de requisitos de licencia poco claros y molestos, decenas de empresas desarrollaron alternativas. Algunas de ellas son bastante grandes, y algunas incluso llegaron al espacio.
Para que QNX vuelva a tomarse en serio, no alcanza con algo como “empezar a abrir las puertas de QNX como antes”.
Si no es open source completo incluso para uso comercial, no me interesa usarlo. Si el soporte de herramientas y BSP valiera el tiempo, podría tolerar una licencia estilo Epic, pero no tengo ningún interés en pagar una licencia solo para empezar.
El producto se volvió comoditizado y ahora es una curiosidad. La única forma de conseguir suficiente desarrollo activo y adopción es convertirse en un proyecto comunitario.
No a todo el mundo le importa si algo es libre y open source, y no sorprende que distintas personas se inclinen hacia lados distintos en estos temas.
De los sistemas operativos que probé a principios de los 2000, los únicos que hicieron que un viejo Pentium mononúcleo de mediados de los 90 se sintiera excelente y ágil fueron QNX y BeOS
Eran muchísimo mejores que cualquier versión de Windows o Linux
En ambos casos, creo que se debía principalmente al planificador y a una pila multimedia mucho mejor
Siempre esperé que los sistemas operativos del futuro se sintieran así; lo más cercano probablemente sea iOS, y aun así usa el truco de matar procesos constantemente. El futuro no pinta muy bien
Los sistemas operativos contemporáneos de la época sí tenían un gran bloqueo único
No recuerdo con certeza si el intervalo de preempción de BeOS era de 750 ms o de 3 ms, pero era más corto que los 20 ms de Linux y Windows, luego 10 ms, así que probablemente esa diferencia se sentía
Décadas después, la mayoría de los sistemas operativos se pusieron al día con niveles de bloqueo más granulares en el espacio del kernel, pero los intervalos de preempción siguen variando por el debate entre rendimiento total y latencia. Los benchmarks de sistemas operativos basados en scripts miden el rendimiento total, no la capacidad de respuesta de la GUI
Los búferes de medios, que se benefician de tamaños de búfer pequeños, son un buen ejemplo; aunque reduzcan el rendimiento total, los músicos notaban la mejor respuesta de BeOS, y por eso recibió el apodo de “Media OS”
En el espacio de la GUI, el servidor de apps de BeOS/Haiku también ofrece una carga de trabajo distribuida mayor que otros entornos de escritorio. Cada ventana recibe su propio hilo, la app también recibe su propio hilo, y tanto la app como el servidor de aplicaciones tienen un hilo por app y por ventana para no quedar bloqueados esperando el parseo lento de mensajes de una app
Por eso, incluso una app mínima de BeOS con una ventana gráfica de “Hello World” tiene 4 hilos. Aunque la app esté ocupada, el resto del sistema sigue sintiéndose ágil
A cambio, hay un costo en rendimiento total y en complejidad de desarrollo de apps, especialmente en apps porteadas
Haiku tiene que ordenar los mensajes de Qt/Gtk/toolkits de varias ventanas en una sola cola de mensajes para evitar bugs multihilo. Eso es porque, en el entorno original, el loop de mensajes de la app no era multihilo
Por ese ordenamiento, incluso cuando no sería necesario —por ejemplo, en mensajes que van a la misma ventana—, Haiku requiere llamadas adicionales de bloqueo/desbloqueo
En cambio, las apps nativas de Haiku son suaves como la seda. Aquí hay una captura del editor de video Medo, donde todas las ventanas funcionan en su propio hilo: https://raw.githubusercontent.com/smallstepforman/Medo/refs/...
En sistemas modernos, esta app es suave como la seda, algo casi herético para un editor de video. La app de Haiku enlazada la escribí yo
Dejé Android cuando ni siquiera Samsung se tomaba en serio mejorar la respuesta de sus teléfonos
Me gusta que Apple priorice la capacidad de respuesta de forma constante, y gracias a eso Google, Samsung y Microsoft tienen incentivos para arreglar sus productos inflados
¿Qué sistema operativo actual se acerca más a esa agilidad? ¿Será Haiku OS?
Uso con gusto una MacBook M1, pero a veces siento que no alcanza
Otro ejemplo es SGI IRIX, que tenía un planificador excepcionalmente bueno. Durante un tiempo usé una máquina de 30 MHz y el escritorio se sentía bastante ágil
Un día compilé AMP y le puse una lista de MP3, en su mayoría de 192 kbps; como referencia, ese programa también podía decodificar 256 kbps sin cortes
Los archivos estaban en un recurso compartido NFS, y al ejecutar gr_osview vi que el uso de CPU estaba en 95%, pero el gestor de archivos seguía respondiendo y la música no se cortaba
Ya era impresionante decodificar MP3 de bitrate alto, por encima de 192 kbps, en 30 MHz
Que además mantuviera la capacidad de respuesta con todo el escritorio X Window System abierto y reproduciendo archivos desde un recurso compartido NFS muestra una pila de red y un planificador ligeros y potentes, que funcionaban bien incluso en hardware modesto
Era IRIX 5.3, en una Indigo Elan
A un amigo y a mí nos gustaban los sistemas operativos, así que corrimos BeOS en un viejo Pentium 90 y, como dije arriba, se sentía ágil
Linux también hizo lo suyo. Después de sufrir daños por agua, ese Pentium 90 ya no era estable, y como usaba RAM sin paridad, Windows NT se iba poniendo raro lentamente hasta terminar en pantallazos azules repetidos
Por diversión le instalé Red Hat 5.2 y funcionó bien. El log del sistema mostraba muchas entradas por segundo, y podías abrir una consola X y verlas pasar
Esa máquina incluso sirvió la página web de la empresa durante unas semanas, solo por diversión. Eran buenos tiempos
Para agregar un detalle, el código fuente de QNX estuvo accesible desde 2007 hasta antes de la adquisición por RIM/Blackberry en 2010
¿Hay planes de volver a ofrecer acceso al código fuente de QNX?
https://www.qnx.com/news/pr_2471_1.html
Estamos escuchando que esto es importante tanto para clientes como para la comunidad. Manténganse atentos
La empresa anterior fabricaba routers Active/Standby de alta disponibilidad para redes móviles, y usaba QNX como sistema operativo. Esa capacidad todavía me impresiona
La memoria ya la tengo algo borrosa, pero corríamos QNX en el procesador del plano de control, y el sistema tenía soporte nativo para iniciar procesos en procesadores remotos a través de la red interna del router
Es decir, la comunicación entre procesos de bajo nivel podía usar IP, y el IPC de QNX era esencial para las funciones de conmutación por error de alta disponibilidad
También era excelente que los drivers de dispositivos fueran procesos en espacio de usuario y pudieran reiniciarse si fallaban. Estábamos desarrollando un driver de red, así que a veces eso pasaba de verdad
También me parecía mejor que los dispositivos realmente aparecieran en el árbol /dev/, a diferencia de Linux, donde los dispositivos de red son una excepción y no aparecen correctamente en /dev/
Como anécdota curiosa, una vez tuve un problema porque por accidente le puse const al valor de retorno de IPC, y mi proceso moría entre la función de IPC de QNX y mi función
Pasé días depurándolo, y con el nivel del depurador de C/espacio de usuario que usábamos entonces no pude detectar ese error
Las line cards también corrían Linux, pero solo se encargaban de programar el ASIC según las instrucciones del plano de control
Esas funciones no eran especialmente relevantes, y el IPC se podía hacer con HTTP o de la forma que quisieras
@JohnAtQNX, ¿podrían quitar de las descargas del sitio web la restricción de que todo requiere una cuenta, y también eliminar el mecanismo de licencia de qcc?
Ayudaría mucho a animar a los desarrolladores aficionados a probarlo
Probablemente los ingresos vengan de contratos de licencias por volumen, con un esquema de costo de licencia por terminal
Si hacen enojar a los equipos de CI/CD que tienen que dar soporte a la familia de productos QNX, ponen en riesgo esa fuente de ingresos
Es bueno escuchar lo mismo desde afuera, y volveré a ponerlo sobre la mesa para ir empujándolo poco a poco
De verdad odio tener que agregar un nuevo inicio de sesión cada vez que aparece algo nuevo
Lo mismo pasa con los feeds de noticias: casi la mitad de los sitios de noticias dicen ser “gratis”, pero exigen iniciar sesión. En ese caso al menos suele ser fácil encontrar el mismo artículo en otro lado
Todavía recuerdo lo impresionado que quedé con la demo de QNX en un solo disquete, que hasta incluía un navegador web. Era realmente rápida
Espero que les vaya bien. Solo puedo imaginar el nudo gordiano que debe ser resolver todos los temas legales para poder abrir algo de verdad
Como ya dijeron otros, todos están cautelosos después de haberse quemado dos veces, pero QNX tiene muchas cosas disfrutables, así que ojalá esta vez gane impulso
Desde entonces siempre tuve una impresión bastante positiva de QNX, pero los cambios intermedios de propietario y de estado abierto/comercial siempre me hicieron mantenerme a distancia
Lamentablemente, esta “apertura” también se siente conocida, y me parece que volverán a dar marcha atrás a menos que surja una comunidad libre y de código abierto lo bastante grande como para sostener una licencia GPL realmente abierta y forks
Me gusta el intento audaz. Desde hace mucho miro QNX con interés desde la barrera, pero en la mayoría de los casos no he sido un usuario potencial
Un buen siguiente paso sería elegir tipos comunes de proyectos hobby y publicar una serie de posts de blog que expliquen cómo se pueden aplicar en esos escenarios las fortalezas de QNX
También trabajo en una organización sin fines de lucro que investiga la vigilancia costera, donde hay algunas personas que fabrican hardware personalizado. ¿Podría servirnos también a nosotros?
En Rizin queremos mejorar el soporte para QNX de nuestro framework libre y de código abierto de ingeniería inversa y depuración
Ya tenemos soporte[1][2][3][4], pero no podemos probarlo de forma estable
Sería bueno que ofrecieran una imagen de QEMU lista, igual que Windows ofrece directamente una VM limitada para pruebas[5]
[1] https://github.com/rizinorg/rizin/tree/dev/librz/bin/format/...
[2] https://github.com/rizinorg/rizin/blob/dev/librz/bin/p/bin_q...
[3] https://github.com/rizinorg/rizin/blob/dev/librz/debug/p/deb...
[4] https://github.com/rizinorg/rizin/tree/dev/subprojects/rzqnx
[5] https://developer.microsoft.com/en-us/windows/downloads/virt...
Dicho eso, entiendo que sería más fácil descargarla con un solo clic, como las imágenes de Windows, y me llevo ese comentario
Si podemos ayudar de alguna otra forma para hacer posible el soporte de QNX, mándame un DM o escribe a qnxcommunityengagement at qnx dot com