2010-07-27 10 views
6

Hubo un debate a principios de 2009 sobre si Microsoft lanzaría la fuente para el compilador F # bajo la licencia MS-PL/otra. Un StackOverflow thread mencionó el estado a partir de ese momento.Will F # alguna vez ser de fuente abierta?

Desde entonces, han sucedido muchas cosas. Hemos visto un lanzamiento oficial de F # con .NET Framework 4.0 (y Visual Studio 2010), y por lo que sé, todavía es completamente de código cerrado. ¿Microsoft se ha mantenido en silencio sobre el tema, o han declarado explícitamente que ya no tienen la intención de abrir el compilador? Quizás las cosas ya están en el proceso. Básicamente, ¿alguna noticia/consideraciones?

+0

Pregunta interesante y marcaría esto como wiki de la comunidad. – Incognito

+0

De hecho, la wiki de la comunidad es probablemente la mejor. – Noldorin

+3

La base de la fuente F # no está cerca, ha estado disponible con la distribución durante la mayor parte de la vida del proyecto. Está en C: \ Archivos de programa \ FSharp-2.0.0.0 \ source en mi máquina actual. Crearlo no es sencillo, pero se puede encontrar algo de ayuda en: http://cs.hubfs.net/forums/thread/13456.aspx. El proyecto no es una licencia bajo una licencia de código abierto aprobada, y no aceptan parches, por lo que en ese sentido no es de código abierto. Esto puede cambiar en el futuro, pero ¿quién sabe lo que depara el futuro? – Robert

Respuesta

7

(Como otros han señalado, la fuente siempre ha estado disponible, pero no es todavía bajo MS-PL, la licencia 'de código abierto aprobada' -. Actualmente cuenta con una licencia más restrictiva)

Si yo estaban siendo completamente especulativa, puede ser que la hipótesis de que hay una serie de cosas que podría haber "retrasado" una versión de código abierto de la F # compilador, incluyendo los siguientes:

  • el código de compilador requiere un poco de poner en orden. La fuente siempre ha sido pública, pero sin una licencia de código abierto, no muchos la han analizado. Si lo abre, la gente lo verá, en cuyo caso, sería bueno si el código siguiera al menos algunas pautas de estilo básicas, como usar RecommendedDotNETNamingConventions en lugar de old_legacy_ones. En cierto sentido, un compilador F # de código abierto sería una 'aplicación F # canónica', por lo que sería importante que el código sea de alta calidad con respecto a aspectos básicos como las convenciones de codificación F # (que evolucionaron con el tiempo en los últimos 5+ años desde que el código del compilador fue desarrollado originalmente).
  • El código actual es difícil de construir en cualquier plataforma. Una versión de código abierto requeriría, al menos, documentos razonables sobre cómo compilar el compilador (¡todavía no trivial hoy!) E idealmente compilar scripts para las principales plataformas (por ejemplo, Windows/linux/etc).
  • Incluso si IronPython/IronRuby (equipos 'abiertos') están "al final del pasillo" del equipo F # en MS, hacer que las cosas 'abiertas' aún requieran obtener una gran cantidad de buy-in/log-off de la gerencia, y volver a iniciar sesión en la nueva administración si la administración cambia antes de que obtenga el primer lanzamiento de código abierto.
  • (todos los 'gastos generales' habituales de administrar un proyecto de código abierto)
  • Todo lo anterior toma mano de obra, y la mano de obra gastada en esas cosas es mano de obra no gastada en otras cosas, como trabajar en la próxima versión de F # .Por lo tanto, en la práctica, puede ser más factible para un puñado de personas que realizan trabajo F # que mordisqueen el trabajo mencionado anteriormente en el tiempo libre, en lugar de dedicar, digamos, un mes entero a enfocarse en un lanzamiento de código abierto. Entonces eso podría ralentizar las cosas. (Como otros tangencialmente han sugerido apuntando a los enlaces a las ofertas de trabajo, algunos de la mano de obra podría hipotéticamente ser llenado por los internos en el MSR.)

que hacen hincapié en que todo esto es especulación completamente hipotética, ya que no ha habido ningún funcionario palabra de alguien en mucho tiempo.

+0

Gracias Brian, esa es información interesante y especulación ... Tendremos que esperar por una respuesta afirmativa, pero al menos el código está ahí para jugarlo por ahora. – Noldorin

+0

Gracias por su respuesta hipotética y no oficial, pero muy informativa. –

+0

Hay una edición de código abierto disponible: http://fsharp.github.com/fsharp/ (licencia de Apache 2.0). –

0

¿Es una pregunta? No estoy seguro, es más una solicitud de noticias relacionadas con una situación existente. Agregar "consideraciones" a la solicitud es confuso, ¿qué consideraciones hay? El compilador MS C# es de fuente cerrada pero la especificación C# es con ECMA. La especificación de F # no se ha abierto a la comunidad en general, que es lo que más me gusta decir.

+0

Bueno, no, es claramente una solicitud de noticias relacionadas. Por consideraciones, quiero decir, ¿alguna vez sucederá, por qué (no), habrá alternativas? – Noldorin

0

La decisión queda en manos de Microsoft, no creo que nadie aquí pueda responder a eso. Sin embargo, incluso si es de código cerrado, aún tendremos todos los beneficios del framework, ya que Microsoft está bastante comprometido con mejorar y proporcionar más funcionalidades en el marco. Creo que incluso si algo no está abierto o no, pero el creador lo apoya o no, esa es la mayor preocupación que tengo. Tenemos tonos de proyectos en código abierto, pero se convierten en basura de código una vez que no se mantienen y nunca se mejoran.

+2

Tenemos [el código fuente de grandes partes de la biblioteca de la clase base] (http://weblogs.asp.net/scottgu/archive/2007/10/03/releasing-the-source-code-for-the-net -framework-libraries.aspx) –

+0

@Tim, lo siento, no estaba al tanto, gracias por la información –

+1

La fuente para el núcleo del .Net framework ha estado disponible desde 1.0, pero tiene la misma licencia que el F # , lo que lo hace inútil para cualquier cosa que no sea el uso personal/académico. (Aunque es excelente para aprender de). Creo que es bastante discutible que los MS no abren el código fuente; hace poco abrieron todo el DLR e IronPython/IronRuby bajo la licencia de Apache. –

4

Como indica el comentario de Robert sobre su pregunta, el código fuente ya está disponible como parte de cada instalación, aunque no viene con una licencia de código abierto. Además, leyendo entre líneas, creo que cosas como this blog post by Don Syme aún apuntan a una versión de código abierto como prioridad para el equipo.

+0

Lo encuentro muy bien en la entrada del blog. De hecho, sí sugiere una próxima versión de código abierto. – Noldorin

Cuestiones relacionadas