miércoles, 27 de enero de 2010

Microsoft firma acuerdo con la PSF. ¿Python para Visual Studio?

Dino Viehland

Recientemente ha comenzado otro capítulo de Microsoft apoya el Open Source. En este caso se trata de la ampliación y formalización de las relaciones con la comunidad de Python. Se da un paso más en el acercamiento y apoyo del gigante de Redmond hacia este maravilloso lenguaje. Continúe leyendo este artículo si quiere conocer los detalles acerca de los acuerdos, los actores que los hicieron posible, los objetivos y parte de las implicaciones. Esta vez, simelo preguntan, les digo que algo positivo puede salir de esta alianza, pero de todas formas mis pronósticos son reservados (preste atención a mis conclusiones ;o).

Microsoft se integra a la PSF

Scott Wiltamuth General Manager for Visual Studio Language and Data Tools

Sí señores. Recientemente Scott Wiltamuth ha firmado un acuerdo, en representación de Microsoft, para activar los mecanismos legales que permitan que esta compañía contribuya código. Gracias a la participación activa de Steve Holden y Dino Viehland en las coordinaciones, todo apunta a que este último sería el representante ante la junta directiva de la PSF y canalizaría las interacciones entre ambas partes. Las iniciativas en esta dirección de Microsoft o de personas que trabajan para la compañía ya tienen historia. Sin tratar de ser muy exhaustivo se puede comenzar por los aportes de Jim Hugunin y otros para crear y perfeccionar IronPython, y brindar acceso a las clases del .NET framework. Otros esfuerzos individuales de personas afiliadas a la empresa han sido integrados a la rama principal y versiones estables de la librería estándar.

Jim Hugunin autor de IronPython

Pero no fue hasta hace poco tiempo, sobre todo después de su inclinación hacia el OpenSource que desembocó en la Microsoft Shared Source Initiative y la creación de Codeplex (que curiosamente no está tan saturado con su imagen de marca ...), que se ofrecieron licencias MSDN a miembros selectos de la comunidad para brindar mejor soporte para la familia de sistemas operativos Windows. Sí algo más o menos parecido a las ofertas similares a la comunidad de Perl para facilitar una manera de hacer desarrollos ligeros, replicación de problemas, depuración y pruebas ad-hoc en cada versión de Windows con cero costo y cero esfuerzo inicial (considerando los comentarios parece que no causó mucho interés, por cierto ...). Mi opinión siempre está basada en la actitud agresiva histórica y actual de Microsoft hacia varios proyectos de código abierto. Sus razones en todos los casos giran en torno a la protección de su propiedad intelectual. Además, ¿qué pasará cuando haga falta más que desarrollos ligeros, etcétera, etcétera ? ¿Qué pasaría con otros desarrolladores no tan integrados al desarrollo del lenguaje? ¿Sus proyectos se verían en desventaja (i.e. indirectamente presionados para adquirir las licencias)?

Los detalles

Bueno como les venía diciendo, la noticia fue anunciada en la lista Python-dev por Steve Holden, por lo que no hay nada de secreto al respecto. El mensaje es el siguiente:

From: Steve Holden To: Python-dev

Please note that both Dino Viehland and Dave Fugate are now signed up to
make commits in the name of Microsoft Corporation. I believe this just
formalizes existing working relationships, but what would *I* know ...

Thanks, everybody. As you were.

regards

Steve

Sin embargo, la conversación es casi ilegible para aquellos que, como yo, no soportamos el top posting. Es por eso que incorporo aquí los detalles de la conversación.

> >>>>> -----Original Message-----
> >>>>> From: Steve Holden steve@holdenweb.com
> >>>>> Sent: Monday, December 14, 2009 5:19 PM
> >>>>> To: Dino Viehland
> >>>>> Cc: psf@python.org
> >>>>> Subject: Re: [PSF-Board] Microsoft contributor agreement received?
> >>>>>
> >>>>> Dino Viehland wrote:
> >>>>>> Guido suggested this would be better than checking on python-dev. I’m
> >>>>>> told we faxed in our contributor agreement about a week and a half ago.
> >>>>>> I just wanted to make sure that it got received. Thanks!
> >>>>>>
> >>>>> Dino:
> >>>>>
> >>>>> Thanks, it was received on December 4. Since it's in the name of
> >>>>> Microsoft Corporation can we assume that it covers contributions by all
> >>>>> employees?
> >>>>>
> >>>>> I'll execute it tonight. Should I send the signed copy to Stephanie
> >>>>> Vishneau at Redmond, or to you?
> >>>>>
> >>>>> regards
> >>>>> Steve

> >> Dino Viehland wrote:
> >>> Can we also add one backup contributor - Dave Fugate?
> >>>
> >>>> -----Original Message-----
> >>>> From: Dino Viehland
> >>>> Sent: Monday, December 14, 2009 5:29 PM
> >>>> To: 'Steve Holden'
> >>>> Cc: psf@python.org
> >>>> Subject: RE: [PSF-Board] Microsoft contributor agreement received?
> >>>>
> >>>> It actually doesn't cover all employees - we'd like to scope it to just
> >>>> me for the time being and we'll funnel all of the check-ins via me.
> >>>>
> >>>> Sending it to Stephanie sounds good.
> >>>>
> >>>> Thanks Steve!
> >>>>

