Como joven estudiante que aspira a tener una carrera como programador, ¿cómo debería sentirme sobre el software de código abierto? [cerrado]

17

De vez en cuando, en algunos sitios web de tecnología, aparecerá un titular como este: http://www.osor.eu/news/nl-moving-to-open-source-would-save-government-one-to-four -billones

Mi pensamiento inicial sobre el gobierno y las organizaciones que se están moviendo hacia el software de código abierto es que toneladas de programadores perderían sus trabajos y la industria se reduciría. Al mismo tiempo, la proliferación y el uso de software de código abierto parece ser muy alentado en muchas comunidades de programación.

¿Considero que la aceptación total del software de código abierto en todas partes perjudicará a la industria del software como un error? Si no es así, ¿por qué a tantos programadores les encanta el software de código abierto?

Mate
fuente
44
Si cree que una estrategia de código abierto significa despidos, lea la "Carta de estrategia V" de Joel Spolsky. joelonsoftware.com/articles/StrategyLetterV.html
user16764

Respuestas:

26

El hecho de que un proyecto sea de código abierto no significa que los programadores no se ganen la vida de él. Los gobiernos y las empresas donan grandes cantidades de dinero a fundaciones como mozilla y apache.

También tenga en cuenta que las empresas deben contratar programadores para MODIFICAR el proyecto de código abierto para personalizarlo para su negocio. Las empresas no pueden usar herramientas estándar para todo. Esto es algo que no se puede hacer con el software de código cerrado, por lo que es un ejemplo de cómo puede abrir nuevas oportunidades para la programación. No se trata de eliminar a los programadores o de no pagarles, se trata de reorganizar la estructura para que las cosas sean más eficientes para que tengamos más tiempo para NUEVOS proyectos.

Otra cosa a tener en cuenta sobre el código abierto es que no necesariamente tiene que revelar el código fuente de su programa a menos que vaya a distribuirlo. Para los programas que una empresa va a utilizar para sí misma en sus servidores o necesidades dentro de la empresa, probablemente NO distribuirá y, por lo tanto, no tendrá que revelar el código fuente del programa modificado.

WuHoUnited
fuente
Las personas que trabajan en los proyectos principales también están perfectamente posicionadas para participar en esos trabajos de personalización en virtud del hecho de que ya conocen los aspectos internos del proyecto.
Matthew Scharley
Me pregunto cómo Steve Streeting (fundador del proyecto Ogre3D) logró trabajar en el campo de los gráficos en 3D y cómo influyó en el motor que creó.
jokoon
5

La economía de código abierto es bastante extraña y, a menudo, contra intuitiva. Tome un producto como la hoja de cálculo de Excel (solo un ejemplo, cualquier gran producto comercial sería suficiente). El negocio de construir y soportar Excel emplea a un cierto número de empleados, digamos X. X probablemente sonará como un gran número para usted y para mí, pero no tengo idea de qué es. Lo que sí sé es que es un número pequeño en comparación con el número de personas que se ganan la vida apoyando Excel en oficinas, escuelas y otras instituciones y creando herramientas usando Excel. Ese número es probablemente X * 10000. Entonces, si reemplaza Excel con un producto de código abierto, reemplaza X pero el X * 10000 no se ve afectado.

De hecho, ni siquiera es tan simple. Sin los empleados de X, se necesitan más desarrolladores pagados para capacitar, solucionar problemas y modificar la hoja de cálculo de código abierto. El hecho de que no haya una empresa comercial detrás del producto no significa que las empresas no demanden (y paguen) un buen servicio. De hecho, si su producto de código abierto gana suficiente tracción, las empresas a veces están dispuestas a apoyar una base que garantice el desarrollo futuro de dicho producto. Esto es especialmente cierto si sus intereses comerciales están íntimamente ligados al producto. Piense en Mozilla , la Apache Software Foundation , Mono Project o Canonical .

