¿Debería todo el software ser de código abierto?

Usted pregunta: ¿Debería todo el software ser de código abierto?

Veamos.

Una forma de ser elegido pagando a los clientes por hacer un trabajo es asegurarse de que nadie más pueda hacer ese trabajo legalmente . Esa es la esencia del software propietario.

Esto en teoría permite:

  • para poder decidir que los costos de desarrollo (incluido lo que se requiere para obtener una ganancia) deben distribuirse entre muchos clientes del mismo producto (ver algunos productos COTS patentados, por ejemplo, vendidos en una moneda de diez centavos por docena).

    El software Open Source / Free también permite distribuir los costos entre varios clientes, pero de una manera diferente (es decir, mediante la recopilación de patrocinadores para hacer un desarrollo): no puede decidir cómo se deben distribuir los costos, el mercado lo decide tú. Eso se llama competencia y generalmente se considera Good Thing ™.

    A lo sumo, puede decidir asumir todos los costos usted mismo, y eso también es razonable si tiene otros medios para sobrevivir y encuentra que resolver problemas es una actividad recreativa, o si valora el prestigio que esto le brinda a sus compañeros. Pero tenga en cuenta también que el ecosistema de software libre / de código abierto tiene entidades que se ofrecen espontáneamente para asumir algunos de esos costos en muchos casos (pero no en todos los casos);

  • para compensar a tiempo los pagos requeridos para cubrir los costos de desarrollo (y obtener ganancias);

    El software de código abierto / libre prácticamente evita esto cuando el producto terminado es solo “software”. Pero, por otro lado, si el producto que se está vendiendo realmente es software + servicios de asistencia , bueno … es solo el modelo que funciona tan bien para Gillette (“regalar” la navaja de afeitar principalmente de forma gratuita, pero luego vender las cuchillas por ella ) Aparentemente, esto funciona para Canonical, RedHat, SuSE y, en algunos casos, también para Oracle.

  • para poder garantizar la exclusividad (o el secreto) a un conjunto restringido de clientes (y así poder “venderlo” también por un precio, lo que significa que alguien les paga a ambos por hacer un producto de software y tampoco por ponerlo a disposición de sus competidores)

    El software de código abierto / gratuito puede garantizar eso solo cuando solo hay un cliente involucrado, ya que no existe un requisito real para que las versiones estén disponibles para el público en general, por lo que puede publicar sus desarrollos solo para un solo cliente y garantizar que no se lanzará ellos a cualquier otra persona.

    Pero, por otro lado, si libera el mismo producto a más de un cliente, uno de ellos puede cambiar la idea más tarde (básicamente, al usar una licencia de software libre / de código abierto, cedió el control), por lo que no puede hacer garantías en eso, por lo tanto, no puedes vender eso.

Entonces … para responder a su pregunta: la mayoría del software podría ser definitivamente de código abierto / software libre, pero también hay lugares para el software propietario.

Honestamente no puedo decir que me siento fuertemente de una manera u otra.

Sin embargo, creo firmemente en pagar mi hipoteca.

Si todo el software era de código abierto, efectivamente también se vuelve gratuito. Sé que estamos destinados a decir “¡Es gratis como en el discurso!”, Pero la realidad es que ese software de código abierto tiene éxito porque es gratuito. Si de alguna manera pudieras cobrar dinero por Linux, Apache, nginx, etc., mientras los mantienes abiertos, nunca habrías oído hablar de ellos, habrían fallado tanto.

Entonces, si todo el software es de código abierto, ¿cómo abordamos esos pequeños detalles, como ganar dinero?

  1. Podemos pegar anuncios en servicios, como Google y Facebook. Realmente no importa si el código de Facebook era Open Source tanto, su valor está en llamarse “Facebook” y todos sus amigos ya están unidos.
  2. Podemos cobrar por el apoyo. Esto se usa bastante en las grandes empresas, donde usarán GNU / Linux, pero le pagan a IBM, RedHat o alguna otra compañía para que los respalde. Esto puede adaptarse a las grandes empresas, pero realmente no lo veo funcionando para el próximo juego de Call of Duty, regalado gratis, pero con un contrato de soporte opcional.

