¿Por qué desarrollar programas gratuitos de código abierto? [cerrado]

36

¿Por qué alguien usaría su propio tiempo para desarrollar un proyecto de código abierto de forma gratuita y sin compensación?

Diego
fuente
10
Oh, de verdad, ¿tenemos que discutir este tema una y otra vez? Incluso MS crea algunos programas OpenSource hoy en día.
user281377
18
@ammoQ: Aunque tienes razón, esto no es particularmente útil.
back2dos
55
Bueno ... no codifico gratis, sin embargo, paso 37.8 horas a la semana sentado en un escritorio escribiendo software que se lanza bajo la GPL. A veces, el software se crea para satisfacer una necesidad comercial u operativa. El software en sí no tiene valor comercial para un consumidor mientras que aún proporciona valor a la unidad de negocios. Las personas que no usan otros productos de la compañía no estarán interesadas en la aplicación de código abierto que no les dará nada, e incluso si lo hicieran, ¿a quién le importa?
TZHX
25
Su suposición fundamental tácita, de que la única motivación válida para el comportamiento humano es el motivo del beneficio, es deshumanizante, ofensiva y, lo más importante, demostrablemente falsa. Visite youtube.com/watch?v=u6XAPnuFjJc para una investigación real sobre el tema.
Mason Wheeler
16
¿Por qué las personas se sientan en StackExchange y ayudan a las personas sin que se les pague?
kba

Respuestas:

58

Para proyectos pequeños, los motivos pueden ser "pasatiempo", "adquirir experiencia", "fama", "alegría", etc., pero no es así como funcionan los grandes proyectos de código abierto como Mozilla, OpenOffice, Linux.

¿Por qué Sun compró StarDivision e hizo de StarOffice un programa de código abierto (llamado OpenOffice.org)? ¿Por qué Mozilla crea un navegador de primer nivel y lo regala como código abierto? ¿Por qué hay personas que crean Linux, escriben controladores y demás, y lo ponen a disposición de todos de forma gratuita? ¿Por qué Microsoft crea controladores de código abierto para Linux para que pueda funcionar mejor en la virtualización de MS?

Porque tiene sentido comercial para ellos. Ganan dinero de esa manera, o al menos planean hacerlo.

En algunos casos, el dominio de los productos de MS, es decir, Windows, Office, Internet Explorer, fue la razón por la que se creó un producto de la competencia, por lo que sería más difícil para MS usar su dominio de escritorio para conquistar otros dominios, es decir, servidores, servicios de Internet, también. Esto explica, en cierta medida, OpenOffice.org y Mozilla.

En otros casos, el software de código abierto está destinado a impulsar las ventas de hardware, otro software o servicios. Los controladores de código abierto obviamente ayudan a vender componentes de hardware a los usuarios de Linux. RedHat vende soporte para su distribución de Linux, y venden el hecho de que su Linux es RedHat genuino. Otros productos, por ejemplo, Oracle, están certificados para su uso en Redhat, pero no en CentOS, aunque probablemente funcione igual de bien. El hardware del servidor está certificado para Redhat, aunque otras distribuciones de Linux probablemente funcionen igual de bien. A los clientes con mucho dinero no les importa el precio, quieren el certificado.

Algunas compañías, por ejemplo, Google, patrocinan muchos proyectos de código abierto, porque ayuda a sus negocios. No lo hacen por altruismo. Quieren un internet gratis, un internet generalizado, un internet generalizado, donde la gente use los servicios de Google para que Google genere ingresos.

usuario281377
fuente
55
Algo escéptico acerca de que Google quiera un "internet gratis". Quieren una Internet ampliamente utilizada y frecuente que les brinde más oportunidades y finalmente les beneficie. Gratis es algo más discutible. +1 de todos modos para una buena respuesta.
Jon Hopkins
13
Jon: gratis como en "no controlado por un solo proveedor" (posiblemente excepto ellos)
usuario281377
1
Creo que esto no es irrelevante para el tema: joelonsoftware.com/articles/StrategyLetterV.html
back2dos
back2dos: gracias por el enlace; Lo he leído antes, pero no recuerdo dónde y cuándo.
user281377
Google patrocina proyectos de código abierto como Chrome porque les proporciona un nuevo producto relativamente barato que es competitivo con los líderes del mercado en términos de características y rendimiento, sin embargo, pueden aumentarlo con los mecanismos de control suficientes para generarles muchos más ingresos, el valor predeterminado El proveedor de búsqueda me viene a la mente. Suena cínico, pero ¿por qué lanzar Chrome cuando otros navegadores basados ​​en Webkit ya lo están ( en.wikipedia.org/wiki/… )?
JBRWilkinson
26

