open source - participar - ¿Nos estamos disparando a nosotros mismos al trabajar en proyectos de código abierto?
proyectos open source (19)
¿Qué pasaría si hubiera "bancos de código abierto"? Donde los cajeros, gerentes, ejecutivos, etc. son súper amigables, trabajaron gratis y ofrecieron algunos productos pateados, ¿por qué ir a un Banco de América y pagar toneladas en honorarios, correcto?
No es una gran analogía (¡open source! = No sirve para nada), pero ... Banking with BoA es una mala elección ahora ; es un banco terrible Las cooperativas de ahorro y crédito en realidad están cerca de lo que describes, y sin embargo los bancos comerciales continúan ... bueno, existen.
OpenOffice o cualquier otro de estos trajes de oficina baja Microsoft Office y ahora Microsoft tiene que despedir a miles de desarrolladores debido a esto ...
Para que eso suceda, OO tendría que cumplir o superar MSOffice en funcionalidad, facilidad de uso y soporte. Para que eso suceda, MS tendría que soltar la pelota por completo . Considere el caso de Internet Explorer: efectivamente abandonado durante años, y aún manteniendo la mayoría del mercado. Hay otros factores en el trabajo.
He estado considerando la idea de trabajar en algunos proyectos de código abierto, principalmente por las mismas razones por las que todos los demás lo hacen: por diversión y por aprender algo nuevo. Pero ahora más que nunca estos proyectos de SO (Código Abierto) se están volviendo cada vez más fuertes y cada vez más populares. Entonces, he estado pensando, ¿somos desarrolladores que matan nuestra profesión al trabajar gratis? Sé que hay algunos proyectos de sistema operativo que pagan algo, pero nada comparado con lo que le pagarían por trabajar en una compañía de software de tiempo completo.
Piensa en estos escenarios del peor de los casos:
- OpenOffice o cualquier otro de estos trajes de oficina baja Microsoft Office y ahora Microsoft tiene que despedir a miles de desarrolladores debido a esto ...
- Linux se convierte en el sistema operativo utilizado # 1, y tanto Apple como Microsoft tienen que despedir a los desarrolladores de Windows y Mac.
Piensa en esta analogía:
- ¿Qué pasaría si hubiera "bancos de código abierto"? Donde los cajeros, gerentes, ejecutivos, etc. son súper amigables, trabajaron gratis y ofrecieron algunos productos pateados, ¿por qué ir a un Banco de América y pagar toneladas en honorarios, correcto?
En otras palabras, ¿qué pasaría si todo el software se convirtiera en código abierto? Esto probablemente nunca suceda o incluso si lo hace, todavía habrá muchos puestos de trabajo para nosotros, pero de todos modos, quería ver lo que otras personas pensaban de esta loca paranoia mía :)
Ver también:
https://stackoverflow.com/questions/196131/making-money-with-open-source-as-a-developer
https://stackoverflow.com/questions/116581/open-source-why-or-why-not
La diferencia entre el software libre y el software de código abierto
Al trabajar en proyectos de OSS, los desarrolladores contribuyen al conjunto general de códigos y ayudan a todos. Yo mismo, estaría sin trabajo si no fuera por Unix y Apache. Una gran cantidad de excelentes herramientas que hacen que otro software sea mejor y más fácil de usar son OSS y no quiero estar donde estaría la industria sin ellas.
Si fuera el caso de que los proyectos OSS reduzcan el número de puestos de desarrollo remunerados, sería fantástico: no sería más productivo pagar a las personas para que reescriban el código que ya está disponible en forma revisada por pares y respaldada por la comunidad.
Código abierto no significa trabajar gratis. A pesar de que los productos en sí son gratuitos, la mayoría de los desarrolladores que trabajan en proyectos de código abierto más grandes son pagados. Este pago puede provenir de un tercero que lo respalde o de una fundación creada para ejecutar el proyecto.
¿De verdad crees que los desarrolladores líderes en proyectos como Open Office están haciendo su trabajo gratis?
También normalmente hay muchas empresas que comenzaron debido a un software de código abierto basado en soporte e instalación. Muchas veces estos son ejecutados por los creadores del software. Asterix es un buen ejemplo de un proyecto de código abierto que tiene un lado corporativo basado en la instalación y el soporte.
En primer lugar, OO toplling Office o Linux derribar Windows son más que improbables. El software comercial es comercial y de código abierto es de código abierto por una razón.
Solo uso OO porque es gratis. Si OO y Office fueran libres elegiría Office en un abrir y cerrar de ojos porque OO es lento como un perro y tiene menos funciones. Y Linux es estrictamente técnico ... Si no te apetece hacerlo solo y solo quieres algo que funcione sin mucho esfuerzo, tienes que ir a Windows o Mac.
Todos los pequeños toques que hacen que el software sea más útil y funcional son los que hacen que el software comercial valga la pena. ¿Por qué es esto? Bueno, las habilidades de los desarrolladores de código abierto para alimentar a sus familias no dependen de la venta de sus productos, por ejemplo.
No es culpa de nadie. Así es como es. Usted paga por calidad, obtiene calidad. Y en los momentos en que paga por calidad y obtiene basura, esa empresa probablemente habría fracasado sin un proyecto de código abierto para eliminarla.
(Ah, y agrega Photoshop a la lista de cosas comerciales FÁCILMENTE mejor que su contraparte gratuita Gimp)
Es un intercambio. Sí, trabajas gratis, pero también estás aprendiendo, como dijiste.
Realmente creo sin embargo que si un proyecto OSS llega al punto en el que amenazaría a Microsoft, habría dejado de ser "gratuito" MUCHO antes.
Esto es algo así como la preocupación a principios de los años 2000 (y hasta ahora en cierta medida) de que el envío de trabajos de programación a países con ingresos más bajos dejaría sin trabajo a los desarrolladores de Estados Unidos. Es verdad si considera la lógica de forma aislada, pero se rompe cuando comienza a ponerla en el mundo "real".
Hay modelos de negocio de código abierto que generan dinero. Por lo general, siguen uno de los siguientes patrones (o alguna combinación):
- Haga que el software sea de código abierto pero venda soporte (p. Ej., Postgresql)
- Haga que el software sea de código abierto, pero cargue "recompensas" para implementar características específicas (por ejemplo, Reiserfs)
- Haga que el software sea de código abierto, pero agrupe algunas características "premium" de código cerrado en una versión comercial (p. Ej., MySql).
Además de eso, depende del tipo de software de código abierto en el que estés trabajando. Para proyectos tipo infraestructura, p. Ej. Bibliotecas, utilidades, servidores genéricos, etc., en realidad puede estar creando oportunidades para que se creen nuevas industrias de software. ¿Cuántas startups web estarían allí si tuvieran que pagar licencias de $ 40K / procesador Oracle, licencias de servidor web, licencias de sistema operativo, etc.? ¿Cuántos productos Java nunca hubieran sucedido si Apache Commons, Hibernate, etc. nunca hubieran existido? A veces, la creación de un código abierto puede hacer posibles modelos comerciales totalmente nuevos que nunca antes existieron.
Hay suficientes problemas de software que resolver el problema del sistema operativo u Office solo debería permitir a los programadores trabajar en algo de nivel superior.
Es como el argumento cuando Microsoft incluyó la pila de red en Windows 3.1. Todos estaban preocupados de que eso pusiera fuera del trabajo a las empresas que vendían pilas. Por mi parte, estoy bastante contento de que lo hayan hecho, y también les agradeceré que incluyan un antivirus en el sistema operativo.
La mayoría de los desarrolladores no trabajan en proyectos como MS Office o Windows o OS X. La mayoría trabaja en software personalizado que nunca se ve fuera de las paredes de su corporación o que nunca ha escuchado hablar de su pequeña industria. Este tipo de software especializado generalmente no se vende y, de hecho, ni siquiera es el producto final para las empresas.
El software de código abierto es la base de gran parte de este software personalizado. Al comprender y contribuir, te haces muy atractivo para estas empresas.
Creo que los mayores éxitos de código abierto se refieren a proyectos de infraestructura (servidores web y sistemas operativos) y yo diría que estos son los más importantes para ser de código abierto.
Lo dudo. Personalmente, los proyectos de código abierto comienzan como pasatiempos que se utilizan para adquirir nuevas habilidades, habilidades que puedo vender a un empleador eventual y poder señalar el código real en uso que he escrito.
Tienes que ponderar personalmente la decisión tú mismo. ¿Te desarrollarás más escribiendo un código fuente abierto? ¿Te da más profundidad / amplitud? ¿Te desarrolla de una manera que deseas que sea tu carrera? Mejor aún, ¿te pagan por hacerlo?
Incluso si todo el código fuera de código abierto, todos terminaríamos como consultores. Muchas empresas pagan a sus empleados para trabajar en proyectos de código abierto. Los ejemplos que puedo pensar en la parte superior de mi cabeza son IBM, RedHat y Sun. Muchas compañías ganan dinero con contratos de soporte y mediante la integración de código abierto. Todavía habría mucho dinero flotando.
No estoy seguro del número exacto indicado, pero según recuerdo, el 90-95% de los programadores trabajan en proyectos empresariales internos, y no en software destinado al mercado masivo. La mayoría, sino todo, el software de código abierto está destinado al mercado masivo. Entonces, si bien podemos perder algo de trabajo, probablemente no tengamos tanto efecto en la demanda general del programador. A menos que exista un éxodo masivo de empresas al software COTS, en lugar de sistemas personalizados, que no veo que ocurra en el futuro cercano, no creo que exista ningún peligro para los trabajos de la mayoría de los programadores. Además, el software de código abierto ayuda a crear competencia para el software comercial con el fin de crear más demanda para un mayor desarrollo en software de código cerrado. Solo mira cuánto tiempo estuvo inactiva IE antes de que Firefox, el navegador de código abierto, comenzara a convertirse en un serio competidor.
Tenga en cuenta que muchos proyectos de código abierto no tienen el mismo nivel de soporte que los productos pagos. Por ejemplo, tome una compañía grande como Microsoft, ESRI, Oracle, IBM, etc. Estas compañías obtienen un montón de ganancias de consultoría, servicios y soporte mucho más allá del costo inicial del software en caja.
Todo el software nunca se convertirá en código abierto. Hay demasiada demanda de software personalizado, por lo que siempre habrá alguien que esté dispuesto a pagarle a un programador para que escriba software solo para ellos.
Contribuir a un proyecto de código abierto puede ser similar a un abogado que realiza un trabajo pro bono. Los programadores deben recibir un pago, pero si les encanta la programación, querrán donar su propio tiempo para proyectos de código abierto que les interesen.
Los programadores que trabajan en un proyecto que aman pueden generar grandes aplicaciones que nunca verían la luz si se tratara de un proyecto cerrado.
Trabajo en código abierto por algunas razones. Primero, obviamente para mejorar mi conjunto de habilidades. Segundo, es divertido. Sin embargo, lo más importante últimamente es porque estoy cansado de trabajar en cosas que posiblemente sean buenas, que terminan en un estante propietario en algún lugar del que no puedo contarle a nadie. Es bastante frustrante construir algo y luego languidecer debido a la falta de fondos. Si trabajo de forma gratuita en mi tiempo libre, todavía no es "mío" y, básicamente, estoy trabajando de forma gratuita. Prefiero ser capaz de compartirlo.
Sin embargo, hay algunas empresas ilustradas (las mías incluidas a veces) que están dispuestas a invertir en el desarrollo de código abierto. En estos casos, además de que te paguen por trabajar en código abierto, es posible maniobrar para que te paguen por hacer cosas no tan divertidas que prefieres no hacer en tu propio tiempo. Cosas como documentación, soporte para dependencias que realmente no te importan, etc. Solo ten cuidado de que no se te escape :)
No es tan blanco y negro, también debemos considerar la motivación ...
Muy pocas personas trabajan en código abierto a tiempo completo ... la mayoría de los desarrolladores, como dice una de las respuestas anteriores, trabajan en proyectos internos corporativos para pagar las facturas, y luego en proyectos de código abierto para la realización personal.
Para ponerlo en términos psicológicos, específicamente la Jerarquía de Necesidades de Maslow, el trabajo diario cumple con las necesidades fisiológicas y de seguridad y las necesidades estéticas se cumplen parcialmente a través de la autorrealización y la estima que se puede obtener trabajando en proyectos de código abierto.
En realidad, es bastante raro que un proyecto de código abierto sea el único competidor de una solución patentada, de hecho, la mayoría de los softwares convencionales ya tienen una competencia comercial bastante amplia.
Entonces, desde ese punto de vista, generalmente hay mucha más competencia entre proveedores de soluciones comerciales / propietarias relacionadas.
Además, hablando por experiencia personal: cada vez que me involucraba realmente en un proyecto de código abierto, solía deberse a una cierta cantidad de "frustración" con soluciones de código cerrado de propiedad comercial / exclusiva que simplemente no eran tan completas, personalizables o bienvenida para presentar solicitudes y consultas de soporte.
Y honestamente, creo que esta "mentalidad de rascar tu propia picazón" es una motivación frecuente y común para muchos proyectos de código abierto y contribuyentes participantes: en algún punto, la mayoría de los proyectos se iniciaron porque las soluciones de código cerrado simplemente no eran tan receptivas. (solicitudes / problemas o solo ideas).
De hecho, soy muy consciente de varios proyectos de código cerrado que no me importa usar en absoluto, simplemente porque tienen un soporte increíble y son realmente buenos en el manejo de su comunidad, básicamente, no veo la necesidad de cambiar a una solución abierta.
Por lo tanto, en algún momento se reduce a la capacidad de interactuar adecuadamente con sus clientes y la comunidad de usuarios (esto se aplica tanto a código cerrado como de código abierto), que también incluye ser receptivo sobre las solicitudes de funciones y los problemas informados: si no puede manejar el impulso de la comunidad que su proyecto ha causado, puede dispararle y hacer más daño que bien, simplemente porque inevitablemente puede resultar en una comunidad frustrada de usuarios, lo que puede significar que su comunidad se está alejando de para ver alternativas, o -en una configuración de código abierto- simplemente bifurque su código y maneje el problema por su cuenta.
Entonces, desde ese punto de vista: cualquier tipo de competencia generalmente se reduce a una visión diferente que probablemente fue causada por no ser receptivo acerca de esta misma visión en primer lugar.
A la larga, creo que los desarrolladores obtienen ganancias de Open Source.
Tenga en cuenta que la mayoría de los proyectos de código abierto son "infraestructura": sistema operativo Linux, servidor web Apache, bibliotecas Javascript como jQuery para suavizar las diferencias entre los navegadores y simplificar las tareas comunes.
Linus Thorvalds creó Linux porque quería un sistema parecido a Unix para jugar sin pagar miles de dólares en licencias. Similar con Apache. Y Firefox fue creado para evitar que Microsoft controle la Web y, por ende, el destino de todos los desarrolladores web.
Si no hubiera alternativas de código abierto, todos los sistemas operativos y servidores web estuvieran controlados por Microsoft o IBM, y tuvieras que pagar decenas de miles de dólares en licencias para ejecutar un sitio web simple, ¿cuál sería el estado de la web hoy? ¿Habría trabajos para los miles de desarrolladores web con trabajos hoy?
Creo que el argumento general es que tener una infraestructura de software libre de alta calidad y más o menos
- da una infraestructura de mejor calidad
- le ahorra tener que pagar por la nariz para una capacitación técnica que solo puede comprarse a un proveedor comercial en particular ( tos MCP tos DB2 * tos *) - hoy son opcionales, ya que existen otras alternativas
- le ahorra al programador la tediosidad de volver a implementar la misma funcionalidad común por separado para cada cliente
- abre nuevas avenidas para resolver nuevas e interesantes clases de problemas
- aumenta la cantidad de usuarios de software, el mercado potencial para desarrolladores, con varios órdenes de magnitud
Esto es un beneficio tanto para la sociedad como para los programadores individuales y el software comercial.
Creo que sería suicida lanzar todo el software como código abierto, esto equivale a trabajar gratis durante toda la vida.
Pero para una gran clase de bibliotecas de conveniencia e infraestructura de desarrollo general, utilizada principalmente por los desarrolladores, creo que las ventajas superan con creces los inconvenientes. Y trabajando en código abierto usted mismo, gana experiencia que puede ser difícil encontrar en otro lugar.
Creo que además de las ventajas ya mencionadas. Los proyectos de código abierto brindan una excelente oportunidad para que los graduados universitarios obtengan experiencia antes de ingresar al mundo real.
Y también aumenta tus posibilidades de conseguir un trabajo.
Creo que la mayor parte del dinero se paga por personalización, soporte y mantenimiento ...
El software de fuente abierta aumenta la productividad para los desarrolladores, ya que reduce la necesidad de volver a empezar desde el principio ... no es más que una herramienta que permite una creación productiva de soluciones reales ... una plataforma sobre la que apoyarse ...
hay un software de código abierto diseñado para el usuario final ... el punto no es que es gratis (como en la cerveza gratis), sino que otros son libres (como en libertad) para adaptarlo a sus necesidades ... open source es de desarrolladores para desarrolladores ... los usuarios finales solo tienden a ver el aspecto de cerveza gratis, sin embargo, no está claro si usar software libre, que requiere una curva de aprendizaje más empinada y tiene menos soporte para ofrecer, y no ofrece muchas garantías, es mucho más barato al final ...
contribuir al software de código abierto aumenta su productividad en el sentido de que conoce muy bien ese marco / biblioteca / herramienta y puede explotar al máximo su potencial, y también, al menos parcialmente, darle forma a su voluntad ...
El software libre distribuido bajo copylefts fuertes que excluyen el uso comercial (rara vez se ejecuta en tal cosa), son una bestia diferente, sin embargo, en el caso de los IDE, los compiladores y otras herramientas de desarrollo son geniales ...
también, hay un cierto temor de regalar una fuente para una solución comercial ... esto también es bastante paranoico ... por supuesto, todos pueden modificarlo una vez que obtuvo la fuente (ya sea gratis o por dinero) ... sin embargo, para hacerlo, los desarrolladores en cuestión deben familiarizarse con la fuente ... esto requiere mucho dinero (y tiempo) y, a menos que su compañía realmente planee hacerlo a gran escala (bajo GPL, también significa, su trabajo fluirá de regreso como contribución al proyecto), es mucho más barato pagar a cualquiera de los contribuyentes del proyecto para modificar las modificaciones requeridas ...
los días hermosos, cuando los desarrolladores fueron pagados para reinventar la rueda se han ido ... solo unos pocos tienen la suerte de tener tiempo para trabajar en las bibliotecas / frameworks / plataformas funky, etc., y los menos reciben el dinero que tenían se lo merecen ... pero obtienen el desafío, la diversión, la experiencia, los créditos y la oportunidad de crear una herramienta que satisfaga sus propias necesidades ...
si decide contribuir a un proyecto de código abierto, confía en usted y en la comunidad que respalda el proyecto ... usted confía solo en este último, si solo participa (lo que significa solo usarlo y enviar informes de fallas), y Si confías en una empresa, si eliges ser un usuario de software propietario ... creo que el primero es lo mejor que puedes hacer, el segundo es dispararte en el pie y el último es simplemente cortarlo. .
El modelo de código abierto no es apropiado en todas las circunstancias. Me imagino que es muy poco probable que los bancos adopten este modelo, ya que simplemente no es adecuado.
El software de código abierto no funciona sin personas para instalarlo, mantenerlo y desarrollarlo. Si Mac y Microsoft fueran de código abierto, los trabajadores seguirían siendo necesarios. De hecho, mi trabajo es mantener los productos de código abierto. No apoyo sistemas de código cerrado.
Además: Microsoft ya está adoptando el código abierto:
http://www.microsoft.com/web/gallery/Categories.aspx