[LUG.ro] Dilema del prisionero y el soft libre
Alfredo Daniel Rezinovsky
lugro@lugro.org.ar
Wed, 29 Oct 2003 08:11:12 -0300
>Los programadores pueden optar por ocultar su conocimiento al resto, con la
>intención de destacar y asegurar su permanencia en la empresa. Pero si
todos
>se comportasen de esta forma empezarían los problemas: tareas que se
repiten
>innecesariamente, errores cometidos una y otra vez, el proyecto puede
>convertirse en un caos y tal vez nadie conserve su puesto.
Los mediocres harian eso. Alguien que sabe que realmente vale, no gana nada
ocultando su conocimiento. Perfectamente puede mantener su trabajo haciendo
notar todo lo que hace, destacando la importancia que tienen sus
colaboraciones y demostrando que es el mejor manteniendo sus propios
codigos.
>Si todos compartiesen todo su conocimiento, el proyecto tendría más
>probabilidades de éxito, y sería más probable que se mantuvieran todos los
>puestos de trabajo. Pero si uno comparte su conocimiento, ¿se podrá confiar
>en que los demás también lo harán?
No es importante. Al compartir se beneficia al resto, y se beneficia a uno
mismo, con la posibilidad de recibir ayuda.
>Podemos pensar que en general sí, ya que los equipos de trabajo en los que
la
>cooperación sea baja tendrán menos probabilidades de éxito y por tanto más
de
>desaparecer. Si ingresamos en un equipo de trabajo, es probable que el
equipo
>coopere entre sí.
Probablemente algunos cooperen y otros no, naturalmente se va a formar un
sub-equipo entre quienes cooperan, dificultando el trabajo de quienes no lo
hacen. La unica forma de recibir ayuda es liberando el código para que otros
nos puedan ayudar.
>¿O tal vez no? Supongamos que el objetivo de cada individuo es no perder el
>propio puesto de trabajo. Hay dos estrategias razonables: no compartir el
>conocimiento y tratar de que sea otro el expulsado, o compartirlo y tratar
de
>que ninguno lo sea. Pero si el equipo es grande, la influencia del propio
>trabajo sobre el éxito total puede ser baja. Si nadie coopera ¿porqué
>cooperar? Y si todos cooperan ¿porqué cooperar? Pero si todos siguen este
>razonamiento tal vez todos resulten perjudicados.
Suponiendo que haya solo uno o dos que comparten, esos van a tener la
ventaja de estar trabajando en equipo, contra un monton de solitarios. En
forma natural el resto se va a ir uniendo, simplemente porque trabajar en
equipo es más facil y se trabaja menos y mejor.
Suponiendo que al final quede solo uno que no comparte y solo aprovecha el
conocimiento de los demas, Nunca va a poder corregir sus propios errores,
porque no comparte, solo va a aprender de los errores de los demás. Por lo
tanto su código no va a influir en nada sobre el proyecto total y siendo
inutil, tendria más probabilidades de quedar afuera y no poder mantener su
puesto de trabajo.
El software libre demuestra que todo esto (que ya se usa exitosamente hace
muchos años en ambientes cerrados) es viable a nivel global.
Razonando a medias se puede deducir que hay un dilema, en los libros se
llamaría "falacia del dilema del prisionero y el sot libre"
--
Alfrenovsky