> >> -----Original Message-----
> >> From: Steve Holden steve@holdenweb.com
> >> Sent: Tuesday, January 26, 2010 11:38 AM
> >> To: Dino Viehland
> >> Cc: psf@python.org; VanL
> >> Subject: Re: [PSF-Board] Microsoft contributor agreement received?
> >>
> >> I believe that shouldn't be a problem: you presented an agreement signed
> >> on behalf of Microsoft Corporation, right? And you are (or possibly
> >> should be) Microsoft's PSF representative, so you get to say who can and
> >> cannot submit on behalf of Microsoft. I think.
> >>
> >> IANAL, so copying this to someone who is (sorry, Van).
> >>
> >> regards
> >> Steve
> >>

> Dino Viehland wrote:
> > Correct, we submitted the agreement - note I am not the signer of the
> > agreement so if necessary I can have Scott Wiltamuth who was the signer
> > send an e-mail requesting to add Dave.
> >
> -----Original Message-----
> From: Steve Holden steve@holdenweb.com
> Sent: Tuesday, January 26, 2010 1:55 PM
> To: Dino Viehland
> Cc: psf@python.org; VanL
> Subject: Re: [PSF-Board] Microsoft contributor agreement received?
>
> Yes. We definitely want to see a line of authority from Microsoft
> stretching all the way to a legally-approved corporate signature.
>
> I believe an email from Scott would be satisfactory.
>
> regards
> Steve
>

-----Original Message-----
From: Dino Viehland
Sent: Tuesday, January 26, 2010 2:14 PM
To: Steve Holden; Scott Wiltamuth
Cc: psf@python.org; VanL; Dave Fugate
Subject: RE: [PSF-Board] Microsoft contributor agreement received?

Scott,

Can you respond and say it's alright to add Dave as our backup

submitter?

-------- Original Message --------
Subject: RE: [PSF-Board] Microsoft contributor agreement received?
Date: Tue, 26 Jan 2010 23:25:45 +0000
From: Scott Wiltamuth <Scott.Wiltamuth@microsoft.com>
To: Dino Viehland <dinov@microsoft.com>, Steve Holden <steve@holdenweb.com>
CC: psf@python.org <psf@python.org>, VanL <van.lindberg@gmail.com>, Dave
Fugate <dfugate@microsoft.com>
References:
<1A472770E042064698CB5ADC83A12ACD04D90005@TK5EX14MBXC118.redmond.corp.microsoft.com>
<4B26E409.4080708@holdenweb.com>
<1A472770E042064698CB5ADC83A12ACD34C9E32B@TK5EX14MBXC116.redmond.corp.microsoft.com>
<4B5F44AD.2040107@holdenweb.com>
<1A472770E042064698CB5ADC83A12ACD34C9EFA6@TK5EX14MBXC116.redmond.corp.microsoft.com>
<4B5F64BA.9000401@holdenweb.com>
<1A472770E042064698CB5ADC83A12ACD34C9F997@TK5EX14MBXC116.redmond.corp.microsoft.com>

Sure, no problem. We would like to have Dino as the primary and Dave
Fugate as his backup. It's always good to have a backup :-). Thanks!

--Scott

Ahora las gestiones se encuentran en una estadío superior y el gigante de Redmond se integra más activamente al desarrollo del lenguaje junto a compañías como Google, ActiveState, Canonical, Sun MicroSystems, Zope Corporation y otros.

Conclusiones

Python para Visual Studio.NET ?

Bueno, el radio de acción de Microsoft se exiende hacia una comunidad muy dinámica que cuenta con no pocos éxitos. Todo parece indicar se comprende la ventaja actual que posse el lenguaje sobre otros como C# y su amplio impacto, difusión y amplias potencialidades. Ya esto me resultaba evidente después de haber presenciado la presentación del profesor y PhD Miguel Katrib Mora en Informática 2009 (algo de lo que espero poder hablarles algun día ...). Esto se hace más evidente si se tiene en cuenta que el signatario (i.e. Scott Wiltamuth) es uno de los autores de la especificación del C# y ocupa el cargo de General Manager for Visual Studio Language and Data Tools y por tanto tiene importante participación en la integración de lenguajes al entorno del Visual Studio. ¿Será esta una de las líneas de cooperación? No me extrañaría que fuera así. De hecho ya existe Visual Python beta 1.0, un intento de ActiveState para proporcionar el primer IDE para Python integrado al Visual Studio.NET. ¡En estos días nadie quiere quedar rezagado! ¿Cuál fue el destino de esta iniciativa? Si accedemos hoy a la página de descargas de Visual Python, veremos el siguiente mensaje :

ActiveState has announced the end of engineering support for Visual Perl, Visual Python, and Visual XSLT, effective immediately.