¿Por qué todo tiene que ser sobre dinero? ¿Cómo crees que funciona wikipedia? A nadie se le paga por poner contenido en Wikipedia, sin embargo, es discutible la mejor enciclopedia que existe.

editar:

Hablemos de dinero.

Los proyectos de código abierto, como cualquier proyecto, se escriben por necesidad. Tiene un problema X y escribe la biblioteca Y o la aplicación Z para resolverlo, porque

  • No hay herramientas que lo resuelvan o
  • No son lo suficientemente buenos o
  • No valen la pena (escribir su propia herramienta probablemente "cueste" más, pero al final tiene exactamente lo que quiere y puede modificarlo como quiera, por lo que el costo se amortiza rápidamente).

Así que ahora pasaste algunas tardes y fines de semana (y / o tiempo pagado) escribiendo la próxima cosa caliente hasta que llegas a un punto, donde el bebé comienza a caminar. Ahora tiene que elegir entre:

  • Distribución comercial: esto implica marketing, asuntos legales, atención al cliente, hacer todas las correcciones usted mismo, obtener toneladas de solicitudes de funciones increíblemente estúpidas y comentarios menos que inútiles. Al final, obtienes lo que queda del dinero una vez que todos los parásitos obtienen su parte del pastel. Y probablemente a nadie le gustará tu producto porque cuesta demasiado.
  • Distribución de código abierto: esto implica ... uhm ... empujar el código a un repositorio público y hacer un anuncio o dos en las listas de correo relevantes. Obtendrá reconocimiento o incluso algo de fama. Obtendrá una base de usuarios, que proporciona comentarios constructivos, informes de errores útiles y posiblemente incluso parches. Recibes algunas donaciones o te invitan a algunas conferencias o te pagan para implementar las funciones a o b. Y produjiste mucho valor, aunque nadie pagó por nada. Y la próxima vez que usted o su empresa necesiten algo, es muy probable que lo obtengan y lo obtengan de forma gratuita.

El código abierto funciona porque es una comunidad. Porque es mutuo. No obtienes dinero escribiendo código fuente abierto. Obtiene dinero al consumir código fuente abierto. Entonces, ¿por qué escribes código fuente abierto? Para devolver algo.

back2dos
fuente
44
"¿Por qué todo tiene que ser sobre dinero?" por supuesto que no, pero la programación de programas es algo que a la gente generalmente le gusta que le paguen por hacerlo. (incluso si te gusta, soy programador y amo la programación, pero todavía no lo haría gratis)
Diego
@ Diego: Compilar enciclopedias también es algo que a la gente generalmente se le paga por hacer. Por cierto: actualicé mi publicación.
back2dos
12
@ Diego: perdona mi ingenuidad, pero ¿cómo puedes decir que lo amas si no lo haces solo por amor?
Matt Ellen
66
@ Matt: el amor nunca es solo por amor, es un error.
user281377
1
Lo hago solo por amor cuando es algo que quiero hacer, un "desafío de programación" para mí. No es solo un "software aburrido normal".
Diego
24

Este es un pasatiempo para algunas personas; por extraño que parezca.

Gillette estará feliz de darte una navaja de afeitar y venderte las cuchillas.

Algunas personas ganan dinero de otras maneras y quieren retribuir a la comunidad. Estoy seguro de que Linus Torvalds ha ganado mucho dinero con Linux sin vender el código y probablemente rechaza el dinero.

No todo el software de código abierto fue diseñado o diseñado para que cualquier usuario simplemente lo descargue, instale y use, por lo que puede terminar gastando más tiempo dependiendo del nivel de habilidad y la mayoría de las personas valoran su tiempo.