Finalmente, las herramientas de código abierto nunca son una amenaza cuando intentas vender un servicio. Piense en organizaciones como Facebook, Twitter e incluso Stackoverflow. En última instancia, estas organizaciones no quieren venderle software. Quieren crear una red gigante. Una vez que la red es lo suficientemente grande, crea su propia gravedad. Usar cualquier otro "producto" no tendría ningún sentido porque el número de participantes es lo que más importa. La tecnología subyacente es solo un detalle.

Roger escaso
fuente
3

Diría que lea sobre las diversas ideologías detrás de algunos de los proyectos OpenSource más destacados, como Chromium, Mozilla, etc., y luego decídase. Nadie realmente tiene derecho a decirle cómo sentirse de una manera u otra.

Dicho esto, adopto OpenSource porque me gusta la idea de transparencia en el diseño de software. También me gusta que la comunidad de usuarios tenga un impacto muy real y directo en la dirección del proyecto. No se obtiene eso en un entorno de código cerrado.

Si no recuerdo mal, uno de los puntos que un partidario de Creative Commons hizo fue que al hacer las cosas "gratis", permites que las personas usen el producto de tus ideas de formas que nunca habrías imaginado. Este es un video que disfruté especialmente: https://creativecommons.org/videos/a-shared-culture

Tieson T.
fuente
2
No creo que un proyecto como Mozilla vaya a reducir la necesidad de programadores. A menos que su empresa esté desarrollando su propio navegador web, lo cual realmente dudo. Además, no creo que la mayoría de la gente vaya a mirar el código fuente. Los programadores se preocupan por el código fuente, los clientes no.
Joel Gauvreau
1

Nunca veremos un abrazo completo .

Nos encanta tratar de contribuir positivamente al mundo. Además, participar en un proyecto de código abierto es una gran ventaja para su CV.

karlphillip
fuente
3
No tratamos las contribuciones de código abierto de la misma manera que la experiencia compensada. De hecho, nuestra experiencia nos ha enseñado a evitar contratar a cualquier persona que haya realizado importantes contribuciones a proyectos de código abierto porque el desarrollo de software en el mundo real es un 10% divertido y un 90% aburrido. Los candidatos que contratamos que eran grandes en proyectos de código abierto no querían hacer el trabajo aburrido que era necesario para producir soluciones de calidad profesional.
bit-twiddler
66
@ bits Twiddler: Seguramente, alguien tiene que hacer las partes aburridas en proyectos de código abierto demasiado
Anto
1
@Anto: el problema es que las partes aburridas a menudo no se realizan en proyectos de código abierto. Por ejemplo, uno de los atributos que distingue a los productos comerciales de alta calidad de sus contrapartes de software de código abierto es la documentación. La documentación incluso para los proyectos de código abierto más exitosos palidece en comparación con la de los productos comerciales exitosos de la misma escala. La falta de documentación adecuada hace que el aprendizaje de productos de código abierto sea un gran problema. No me pagan para reunir y descifrar documentación mal escrita. Me pagan para producir resultados.
bit-twiddler
@ bit-twiddler: ¿Entonces también se espera que sus programadores publiquen documentación bien escrita? ¿No es más barato contratar escritores técnicos y generalmente no producen un producto mejor?
David Thornley
1
@David Thornley: Sí, se espera que todo el personal de desarrollo pueda escribir bien además de ser desarrolladores competentes de software de ciclo de vida completo (es decir, no tenemos personal de código único). Nadie conoce mejor el producto que el equipo de diseño e implementación. Nuestro escritor técnico único tiene la tarea de coordinar y masajear la documentación entregable.
bit-twiddler
1

El código abierto es una amenaza para las compañías de software empaquetado cuyos productos se encuentran en un área lo suficientemente popular como para que haya suficiente interés en la comunidad de código abierto para desarrollar una alternativa gratuita. Creo que un caso es la disminución significativa de los precios que tanto Oracle como Microsoft pueden cobrar por el software de base de datos. mysql es más que adecuado para la mayoría de los proyectos y es esencialmente gratuito, a menos que el cliente quiera pagar por el soporte, por lo que tendrá a alguien en apuros si las cosas se ponen de lado.

