[Solar-general] Re: [Softwarelibre] Java 100% libre

Pablo Manuel Rizzo info en pablorizzo.com
Mar Dic 2 17:29:51 CET 2008


Otra forma de estimar el costo de mantener OpenJDK sería averiguar el
tamaño del equipo de gente que tiene Sun haciendo precisamente eso.


2008/12/2 Martín Olivera <martin.olivera en gmail.com>:
> No tienen nada que ver, pero me gusto mucho el analisis tecnico sobre el
> volumen de proyectos comunitarios y/o empresariales de soft libre que hace
> Francisco Palm de Venezuela.
>
> perdon por traer cosas de otro lado, pero me gusto los analisis de LOC y
> sobre volumen de personal y su productividad y errores
>
> El 2 de diciembre de 2008 13:08, Francisco Palm <francisco.palm en gmail.com>
> escribió:
>>
>> 2008/12/3 Francisco Andrades Grassi <bigjocker en gmail.com>:
>> > Si 'alguna ley de la política exterior prohíbe el intercambio con Cuba'
>> > entonces 'está inhabilitando para los cubanos la libre distribución de
>> > la GPL'. Esto incluye todo el software GPL desarrollado dentro de USA
>> > (Perl, Python, Linux, Xorg, MySQL, Postgres, OpenOffice, Debian, etc).
>>
>> La enorme diferencia es que Perl, Python, Linux, Xorg, Postgres,
>> Debian... (no es el caso de MySQL u OpenOffice) son proyectos
>> verdaderamente comunitarios e internacionales, si el día de mañana la
>> política internacional de los EEUU se pone aún más estúpida estas
>> comunidades buscarán la manera de darle la vuelta. Sun no lo hará a
>> menos que le convenga -muchísimo- en términos de ingresos.
>>
>> > El día de mañana cualquier desarrollador de software libre podría
>> > decidir cerrar su código y eso requeriría un fork a partir de la última
>> > versión GPL (nadie puede cambiar la licencia sobre los productos ya
>> > liberados como GPL). Java no es el proyecto de Software Libre más grande
>> > que existe, y la existencia de IcedTea demuestra que puede ser mantenido
>> > y mejorado por la comunidad en el supuesto negado de que Sun decida no
>> > continuar el desarrollo GPL.
>> >
>> > Según ese razonamiento no debemos usar OpenOffice (porque Sun puede
>> > cerrar el código y 'es muy complicado para mantener un fork por parte de
>> > la comunidad'), MySQL (porque Sun puede cerrar el código y 'es muy
>> > complicado para mantener un fork por parte de la comunidad'), Mozilla
>> > (porque la Mozilla Foundation puede cerrar el código de la noche a la
>> > mañana), Apache (porque la Apache Foundation puede cerrar el código,
>> > aparte de que Sun es el principal colaborador de Apache), etc, etc.
>>
>> No se puede comparar la complejidad y el tamaño de Java con MySQL o
>> Firefox.
>> Según Ohloh, OpenJDK son 2,402,709 líneas de Java, 463,927 líneas de
>> C++, y 420,079 líneas de C.
>> Apache son 132,069 líneas de C.
>> Firefox son 36,526 líneas de Javascript, y 10,671 de C++. En total
>> como 47,197 líneas.
>>
>> Es decir, en líneas de código OpenJDK es un proyecto 24 veces mayor
>> que Apache y 69 veces mayor que Firefox!!! sin considerar que en
>> Software la complejidad de un sistema no aumenta de forma lineal con
>> el número de líneas de código. De hecho, uno de los principales
>> problemas con los proyectos de software es que se estiman mal los
>> tiempos, especialmente cuando hay innovación.
>>
>> LOC = lineas of code
>> Steve McConnell hablando de "diseconomies of scale in software
>> development", si un proyecto de 10 mil LOC se estima en 13.5
>> meses-hombre, se asume que un proyecto de 100 mil LOC se podría
>> realizar en 135 meses-hombre, cuando en realidad se realiza en 170
>> meses-hombre. Así,
>>
>> Así tenemos que por cada orden de magnitud, aumenta el esfuerzo por
>> línea de código en aprox. un 25%. Así, 10 veces más de líneas de
>> código con 12.5 veces el esfuerzo, y 100 veces más de líneas de código
>> es un esfuerzo de 156.25 veces...
>>
>> Así en R podríamos tener:
>> > x = c(1,10,100)
>> > y = c(1,10*1.25,100*(1.25)^2)
>> > y
>> [1]   1.00  12.50 156.25
>>
>> Se hace un ajuste log-log ya que:
>>
>> > logy = log(y)
>> > logy
>> [1] 0.000000 2.525729 5.051457
>> > logx = log(x)
>>
>> Con
>> > plot(logx,logy)
>> Se puede ver que el modelo es completamente lineal.
>>
>> > lm(logy~logx)
>>
>> Call:
>> lm(formula = logy ~ logx)
>>
>> Coefficients:
>> (Intercept)         logx
>>  -8.340e-16    1.097e+00
>>
>> Y Estimamos la complejidad de OpenJDK en relación a Firefox...
>> > log(69)
>> [1] 4.234107
>> > 4.234107*1.097e+00 -8.340e-16
>> [1] 4.644815
>> > exp(4.644815)
>> [1] 104.0441
>>
>> Se puede estimar de modo muy grosero que mantener OpenJDK implica
>> mantener aproximadamente 104.4 proyectos de Firefox.  A eso me refiero
>> que Firefox es faraónico.  También alguien puede afirmar que el kernel
>> 2.6 de linux son más 10 millones de líneas de código C. Ya, pero es
>> que en el kernel de linux contribuyen según Ohloh más de 5 mil
>> personas, en OpenJDK aparecen directamente 11 personas!!! (seguramente
>> son más, pero estamos hablando del doble de líneas de código
>> mantenidas por dos ordenes de magnitud más de gente). En linux hay
>> muchos más desarrolladores ocupados de tareas muy puntuales, mientras
>> que en Java todo está mucho más interrelacionado, a eso me refiero que
>> es mamotrético.
>>
>> En fin, Java tiene muchos usuarios, pero sus desarrolladores están
>> dentro de Sun fundamentalmente, y para encargarse de fork de OpenJDK
>> se requieren de 100 veces más desarrolladores autónomos de los que
>> tiene el proyecto actualmente. Python tiene tan solo 1/3 de las LOC de
>> OpenJDK y más de 10 veces de contribuyentes autónomos.
>>
>> Deje así, buenos días.
>>
>> F. Palm
>>
>> --
>> --------------------------------------
>> fpalm en ula.ve
>> francisco.palm en gmail.com
>>
>> cel: 0414 5109177
>> tel: 0274 6352001
>>
>> ----
>> Yo creo que todavía no es demasiado tarde para construir una utopía
>> que nos permita compartir la tierra. Gabriel García Márquez.
>> _______________________________________________
>> Softwarelibre mailing list
>> Softwarelibre en solve.net.ve
>> RUMBO AL VI FORO MUNDIAL DE CONOCIMIENTO LIBRE
>> Si desea:
>> * Retirarse
>> * Modificar su subscripción
>> * Cambiar la dirección de correo
>> * Tener mayor información de la lista
>> Visite la siguiente dirección:
>> http://solve.net.ve/cgi-bin/mailman/listinfo/softwarelibre
>
>
>
> --
> opino en http://blog.martinolivera.com.ar
>
> _______________________________________________
> Solar-general mailing list
> Solar-general en lists.ourproject.org
> https://lists.ourproject.org/cgi-bin/mailman/listinfo/solar-general
>



-- 
Pablo Manuel Rizzo
-------------------------------------------------
"No hay camino hacia la Libertad,
la Libertad es el camino" - Gandhi
-------------------------------------------------


Más información sobre la lista de distribución Solar-general