ventajas source software significado open examples desventajas descargar caracteristicas open-source

open-source - significado - open source software list



"No estoy orgulloso de mi código" excusa para no abrir el suministro de una aplicación (9)

Creo que puede ser porque el desarrollador cree que el software no está realmente muerto y que puede reiniciar la escritura y el uso en el futuro.

Pero la pregunta realmente aquí es: ¿El esfuerzo de liberar la fuente en código abierto va a ayudar a otras personas? En algún momento, la aplicación está demasiado localizada o está mal documentada, y el desarrollador piensa que no es lo suficientemente útil. Puede ser difícil mantener un proyecto de código abierto (tienes que documentarlo, controlarlo, parchearlo, etc.).

Además, la aplicación podría haber estado usando algún código de propiedad (el código que se estaba desarrollando cuando está trabajando para otra persona) y él / ella no puede divulgarlo sin ser una demanda legal.

Y por último, pero no menos importante, ¿Se alegrará el desarrollador cuando alguien critique su código? Creo que a nadie le gusta eso.

He preguntado a algunos desarrolladores que produjeron software que ya no mantienen o dejan morir, por qué no abren el código fuente del software y dejan que otros desarrolladores lo lleven adelante y lo mejoren. O al menos no dejar que desaparezca.

La mayoría de las excusas fueron sobre la calidad del código. No quieren el código abierto porque se avergüenzan de lo que han codificado. En mi opinión, si el software funciona, la gente lo está descargando y usándolo, eso dice lo suficiente sobre el software. Nadie está orgulloso de su propio código. Si alguien mira su código de años, seguramente decida que puede hacerlo mejor ahora. He utilizado un buen software que ya no existe. Me parece que esto es un desperdicio de buenos recursos.

¿Por qué algunos desarrolladores prefieren dejar que su software desaparezca en lugar de dárselo al público? Una de las razones por las que puedo pensar es que utilizaron la IP de otra persona y no quieren estar expuestos. ¿Debería animarse a los desarrolladores a abrir el código fuente de su software si no tienen la intención de beneficiarse de él ahora o en el futuro?


Es posible que algunas personas realmente no quieran que su código sea criticado y no tengan ganas de limpiarlo. Es algo legítimo, aunque estoy de acuerdo si impide que un código útil llegue a la comunidad. No es una evidencia prima facie de que estén utilizando la propiedad intelectual que no deberían, sin embargo.


He contestado las preguntas publicadas, en orden. Sí, estos son opinados.

[¿Tienes esto como un estudio en algún lugar? Sería interesante de ver. Las referencias vagas y los cuantificadores no son muy emocionantes.]

Quizás el código fue escrito para la diversión, el aprendizaje, el trabajo con fines de lucro en el momento, porque "podría hacerse" o por alguna otra razón motivacional. Sirvió un propósito; Tal vez el propósito haya desaparecido, así como los incentivos detrás. Se requiere esfuerzo para encontrar el código antiguo, publicar el código antiguo y responder correos electrónicos o preguntas tontas sobre el código antiguo. (Y para algunos, se requiere esfuerzo para no preocuparse por lo que piensan los demás).

Dudaría en saltar a la idea de que el código mantenido oculto "viola la IP". Este es un supuesto injusto e infundado sin mejor prueba.

¿Alentado? Quizás. ¿Forzado? No. El código es una creación y, como cualquier arte, es un producto del creador. A menos que estén bien asignados los derechos, es el trabajo de los autores. Quizás se considera que es horrible y para siempre enterrado, así sea. Lo mismo sucede con otras formas de arte todo el tiempo.


Me enfrenté a esto recientemente, y llegué a la conclusión de que poner el código allí y hacerlo visible puede ser solo un primer paso. Si nadie se interesa por ello, no ha perdido nada, y si comienza a acumular una base de usuarios, siempre podrá mejorar la documentación y la calidad del código más adelante.