JeffO
fuente
3
Te refieres a un mango de afeitado gratis. La navaja es la cuchilla.
Joe Z.
Se llama modelo comercial de cebo y anzuelo. Lo mismo se puede decir sobre impresoras y cartuchos en.wikipedia.org/wiki/Razor_and_blades_business_model
Clasificador
En mi área tienes que pagar incluso por un asa :)
Nik
@JoeZ. - Crecí llamando a todo esto una navaja. y nunca conocí a nadie que no supiera de lo que estaba hablando hasta ahora. ¿Tal vez te refieres al mango, al portacuchillas y a la cuchilla / afeitadora como afeitadora?
JeffO
11

La compensación monetaria no es la única compensación posible. La fama (aunque principalmente en un círculo limitado) es otra. La alegría de mostrar lo que has hecho es otra.

Yo, principalmente, lo hago porque tengo ganas de escribir software y si resulta que ayuda a alguien más, todos ganan.

Vatine
fuente
44
Y te ayuda a conseguir un trabajo.
derecha el
5

Esta pregunta no es específica del código abierto, porque puede escribir código de forma gratuita y nunca publicarlo al público (aunque eso sería raro debido a todos los beneficios conocidos de compartir código).

La verdadera pregunta es, ¿por qué hacer algo gratis? La respuesta es porque te hace feliz .

Personalmente, me encanta aprender, y aprendo más trabajando en código abierto que trabajando en mi trabajo remunerado. Debido a que el aprendizaje mejora mis habilidades, también me ayuda a obtener mejores empleos remunerados.

Max Toro
fuente
4

Hay varias razones para desarrollar aplicaciones de código abierto. En general, cuanto más fundamental es la necesidad, mejor se adapta al código abierto. Por ejemplo, ASP.NET MVC, Ruby on Rails, Django, PHP y otros marcos web son de código abierto. Así es, incluso Microsoft tiene un proyecto de código abierto bastante conocido. La necesidad de un marco web bien organizado que le permita centrarse en la creación de una aplicación web es mayor que la aplicación web específica que está creando.

Muchas personas (incluido yo mismo) contribuyen al código abierto porque utilizamos estos marcos en nuestro trabajo diario. Es autoconservación en cierto sentido. Si no tengo que seguir reinventando la rueda solo porque estoy en una nueva empresa, ¿por qué debería hacerlo?

En cuanto a ganar dinero con código abierto, ese es un tema complicado. La mayoría de las licencias de código abierto le permiten vender su software. La licencia específica determina si necesita compartir sus modificaciones (las licencias de estilo BSD / ASL no lo hacen, mientras que las licencias de estilo GPL sí lo hacen en la mayoría de los casos), o proporcionar atribución al proyecto original.

Los casos que veo funcionan con mayor frecuencia son:

  • Venta de soporte. MySQL, Spring y algunos otros siguen este modelo y les va bien.
  • Venta de conveniencia. RedHat, SuSE y otras distribuciones de Linux empaquetan un grupo de aplicaciones para la conveniencia del usuario.
  • Venta de electrodomésticos. En resumen, esta es la forma en que compañías como Google, Nokia, Linksys, etc. ganan dinero empacando productos patentados y de código abierto juntos y manteniéndolos seguros. Es probablemente la opción más lucrativa.
  • Venta de camisetas / tazas / etc. No trae mucho, pero mejor que nada.

La conclusión es que el código fuente puede estar abierto, pero siempre hay personas que necesitan más que el código en bruto. Estoy seguro de que hay más formas de ganar dinero con el código abierto, solo tienes que ser creativo.

Berin Loritsch
fuente
2

Hay una variedad de razones.

A algunas personas se les paga por escribirlo, porque su empleador cree que vale la pena (y hay muchas razones potenciales para eso). Algunas personas comienzan empresas basadas en F / OSS porque pueden ganar dinero con él.

Algunas personas usan F / OSS y quieren retribuir.

Algunas personas lo tratan como un juego de reputación, como una investigación académica o respondiendo preguntas aquí.

Algunas personas quieren un determinado software para sus propios fines, y simplemente lo lanzan porque lo que quieren es usarlo, y a veces pueden obtener sugerencias útiles si otras personas también pueden usarlo.

David Thornley
fuente
1