The plug-ins will not be updated for Visual Studio 2005, and there will be no further maintenance on the Visual Studio 2003- and 2002-compatible versions. Due to the necessary inclusion of Visual Studio integration code in Visual Perl, Visual Python, and Visual XSLT, the plug-ins cannot be open-sourced.

Es decir la acción de las licencias y la propiedad intelectual aplicada desde Redmond. Por aquí está el lado que veo más oscuro (quizás debido a mis limitados conocimientos jurídicos ;o), el de las posibles contribuciones a las ramas de desarrollo de la librería estándar. La cuestión es que el procedimiento actual indica que :

At the same time, contributors remain copyright holders of their contributions - they are not asked to assign the copyright to the PSF. They only formally confirm the terms under which they made their contribution available to the PSF.

Un comentario de Nick Coghlan en respuesta a Simon Cross es bastante sencillo y claro como para tener idea de parte de los detalles.

> I'm not a license lawyer, but typically your company needs to give the > code to the community. Yes, it means it stops owning it.

As Simon pointed out, while some organisations do work that way, the PSF isn't one of them.

The PSF only requires that the code be contributed under a license that then allows us to turn around and redistribute it under a different open source license without requesting additional permission from the copyright holder. For corporate contributions, I believe the contributor agreement needs to be signed by an authorised agent of the company (...)

Las licencias iniciales que acepta la PSF para las contribuciones son la Academic Free License v. 2.1 y la Apache License, Version 2.0 (esta última ampliamente utilizada por Google). Entonces quedan las dudas:

  • ¿Cómo es que se aceptarán dichas contribuciones ?
  • ¿Se utilizarán las licencias iniciales actuales o se adicionarán las licencias open source de Microsoft a la lista?
  • Una vez que ese código haya llegado allí y se retenga el copyright, ¿cuál será el próximo paso desde Redmond? ¿Cambiará con respecto a lo que se ha visto hasta hoy?
  • ¿Qué pasará cuando alguien trate de utilizar un código que se distribuya con la instalación oficial del lenguaje o lo tome como referencia para realizar sus propios desarrollos? ¿Hasta dónde puede perjudicar (considerando los precedentes) la super-acción legal de la compañía?
  • Si desarrollamos en Python, ¿debemos contar con la posibilidad de enfrentar un proceso iniciado por esa gigantesca máquinaria legal?

El precedente de su acción negativa contra varios proyectos de código abierto, la impronta de la mencionada propiedad intelectual y situaciones como la de las contribuciones al kernel de Linux, al menos a mí me dejan varias interrogantes. Seamos positivos y esperemos que esto represente una mejora en el soporte y la integración de Python con el sistema operativo Windows, y que el costo no sea demasiado elevado.

2 comentarios:

  1. Mmm.... A menos que me haya perdido algo, lo que yo entiendo es que ahora Dino y Steve pueden "comitear" parches en CPython, no que forman parte de la dirección de la fundación.

    Firmar ese documento es requerimiento para *todo* colaborador de Python. Si no firmas, no sólo no puedes subir parches, tus colaboraciones ni siquiera serán *leídas*.

    El interés por aceptar la colaboración del equipo de IronPython es mutuo. A la PSF le interesa mejorar el código y a Microsoft que IP sea mas compatible.

    Ten en cuenta que hasta hace unos años la doctrina oficial de Python era que "the Language Reference is the implementation". Con la aparición de Jython, IP, PyPy, etc. eso ha cambiado radicalmente. Ahora un comportamiento no documentado de CPython puede ser un bug y es de interés de todos que se corrija.

    Para Dino y Steve la venia de Microsoft es necesaria por el contrato que han firmado con su empleador que en lo que refiere a propiedad intelectual es similar a lo firma cualquier programador en España, Europa o América Latina.

    ResponderEliminar
  2. Antes que todo quisiera agradecer Hernán su comentario y, bueno, disculparme pues no tuve tiempo de responder anteriormente. Responderé por partes

    (...) lo que yo entiendo es que ahora Dino y Steve pueden "comitear" parches en CPython, no que forman parte de la dirección de la fundación.

    No creo haber dicho que formen parte de la dirección de la Fundación, sino que Dino será el representante ante la PSF para canalizar las interacciones entre ambas organizaciones (entre ellas la contribución de código a CPython y a la librería estándar).

    Firmar ese documento es requerimiento para *todo* colaborador de Python. Si no firmas, no sólo no puedes subir parches, tus colaboraciones ni siquiera serán *leídas*.

    Sí, claro. Sin embargo consideremos un ejemplo concreto para ver las diferencias. Según se menciona en este mensaje, Cristian Heimes trabaja para Microsoft. Si se consulta
    los términos de la licencia o si prestamos atención a las funcionalidades introducidas en 2.6 , encontraremos a Cristian Heimes citado varias veces. Sin embargo, esto no significa que se trate de una contribución hecha oficialmente por la compañía. Ahí es dónde veo la diferencia (aunque sospecho que quizás también me falten elementos, pues no soy CSI ;o).

    ResponderEliminar