2009-01-04 6 views
7

Mi principal motivación para hacer esta pregunta es this uservoice suggestion. Jeff rechazó el boleto para hacer que el software SO sea de código abierto, diciendo que tomará más tiempo.¿Qué implica el software propietario de fuente abierta?

He visto esto antes en otras piezas de software que han pasado de ser de propiedad exclusiva a de código abierto. Entonces, mi pregunta es: ¿Por qué parece tomar tanto tiempo hacer que el software sea de código abierto? Para mí, parece bastante simple: ponga su código en sourceforge y código de google y termine con él. Pero obviamente hay algo de lo que me estoy perdiendo en todo el proceso.

(Y antes de que nadie tenga la impresión de que estoy tratando de criticar a Jeff o a cualquier otra persona que retrase la apertura de su software, no lo estoy. Solo quiero entender el proceso de creación de material abierto y sus costos.)

+0

Esta pregunta parece estar fuera de tema porque se trata de licencias y la ley. – Raedwald

Respuesta

5

La respuesta principal a su pregunta ha sido dada por otros: obtener el permiso legal para hacerlo (ver la entrada del blog SO en Reverse Engineering the WMD Editor para un niño problemático relacionado con SO) a menudo es extremadamente difícil, incluso imposible.

lo tanto, mi pregunta es: ¿por qué parece que tomar tanto tiempo para hacer que el software de código abierto? Para mí, parece bastante simple: ponga su código en Sourceforge y Google Code y termine con esto. Pero obviamente hay algo de lo que me estoy perdiendo en todo el proceso.

Lo que describes - volcar la fuente - no es realmente de código abierto. Es más parecido a AbandonWare o quizás a 'Fuente disponible'. Un proyecto de código abierto debe aceptar entradas del exterior y crear una comunidad. Uno de los criterios que utiliza la Apache Software Foundation para sus proyectos de incubadoras es "¿ha adquirido una masa crítica de contribuyentes ajenos a los autores originales?". Esta es una preocupación valida.

Tenga en cuenta que ni AbandonWare ni 'Fuente disponible' es necesariamente malo; ambos hacen disponible el código que de otro modo no estaría disponible (y proporcionan algunos de los beneficios de Open Source). Pero hay más en el código abierto que eso.

Además, hay una sobrecarga de administración en el manejo de un proyecto verdaderamente de código abierto. Eso no es insignificante.

Y, finalmente, no es extraño que la calidad del código sea tal que los autores prefieren no poner la fuente a disposición por temor a que se ridiculicen. Dudo que eso se aplique en este caso, pero sí en otras áreas del mundo del software.

+1

lol, el último bit es verdad. Si miraras nuestra base de código, verías un comentario extraño como: "¡esto está jodido, necesita una reescritura lo antes posible! - Jim, 10/04/92" :) – gbjbaanb

5

Por lo general, se requiere que todos los contribuyentes estén de acuerdo, para algunos proyectos eso significa que tiene que preguntarle a algunas personas si está bien abrir su código también.

Para otros proyectos, requiere que las bibliotecas que ha usado sean de código abierto o que hayan sido retiradas del proyecto donde las usó. IIRC Sun dijo que no podían open Java durante tanto tiempo porque usaban un código de terceros que no se podía abrir.

3

Las razones son:

  1. ¿Seguro de que tiene el derecho de hacer que el software de código abierto?
  2. ¿Y usted realmente quiere?

Respecto a la primera pregunta, tenga en cuenta que puede estar usando un código de un tercero, por lo que debe pasar por todo su código asegurándose de tener todo el código abierto.

En segundo lugar, requiere que el propietario del proyecto desee abrir el proyecto. En algunos casos, él/ella puede pensar que no vale la pena.

3

La apertura de la fuente podría ser buena o mala. En el mejor de los casos, solo se benefician de las contribuciones de la comunidad, conservando el control creativo. En el peor de los casos, el proyecto podría bifurcarse, y dos bases de códigos diferentes generalmente no son beneficiosas para la comunidad.

En el caso de SO, pueden preocuparse de que si hay suficientes personas impacientes, abrir la fuente demasiado pronto invita a una bifurcación del proyecto ya que otros desarrolladores implementan sus funciones "favoritas" más rápidamente (o diferente) que SO. Tal vez esa gente realmente quiere funciones que han sido rechazadas.

La bifurcación también trae el aspecto de competencia que mencionó Shawn. Tal vez mucho más tarde cuando SO tenga una comunidad más establecida, la apertura de la fuente sería más aceptable ya que SO podría tener una ventaja en cualquier competencia potencial.

Lo más conservador es esperar un poco antes de tomar una decisión, en lugar de abrir ahora y esperar lo mejor.

EDIT: Tenga en cuenta que incluso en el mejor de los casos, están asumiendo la función adicional de administrar un proyecto de código abierto y tratar con quien quiera contribuir. Me viene a la mente el methaphor de "pastoreo de gatos", es posible que quieran centrarse en la base de código ahora en lugar de en la sobrecarga administrativa.

1

Aquí hay algunos factores a considerar antes de abrir la fuente:

  1. ¿Está legalmente capaz de hacer que el código de fuente abierta? Debido a bibliotecas, otros colaboradores, etc.

  2. ¿Tiene un modelo de negocio/¿Necesita uno? En proyectos como SO o Digg, donde la ventaja está principalmente en la comunidad, entonces debería estar bien, pero en otros proyectos que se despliegan dentro de los firewalls corporativos, su SO reduce la capacidad de ganar dinero para cubrir sus costos. Aunque algunas compañías lo hacen a través de soporte, la capacidad de obtener costos de soporte depende de la naturaleza del producto y de cuán importante es para las compañías que lo implementan.

  3. ¿Cuál es su opinión de la comunidad? Hay toneladas de proyectos de código abierto que tienen 1 o 2 contribuidores y no muchos usuarios que contribuyen con parches. Si ese es el caso, entonces los gastos generales pueden ser mayores que cualquier beneficio.

  4. ¿Estás listo para ayudar a otros a desplegar tu producto en otras verticales o incluso en la misma vertical? Esto significa foros, listas de correo, control de errores, fácil de usar scripts de actualización, documentación, etc.

Para que un proyecto tenga éxito como código abierto, tiene que estar bien dirigido. Poner el código por ahí simplemente no es suficiente. Acabará con una comunidad infeliz y posiblemente un tenedor del que no tiene control.

Cuestiones relacionadas