Es absolutamente complementario a las empresas de consultoría y servicios porque reduce el costo total de producción y aumenta la productividad de sus desarrolladores. A las empresas les gusta por las mismas razones, aunque algunas insisten en encontrar proveedores para proporcionar soporte comercial para que haya alguien a quien llamar / culpar si no cumple con las expectativas.

Jeremy
fuente
MySQL es propiedad de Oracle. No hay nada que impida que Oracle cierre la fuente de ese producto, al igual que nada impide que Oracle elimine los aportes de la comunidad a Java. Las compañías de software no venden software, ¡venden tranquilidad a los ejecutivos! Las corporaciones de propiedad pública continúan comprando software comercial porque quieren poder ladrar a corporaciones del mismo tamaño y hacer que alguien salte a través de los aros para solucionar los problemas. Vender IP es cómo las pequeñas empresas de software llegan a ser grandes compañías de software. Un modelo de solo servicio depende totalmente del costo de la mano de obra.
bit-twiddler
2
El código abierto es una amenaza exactamente de la misma manera que un competidor es una amenaza. Si la base de datos de Oracle (¿exactamente cómo la llamas hoy en día?) Es significativamente mejor que, por ejemplo, PostgreSQL, podrán venderla. Si no es así, ¿por qué diablos deberíamos pagarle a Oracle?
David Thornley
1

Los mayores riesgos ...

  • Volatilidad: gran parte de OSS se desarrolla en chorros. Hay proyectos destacados, lanzamientos estables en conocimientos menores, pero debido a que el universo de OSS es tan divergente y fragmentado en muchas áreas (y en constante evolución), es raro que un proyecto sea lo suficientemente maduro como para decir que el desarrollo será regular, indefinido, o perpetuo Cambiar el curso a mitad de camino es costoso, incluso si el producto es gratuito porque la integración, la regresión y el soporte práctico o inmediato no son gratuitos, incluso si están disponibles.

  • Falta de responsabilidad: no hay nadie "invertido", por lo que es difícil buscar un recurso cuando suceden cosas malas. No hay garantia. Nada que se parezca a uno. La única garantía que generalmente tiene es la reputación y, finalmente, su propia experiencia personal. Dado que era gratis, los desarrolladores pueden decirle que se vaya fuera de combate y que no le importe nada su falta de éxito, o lo que es menos importante, si continúa utilizando su producto.

JustinC
fuente
2
¿Y de qué manera es diferente del software comercial, propietario y de código cerrado? El propietario siempre puede decidir ir en otra dirección, y el único producto general del que he oído hablar con seguridad es TurboTax.
David Thornley
Es diferente en muchos sentidos. Una forma es comercial, para los productores de software con fines de lucro, especialmente componentes, bibliotecas y tiempos de ejecución, generalmente hacen un trabajo mucho mejor al proporcionar transiciones más suaves. Por ejemplo, mediante una enumeración explícita de los cambios importantes y lo que se debe hacer o no debido a estos cambios importantes. Esta enumeración explícita generalmente se prepara y publica mucho antes de que el software en sí esté disponible, con erratas posteriores al lanzamiento disponibles de inmediato, y esta información está en una ubicación y formato generalmente consistentes.
JustinC
1

Aproveche las herramientas y cosas de OSS, pero no se obsesione con ellas (y sí, he visto a mucha gente obsesionarse con las cosas de código abierto, casi siempre en detrimento de ellas).

Elija y elija la (s) mejor (s) herramienta (s) para cada trabajo, independientemente de si son de código abierto o no (tenga en cuenta que algunas licencias de código abierto hacen que todo lo que tenga licencia sea inútil para el trabajo comercial, especialmente las bibliotecas con licencia GPL sufren de esto).

jwenting
fuente
1

La mayoría del software de código abierto moderno es desarrollado por empleados de tiempo completo, a quienes se les paga principalmente por desarrollarlo. El resto es desarrollado por aquellos a quienes se les paga por hacer algo que depende del software que están desarrollando, y un trabajo colaborativo en él, la contratación colectiva de soporte y mantenimiento es absolutamente obligatorio para ellos.

