Archivo de la etiqueta: arduino no es libre

Tips/Trucos: Para diferenciar un producto de una tecnología

Vamos a ser didácticos, porque si no trabajas en una cooperativa las «mentes pensantes» que tienes por encima en las reuniones de proyectos y sprints y mierdas similares, se llenan la boca con «vamos a usar la tecnología X y la tecnología Y y usaremos un desarrollo agile y blablablaba.».

O las psicópatas de recursos humanos (aka reclusos humanos) que normalmente son psicólogas con ínfulas de guardiana de campo de concentración…estoy esperando que en una entrevista de curro me pregunten «te encuentras una tortuga boca arriba en el desierto…». Son gente que trata a la gente como recursos y que se la suda despedir a personas con sus cosas humanas si no rinden en determinado momento concreto pese a ver salvado docena de veces el culo a la empresa, ojala haya un infierno para ellas y sea un diablo que les haga picar piedra con las manos desnudas y les haga un cuestionario cada 2 horas de su valor en la infierno.

Pues esta gente psicópata normalmente en la entrevista de trabajo te sueltan una batería de preguntas sacada de «las 10 tecnologías del año según forges/sección_tecnología_el_mundo/yahoo/o_su_puta_madre_en_bragas» pasando cosas tan curiosas como en mis tiempos mozos ver ofertas de trabajo en el tablón de anuncios de mi universidad que pedían «3 años de experiencia en puto-asqueroso M$-.Net» cuando lo habían empezado a vender ese mismo año.

Lo primero es lo primero…¿Qué es una tecnología?

Pues lo siento hijo mio, pero una tecnología puede ser cualquier cosa, y ya me he adaptado a este pseudolenguaje y también digo tecnología a todo, porque puedes decir:

  • en el proyecto X usamos tecnologías json
  • en el proyecto X usamos tecnología Python
  • en el proyecto X usamos tecnología Flake8
  • en el proyecto X usamos tecnología Django
  • en el proyecto X usamos tecnología BigData
  • en el proyecto X usamos tecnología MariaDB
  • en el proyecto X usamos tecnología git
  • en el proyecto X usamos tecnología teclados de membrana para joderle las articulaciones a los programadores
  • en el proyecto X usamos tecnología Blockchain

Y te quedas tan pancho, nadie te va mirar raro en la reunión, o nadie te va contestar al email intentando aclarar que eso no es una tecnología…salvo pedantes y pimpollitos recien salidos del FP/Univesidad….¡¡OJO!! FP o Carreras técnicas (o gente que se a pelado el  porque los que salen de ADE o Empresariales o Económicas esos te miran ojos de salmón de la pescaría encima del hielo y si ven que pueden chupar bien al jefe si esta en esa reunión…se apuntan al carro diciendo «si, si la tecnología PITICLIN es muy puntera he visto proyectos de Google que la usan».

Vale ahora vamos a ver cuando una tecnología es un producto.

Pues como todo es una tecnología. Vamos con una lista de checks para saber lo que es un producto:

  • ¿No es algo físico que puedas coger con las manos? Entonces es software, documentación, etc. ¿Es libre (software libre, o CC by-sa o similares)? NO, es un producto.
    • Ejemplos:
      • (antiguo por suerte) Microsoft Visual Basic 6, tienes que comprarlo.
      • APIs a online resful a por ejemplo datos de resultados deportivos, que a parte de pedirte un registro, te cobran por el uso, frente por ejemplo el API de Wikipedia u Openstreetmap que es de acceso libre.
      • Las API a servidores de software privativo, puede que en la siguiente versión les salga de los cojones cambiarla y te jodan medio proyecto.
      • Mierdas de IDEs como PyCharm que la versión «libre» es una mierda pinchada en un palo, y los cabrones te venden una versión privativa con lo que le da valor al puto IDE.
  • ¿Es un estándar? ¿Quién lo mantiene? Si lo mantiene solo 1 empresa o un conglomerado de empresas camuflados bajo una fundación…es un producto. Y ellos son los dueños y cuando quieran cambian. El contra ejemplo es cuando el estándar esta bajo una fundación y ves que en ella hay asociaciones, fundaciones, ongs, empresas variadas e incluso enemigas, como por ejemplo OpenGL.
    • Ejemplos:
      • Cualquier estándar de la industria de la automoción, son sus gatos y se los ****. Y no hablo solo de los protocolos de comunicación, imaginad un mundo en que se obligara a estandarizar las piezas de los coches como mas o menos se hace las de PCs y así.
      • Lenguajes de programación de mentira o productos como m$-.Net o Kotlin o Objetive C que solo lo lleva una empresa.
      • Las clavijas de los productos de Apple.
  • ¿Si es algo físico? ¿Se basa en estándares de verdad (ver anterior punto)? NO, un producto. ¿Lo fabrican muchas empresas la misma cosa física? NO, un producto.
    • Ejemplos:
      • CUALQUIER PRODUCTO DE APPLE
      • Muchas videoconsolas, salvo las que estanhechas con Android.
    • Corolario
      • Y por contra, ya para que «eso físico» reciba el calificativo de una tecnología DE LA HOSTIA….¿Lo puedes mas o menos fabricar tu (tanto en garaje o mandarlo a que te hagan las placas)? Si, entonces es una tecnología DE LA HOSTIA. Y  como superlativo para que sea una tecnología DE LA REHOSTIA. ¿Puedes fabricarlo de cero tu? Si es SI, es una tecnología de la REHOSTIA…cosa que Arduino solo es una técnologia de HOSTIA y no es un tecnología DE LA REHOSTIA porque la CPU que es una atmega xxx no es hardware libre, es un producto que si o si debes comprar a Atmel o sus copias chinas. Macho David Cuartielles a ver si le metes caña al Arduino con Risc V.
  • ¿El software no es software libre y solo es open source? Entonces es producto.
    • Notas:
      • Ocurre como PyCharm y asi que la «version libre» no es un versión completa y «lo enterprise» son añadidos, si no es una «versión mutilada».
      • Cuando el proyecto no acepta contribuciones (o pull request o ranas en sidra) que «no sean buenas» para la empresa que lo lleva.
      • Hay que sospechar cuando el proyecto lo lleva solo una empresa y encima es de las que llamamos «empresas malvadas», aunque a veces no influye.
      • También hay que sospechar cuando pese a ser un proyecto viejo, ninguna distribución lo tiene empaquetado, sobre todo si es Debian.
      • Cuando el código fuente lleva blobs o código cifrado u ofuscado.
      • Cuando tiene una licencia anti GPL.
      • Cuando los assets (rollo músicas, gráficos, videos) o ficheros no de codigo fuente, no son libres. Ejemplo claro el típico videojuego que va de libre pero no tiene ni siquiera libres un pack de gráficos y niveles de demo, lo que buscan son tontos que les mejoren el motor de gratis.
      • Cuando no existe documentación, o la documentación es una puta mierda pinchada en un palo, o para poder usarlo de verdad son cursos pagando.
      • Sospecha el proyecto esta overengining o tiene complejidad artificial.
      • Cuando le falta algo esencial para que funcione, ejemplo anterior los assets de videojuegos.
      • Cuando no compila, despliega el proyecto desde las fuentes.

Y consejo del día, por tu bien intenta en los proyectos usar tecnologías en vez de productos, porque quien sabe que vueltas da la vida y cuando te van a dejar tirado el que te ofrece el API y te quedas sin esa importante funcionalidad, y como era un producto de mierda pues no puedes decir pues «me voy a montar el API que ha desaparecido en un server mio con casinos y putas.» y buscate la vida.