Creo que podemos ver el software como cualquier otra propiedad intelectual, digamos películas o libros. Si tuviéramos que regalarlos, ¿cómo hacemos dinero? Con películas / TV que ya está probado: publicidad.

Es solo una cuestión de si desea pagar a los desarrolladores para hacer software o si desea pagar a los ejecutivos de publicidad para que publiquen anuncios.

El software de código abierto tal como es hoy existe solo porque existe software comercial. Si no se gastaran cientos de miles de millones de dólares en software pagado, la infraestructura requerida para construir software abierto de la calidad que tenemos dejaría de existir.

Piense en todo lo que el software comercial contribuye al ecosistema:

  • Millones de programadores tienen trabajos que pagan sus facturas y, por lo tanto, pueden dedicar tiempo libre a proyectos de código abierto
  • Existen programas de capacitación (escuela, etc.) porque existe un software comercial.
  • Etc, etc., etc.

Veo algunos defensores bonitos, ah, intensos de que todo el software sea de código abierto aquí (‘No debería ser necesario, pero todo lo que uses debe ser de código abierto para que tengas control’).

Permítanme agregar una arruga a eso: soy dueño de una empresa que construye sistemas de movimiento de alto rendimiento. Una gran parte de nuestro producto es el software que controla el hardware que construimos. Entregamos ese software de forma gratuita, pero dado que está repleto de métodos inteligentes, difíciles de lograr y no patentables para hacer lo que hace, el código abierto esencialmente regalaría la granja a nuestros competidores.

¿Deberíamos exigirnos, ya sea por medios legales o la presión social evidenciada en otras respuestas, que entreguemos nuestro trabajo de forma gratuita a otros? ¿Deberían estar obligados a darnos su fuente? ¿Deberían las personas negarse a usar nuestro producto porque el código que lo controla es propietario?

¿Debería eso extenderse también al software embebido? ¿Sugiere negarse a tener un microondas si no puede verificar la fuente usted mismo? Si no, ¿por qué la distinción arbitraria?

No creo que sea muy razonable. El código abierto es excelente para muchas cosas. Pero decir que debe usarse universalmente desmiente un malentendido fundamental sobre cómo funciona el mundo.

Las personas no están obligadas a entregar su código fuente si no lo desean. Más de lo que debería poder obligarlos a decir o hacer cualquier otra cosa.

OTOH, como usuario / consumidor de software, es un tonto al aceptar cualquier software en su vida y en su máquina que no sea de código abierto (y, por lo tanto, bajo su control). Del mismo modo, debería preferir asociarse con otras personas y consumir servicios de otras compañías, que también usan código abierto.

Entonces sí. Todo el software en tu vida debe ser de código abierto. Lo que otras personas hacen en privado es su negocio.

Por supuesto no. Los sistemas de inteligencia y seguridad (criptográficos) del gobierno y las aplicaciones militares deben permanecer en alto secreto.

El software empresarial que brinda a las empresas una ventaja competitiva debe permanecer privado y secreto.

No. (Y soy un antiguo autor de software gratuito).

Algunos softwares tardan meses o años en construir un gran equipo. ¿Qué comen los desarrolladores mientras realizan el desarrollo? Promesas?

¿Algunos? Sí. Pero definitivamente no todo, o estaríamos de vuelta en la década de 1960.

Es como preguntar si todas las personas usan azul. No, no deberían. Al final del día, es casi seguro que entre miles de millones de personas habrá muchas personas a las que no les gustará el azul. Y al final del día, puede ser que incluso a la mayoría no le guste o al menos no le importe.

La mayor parte del software por el que he pagado ha sido shareware

Este es un software funcional, donde por una tarifa puedo desbloquear funciones adicionales.

Creo que este es el modelo óptimo, ya que beneficia tanto a los usuarios como a los desarrolladores.