SK-logic
fuente
1

La gran mayoría de los programadores no reciben pagos por copia distribuida del software que crean. Se les paga una tarifa única por el tiempo que pasan. Incluso las empresas que emplean programadores generalmente no ganan su dinero por cada copia vendida. Con algunas excepciones notables como Microsoft y Adobe, el software generalmente forma parte de su infraestructura, como el sitio web de una empresa o herramientas internas, o se regala como parte de otro producto o servicio.

Otros han señalado que la mayoría de los principales contribuyentes de código abierto tienen patrocinadores corporativos. En el lado de los aficionados, me parece interesante que las personas siempre se centren en lo que se da en lugar de recibir. Es como un electricista que recibe todos los componentes de una casa de forma gratuita, ya ensamblados, excepto por algunas mejoras en el cableado que él mismo hace, y la gente lo considera loco si pasa unas horas un fin de semana enseñando a otros a hacer esas mismas mejoras para otras casas que obtuvieron El mismo trato. Claro, está regalando parte de su tiempo y experiencia de forma gratuita, pero a cambio obtiene un gran producto que vale varias veces el trabajo que realizó y asegura un ecosistema saludable para la próxima vez que necesite algo.

Karl Bielefeldt
fuente
0

¿Cómo deberías sentirte? Buena pena, a continuación te preguntarás "¿Cómo hablo con las mujeres?". El código abierto nunca reemplazará, sino una pequeña porción del SW pagado. Para la mayoría de las organizaciones, el aumento de los costos de pasar de lo que ya saben a cualquier otra cosa, incluso gratis, es más que el costo del SW.

SnoopDougieDoug
fuente
0

La filosofía principal del código libre / abierto (como yo lo veo) es que cuando distribuye software, también distribuye la fuente con él. El código abierto no significa necesariamente libre de costo. Y, ciertamente, en cualquier proyecto grande, simplemente elegir una solución de código abierto no significa que simplemente elija algo de un estante y lo conecte y listo. Para cualquier aplicación grande, debe adaptarla a sus necesidades específicas (puede ser tan simple como configurarla y migrar su sistema existente a ella o tan compleja como modificar grandes partes de ella) y tener un mecanismo confiable de soporte, así como actualizaciones / correcciones de errores con el software original. Eso significa que siempre habrá trabajos para programadores. Sin mencionar, para cualquier proyecto importante de código abierto,

Piénselo de esta manera, si hay una solución madura de código abierto para su problema que ya existe y está siendo utilizada por muchas personas, ¿tiene sentido invertir grandes cantidades de dinero en efectivo para algo que no puede ser tan maduro como eso? ? Simplemente es más eficiente usarlo. No se trata de preservar los trabajos (como dije, siempre habrá necesidad de programadores), sino de un simple sentido comercial, que es aún más importante cuando se trata del dinero de los contribuyentes. Evitar el código abierto en nombre de mantener empleos es solo crear un entorno artificial, restringir el intercambio de tecnología y, en mi humilde opinión, generalmente es malo para la salud de la comunidad de programadores.

MAK
fuente
0

Me gustaría ver a algunos de los contribuyentes de Linux para tener una idea de cómo la comunidad de código abierto está formada por personas a las que se les paga para que su código esté disponible de forma gratuita.

http://apcmag.com/linux-now-75-corporate.htm

nelaaro
fuente
0

Para mí, el código abierto también es político: permite que los programadores se ayuden unos a otros para que el trabajo duro no tenga que ser re-diseñado repetidamente y no se permita su uso entre proyectos.

También establece un mejor conjunto de reglas de fondo para el proyecto, no está bajo la regla de gestión: al final, el resultado es un código de mejor calidad y longevidad.

Tenga en cuenta que el tema de la informática es mucho más vasto, y hay algunas piezas de software que son tan complejas que no hay tantas personas competentes para escribirlas, mantenerlas y también agregar características interesantes.

Realmente encuentro su argumento "toneladas de programadores perderían sus trabajos y la industria se reduciría" muy engañoso, no solo sobre la industria del software, sino para el mundo en general. Recuerde la burbuja web: es fácil engañar a las personas que no programan en una empresa. El código abierto es una forma segura de poner una barrera a eso.