Además del dinero, por supuesto, hay fama, y ​​luego están aprendiendo cómo funciona algo al construirlo y construirlo usted mismo. Adquiriendo experiencia valiosa y comercializable fuera de su vida laboral normal. Creo que Ayende es un buen ejemplo de esto.

Por otro lado, en general he encontrado algunos de los mejores y más intuitivos proyectos y marcos con los que he trabajado para ser de código abierto, creo que las personas que son realmente lo suficientemente apasionadas como para pasar su tiempo libre construyendo un proyecto desde rascar o simplemente mantenerlo produce un mejor producto que las personas que se agrupan de 9 a 5.

Watson
fuente
1

No es solo para ganar dinero, sino más a menudo para ahorrar dinero . La gran biblioteca de buenas bibliotecas y herramientas de OSS lo convierten en una opción natural.

En los mismos casos (GPL y amigos), eso significa que usted está legalmente obligado a hacer el código resultante OSS también. En otros casos, es solo una elección personal, pero aún así puede recibir otras recompensas (principalmente algún reconocimiento, a veces la posibilidad de vender soporte, a veces (me pasó a mí) una buena referencia para mostrar a posibles empleadores)

Javier
fuente
1

Puede liberarlo bajo una licencia libre restrictiva, como la GNU AGPL, y luego cobrar por las excepciones.

Trigonometría
fuente
Esa es una idea horrible.
derecha el
@WTP. Es el modelo de negocio de MySQL y x264, entre otros (aunque ninguno de ellos usa GNU AGPL, que yo sepa).
TRiG
1

En más de una ocasión, contribuí con un parche a un proyecto de código abierto simplemente porque quería asegurarme de que la función / corrección se incluiría en futuras versiones.

No parece una exageración que alguien publique algo como código abierto simplemente porque ofrece la posibilidad de que otros lo usen y lo mantengan actualizado.

Trabajé con una persona que escribió un código que (IIRC) validó CUSIP . Lo lanzó en la red. Años más tarde, descargó una lib CUSIP para un sistema diferente. Se sorprendió al ver una referencia al código que escribió años antes.

sal
fuente
0

Puedes apoyarlo para obtener dinero. Si tiene un programa muy bien pensado y utilizado por la comunidad, por ejemplo, como jboss, puede ofrecer sus servicios y soporte. La gente lo pagará.

johnny
fuente
0

El equipo para el que trabajo comenzó con un código de dominio público (escrito por el propietario del negocio) [El código abierto fue años después de ser inventado]. Su modelo de negocio original era ser un consultor sobre su uso (el uso no es sencillo, y muchos cientos de personas se ganan la vida consultando). Por supuesto, la demanda de mejoras de funciones fue tan grande que se convirtió en un código comercial patentado *. Pero, aún así, la mayoría de los salarios ganados están disminuyendo rápidamente en la escala: (1) Usuarios que realizan su trabajo, (2) Consultores para agrupar (1), finalmente (3) Desarrolladores / evaluadores, etc.

Uso el plural, porque varios otros códigos propietarios surgieron de la misma versión de código fuente de dominio público.

Omega Centauri
fuente
0

Puede encontrarse en la siguiente posición:

  • necesitas un buen software para hacer cosas por ti
  • encuentra que necesita mucho más control sobre cómo funciona el software que las opciones de configuración de las ofertas disponibles
  • tiene acceso al código fuente para el software que casi satisface sus necesidades, y la experiencia para modificarlo para ejercer el control que necesita
  • solo necesita realizar pequeñas modificaciones para sus propósitos, pero desea beneficiarse de muchas más modificaciones realizadas por otros, y el futuro del desarrollo del software se ve brillante
  • sus modificaciones no están aisladas y son lo suficientemente importantes como para considerarlas como activos que vale la pena proteger o vender, o la sobrecarga adicional al hacerlo superaría los beneficios
  • sabes que tus modificaciones pueden beneficiar a muchos otros con necesidades similares a las tuyas; incorporarlos a la línea principal de desarrollo le ahorrará esfuerzo, en comparación con mantener su propia copia bifurcada

En esta situación, participar en un proyecto de código abierto es una decisión comercial perfectamente sensata.

También puede ser una muy buena publicidad.

reinierpost
fuente