Creo que las personas entienden las limitaciones de recursos involucradas con el desarrollo de software, y ser capaz de hacer y explicar los intercambios de manera inteligente es más importante que invertir necesariamente todo el tiempo por adelantado para escribir un código con un 100% de buen olor. A veces necesitas acelerar, ¡para eso es la refactorización!


Puedo entender completamente esto.

Escribí un programa hace diez años para una organización de voluntarios. Todavía lo están usando y ''funciona''. Pero es feo. Ahora sé mucho más sobre cómo diseñar software. Es doloroso incluso tener que hacer actualizaciones y cambios. Me encantaría tomarme un tiempo para limpiarlo, pero no tengo tiempo. Realmente no quiero que nadie más se haga cargo del proyecto porque me avergüenza tener mi nombre asociado con el código, aunque mi nombre no esté realmente en el código. Todavía se refleja en mí y aunque ahora puedo saberlo mejor.

Lógicamente, lo sé mejor. Es estúpido pensar de esta manera. Pero no puedo superar la psicología. Es muy real y es un dilema difícil. No asumiría problemas con IP o motivos ocultos.


Puedo entender de donde vienes. El software funciona y eso es lo que realmente importa. También puedo entender de dónde vienen los desarrolladores. Muchos programadores desarrollan malos hábitos mientras codifican (es decir, no comentan). Soy culpable de esto yo mismo a veces. En mi opinión, no creo que esto deba limitarlos a mantener sus aplicaciones en código cerrado. Si abres tu fuente, abres las puertas a todo tipo de posibilidades nuevas. Si ya no va a trabajar en un determinado programa, ¿por qué no libera la fuente? La gente puede tomar lo que sabe, aplicarlo, mejorarlo y, en última instancia, mantener su aplicación actualizada y mejor que antes. En general, los desarrolladores deberían ser más abiertos a la hora de lanzar su código fuente, especialmente si no se pretende obtener ningún beneficio.


Si alguien realmente quiere liberar el código pero se avergüenza de él, la solución racional es eliminar todos los rastros de su autoría del código fuente, luego liberarlo al dominio público o asignar el derecho de autor a otra persona.

Aparte de eso, hay todo tipo de razones posibles para que un autor no libere el código fuente:

  • Tal vez el código sea realmente una porquería y el autor no quiere que un futuro empleador potencial lo asocie con él.
  • Tal vez el autor es excesivamente sensible acerca de (posibles) críticas de sus compañeros.
  • Tal vez el autor piensa que el código no vale la pena ahorrarse, y está tratando de evitar que otras personas desperdicien su tiempo en él.
  • Tal vez hay problemas potenciales de propiedad intelectual que el autor no quiere perder tiempo resolviendo:
    • algún código de fuente abierta podría haberse copiado sin la debida atribución o bajo la licencia incorrecta,
    • algún código fuente cerrado podría haber sido copiado,
    • Se podría haber usado algún método patentado. (Aparte: ¿alguien puede estar seguro de que su código no utiliza un método patentado? ¡No!)
    • el autor realmente no puede recordar los atajos que pudo haber tomado N años atrás ...
  • Tal vez el código contiene secretos que el autor no quiere revelar:
    • tal vez no haga lo que él / ella dijo que hace en algún trabajo de investigación, o algo así
    • quizás él / ella piense que podría darle a los competidores (por ejemplo, otros académicos) una ventaja para ver las técnicas de "salsa secreta" que usa su código.
  • Tal vez el autor sueña que algún día podrá vender el código por grandes botes de dinero.
  • Tal vez el autor sueña que algún día encontrará el tiempo y la energía para corregir el código, lo libera con una licencia de código abierto y se vuelve tan famoso como Linus. (Sí ... ese Linus!)

O tal vez el autor simplemente no esté interesado, y la excusa de "Me avergüenzo de mi código" es solo una estratagema para que te vayas :-).


Tal vez porque abrir un código de software requiere un esfuerzo que no están dispuestos a gastar.


¿Nadie está orgulloso de su propio código? No te creas

Lo alentamos a desarrollar las tres grandes virtudes de un programador: la pereza, la impaciencia y la arrogancia. - Larry Wall