También debe pensar que el software no es como muchas otras industrias: entrega algo que es volátil, algo con lo que el capitalismo realmente no puede funcionar. Imagínese si pudiéramos duplicar objetos físicos, pero tendría que pagar por cada píldora de aspirina que duplica, porque la molécula es "propiedad" de alguien. Eso podría tener muy poco sentido. Ahora piense en copiar agua pura y limpia (que algún día se volverá costosa): ¿cree que es ética y filosóficamente correcto hacer que la gente pague por eso?

Si los programadores pierden sus trabajos debido al código abierto, tal vez sea porque simplemente no pueden reproducir el mismo tipo de calidad de software, por lo que de alguna manera, merecen ser despedidos. Pero eso no significa que deberían ser menos programadores que tengan un trabajo: es solo una cuestión de comunidad, trabajo en equipo y ética: las empresas deben pagar a los programadores para que implementen soluciones para problemas usando el software existente, o bien, contraten programadores más competentes que puedan agregar características para un código existente.

Tomemos el iOS, Windows Phone, Symbian y Android: el 75% hace lo mismo, lo que significa casi las mismas "ruedas". Son solo sabores diferentes, pero al final, se gastó mucho dinero porque las empresas querían sobrevivir a sus ideales.

El código abierto no es solo político, también se trata de innovación: ¿cómo desea dar realidad a una nueva idea si tiene que reiniciar todo desde cero una y otra vez?

jokoon
fuente
0

Lo que hace el software gratuito / de código abierto es establecer una línea de base: si su empresa no puede producir algo mejor que la alternativa F / OS, no podrá vender muchas copias. Si su empresa puede ofrecer algo significativamente mejor que el F / OS disponible, podrá vender copias y obtener ganancias. Por lo tanto, un uso es que reduce la capacidad de las empresas de vender software malo.

También reduce las barreras de entrada. Cualquier persona con una computadora de escritorio o computadora portátil moderna puede, sin gastar un centavo en licencias de software, tener un sistema operativo muy funcional con una GUI fácil de usar y un excelente entorno de desarrollo (hay muchas personas que piensan que MS Windows con Visual Studio es mejor que esto) tipo de ambiente, y muchos que no lo hacen).

Por lo tanto, F / OSS ayuda al empresario de software a iniciar un negocio a bajo costo. Esto aumenta la influencia y las ganancias del innovador de software en comparación con los financieros, que eran los que controlaban la mayoría del uso de computadoras no universitarias en los viejos tiempos. Muchas de las recientes historias de éxito masivo habrían sido más difíciles de poner en marcha, tal vez imposible, sin F / OSS y sus efectos.

Reduce la oportunidad de ganar mucho dinero sin la habilidad correspondiente, lo que podría decirse que es algo bueno.

Los desarrolladores que no son muy buenos encontrarán nichos en el software interno para las empresas que no confían en sus sistemas informáticos como un activo estratégico, y esos trabajos no se verán muy afectados por F / OSS.

Los desarrolladores que son muy buenos pero no del tipo emprendedor seguirán teniendo buenos resultados con las compañías que venden software comercial de buena calidad que no es F / OS. El mercado basado en dinero es más efectivo para satisfacer muchas necesidades que el mercado de reputación de F / OSS, y mucho mejor para producir las cosas aburridas necesarias. Hay muchas aplicaciones vitales que la mayoría de los desarrolladores de F / OSS evitarán.

Entonces, en general, creo que es saludable para la comunidad de desarrollo. Les permite a los desarrolladores una mejor oportunidad de hacerse ricos, y sirve como un incentivo para hacer buenos productos (y la mayoría de los desarrolladores prefieren trabajar en productos buenos que malos). Puede perjudicar a los desarrolladores que no son tan buenos, o que trabajan para empresas mal administradas, pero no reduce tanto la demanda, y probablemente puedan encontrar trabajo de todos modos.

David Thornley
fuente