martes, 21 de julio de 2009

Software Libre Como Empresa

Habiendo planteado los hechos de “qué es realmente lo que se comercializa” cuando se desarrolla software, se vuelve más clara la situación de que el desarrollador de software está comercializando una obra intelectual y que los estereotipos de la industria de manufactura no son aplicables a la industria del software.

La ilusión de la manufacturación

Necesitamos comenzar notando que los programas de computación como cualquier otra herramienta o bien de capital, tiene dos clases distintas de valor económico. Tienen el valor de uso y el valor de venta.

El valor de uso de un programa es su valor económico como herramienta. El valor de venta de un programa es su valor como una mercancía vendible (commodity). (En lenguaje económico profesional, el valor de venta es el valor como bien final, y el valor de uso es el valor como bien intermedio.)

Cuando la mayoría de la gente trata de razonar acerca de la economía de producción de software, trata de asumir un ``modelo de fábrica'' que esta basado en las siguientes premisas fundamentales.

  1. La mayor parte del tiempo del desarrollador se paga por el valor de venta.
  2. El valor de venta del software es proporcional a su costo de desarrollo (esto es: el costo de los recursos necesarios para replicarlo funcionalmente) y a su valor de uso.
En otras palabras, la gente tiene una fuerte tendencia a asumir que el software tiene las características de valor de un bien manufacturado típico. Pero ambas suposiciones son demostrablemente falsas.

Primero; si se realiza un estudio se ve claramente que el 95% del código de Software es escrito “in-house” (hecho en casa), para solventar problemas específicos y no como software de venta. Es el caso del software embebido en dispositivos que contienen microcontroladores.

Este software por sus características, está fuertemente relacionado con el medio en el que funciona, y es de dificil replicación y reutilización. Por lo tanto, cuando el ambiente cambia, hay mucho trabajo para los programadores, ya que deben “mantener” el software para reflejar los cambios en el ambiente.

Cualquier ingeniero de software o analista de sistemas estará de acuerdo que el “Mantenimiento” compone la gran mayoría (mas del 75%) del trabajo por el que se le paga aun programador. De acuerdo a esto, la mayoría de las horas de programación se gastan en (y la mayoría de los salarios de los programadores se pagan por) escribir y mantener código “hecho en casa” que no tiene ningún valor de venta.

Segundo, la teoría que dice que el valor del software está acoplado a su costo de desarrollo o de reemplazo es mas fácilmente demolida examinando el comportamiento real de los consumidores. Hay muchos bienes para los cuales una relación de este tipo les cabe (antes de la depreciación) - comida, autos, herramientas. Hay también muchos bienes intangibles para los cuales el valor de venta se acopla fuertemente al costo de desarrollo y de reemplazo - derechos para reproducir musica o mapas o bases de datos, por ejemplo. Estos bienes pueden retener o incluso aumentar su valor de venta después que su productor se ha retirado del mercado.

En contraste, cuando el productor de software sale del mercado (o meramente si el producto es discontinuado), el mayor precio que los consumidores pagarán por él rápidamente cae casi hasta cero sin importar su valor teórico de uso o el costo de desarrollo de un bien funcionalmente equivalente. (Para confirmar esta afirmación, examine los contenedores de productos discontinuados en cualquier casa de venta de software.)

El comportamiento de los vendedores a consumidor final cuando un productor se retira ((fold)) es muy revelador. Nos dice que ellos saben algo que los productores no saben. Lo que saben es esto: el precio que un consumidor pagará se ve efectivamente disminuido por el valor futuro esperado del servicio prestado por el productor (donde ``servicio'' aquí se entiende ampliamente para incluir mejoras, actualizaciones y proyectos siguientes).

En otras palabras, el software es una industria de servicios operando bajo la persistente pero infundada ilusión que es una industria de manufacturas.

¿Es económicamente viable el software libre?

Ya hemos visto que el desarrollador o “Propietario Intelectual” de la obra de Software mantiene en todo momento potestad sobre su creación; también es sabido que mucho del software libre, es también gratuito.

Esta situación se da porque el software libre no necesita dinero para que sea desarrollado. Aunque todas las compañías y el estado dejen de invertir en software libre (mediante programadores, código, donaciones, etc.), siempre habrá programadores que lo harán por motivaciones distintas a las económicas directas.

El software es una creación intelectual, aunque se incrementen los consumidores no significa que el o los autores originales tengan una pérdida patrimonial. Éste aspecto es el que se ha tenido en cuenta para la elaboración de las leyes de protección intelectual.

Pero además de ello el software tiene una característica única a diferencia de otras creaciones humanas: puede ser desarrollado y mejorado por miles de personas, como se ha demostrado el núcleo Linux o el escritorio GNOME.

Si no hay ganancias de ventas de software ¿que incentivos tendrán las empresas para
desarrollar software libre?

Para la inmensa mayoría de las empresas, el software es un gasto, no produce ganancias. Para más del 90% de esa minoría de empresas que sí desarrollan software, dicho software también es un gasto, ya que ellas no se dedican a producir software para vender y ganar dinero, sino para uso in-house o personalizaciones a otras empresas. Para todas esas empresas el “software libre” sí significa ganancia de dinero: dinero no gastado es dinero ganado.

En pocas palabras, las empresas seguirán necesitando software, y ese software deberá seguir evolucionando y adaptándose al modelo real que evoluciona constantemente.

Es decir, haya o no haya inversión de las empresas para el desarrollo del software libre, éste seguirá creciendo.

¿Se morirá la industria del software?

El software siempre deberá ser desarrollado por alguien. Seguramente como hobby de muchos programadores pero lo más probable es que las empresas sean las que más inviertan. Además, independientemente de que el software sea libre o privativo, los costes de desarrollo inicial no son los más significativos en el coste total del ciclo de vida de un programa, sino los costes de adaptación y mantenimiento.

Si un programa no es modificado después de la liberación de su versión inicial, el modelo que representa se alejará (gap) cada vez más de la realidad. Esa diferencia se mantiene al mínimo con el mantenimiento posterior, cuyo coste total se estima en un 75% del coste total del ciclo de vida.

En todo caso la pregunta es: ¿morirá el la industria del software privativo?

El Software Libre ¿No hará que los programadores pierdan sus puestos de trabajo?

Se estima que solamente en USA sólo el 5% de los programadores desarrolla software privativo para venderlos como paquetes. El restante 95% hace desarrollos para software que será usado en la empresa (in-house), mantenimiento y personalizaciones. Para este 95% el software libre es el paraíso, ya que evitan que programen una y otra vez funcionalidades que ya están disponibles en otros programas. Por otro lado, tal como lo demuestra la experiencia de IBM con Websphere y la fundación Apache, la mejor forma de reducir el coste de mantenimiento de un programa es hacerlo libre.

Pero, ¿Y los costes de oportunidad de los programadores de software libre?

Es una pregunta típica de los “puristas” economicistas. La barrera de entrada al mercado del software privativo es muy alta, las posibilidades de tener éxito son ínfimas y se necesita mucha inversión, especialmente de comercialización. Es mucho menos problemático liberar un programa como software libre, y esperar contribuciones externas para mejorarlo, que intentar comercializarlo.

¿Pero acaso las licencias de distribuciones como RedHat o SuSE no son más caras que la de MS Windows?

RedHat o SuSE está vendiendo no sólo un producto empaquetado, sino también el soporte y garantía para miles de aplicaciones, no sólo el sistema operativo básico. Además hay que tener en cuenta que éstas empresas se especializan en el mercado de empresas y que hay otras opciones como Ubunto(*), Debian, Gentoo, Mandriva(*), la misma SuSE(*), Fedora, etc. que son totalmente gratuitas. (*) son empresas que distribuyen gratuitamente sus productos de software y que además ofrecen como producto independiente el soporte a todo el Software Distribuido.

Si el software libre es tan bueno y eficiente, ¿porqué no se adoptó o extendió antes?

Porque el software libre no es un competidor del software privativo, sino un sustituto (recuerde además que el mercado del software no es una mercancía [commodity]). Para hacer el cambio se necesita un cambio de actitud y tomar una decisión importante. Para hacer el cambio hace falta ver ejemplos exitosos de los early adopters.

De todas formas hay nichos que el software libre ha sido más exitoso que el software privativo desde hace muchos años, por ejemplo el correo electrónico, servidores web, servidores de ficheros, DNS, etc. En estos casos no tiene justificación el retraso de algunas organizaciones, especialmente universidades y organismos gubernamentales, para adoptar el software libre (más del 90% de los servidores DNS de Internbet son libres, más del 85% de los correos electrónicos pasan por servidores de software libre). Especialmente por la calidad demostrada, el ahorro de costes y flexibilidad de la infraestructura básica de la organización.

Quizás la respuesta es que se han dejado “engañar” (o han sucumbido a los “regalos”) de las estrategias comerciales de las empresas.

¿No innova más el software privativo que el software libre?

Es otro argumento repetido hasta la saciedad por los defensores del software privativo, especialmente de grandes empresas. Pero habría que pedirles que enumeren quienes han sido los inventores de las siguientes tecnologías: redes locales, Internet, navegador web, correo electrónico, thin clients, administración remota, vídeo digital en el PC, música, sistema gráfico basado en ventanas... ninguna de ellas ha sido inventada por Microsoft ni empresa productora de software privativo. De hecho la mayoría de esas tecnologías son anteriores a 1990 y surgieron en entornos que hoy consideraríamos de “código abierto”.

¿No afectarán negativamente las patentes al software libre?

Si, como también al software privativo. Cualquier sistema de software de unos pocos miles de líneas seguramente está afectada por unas cuantas patentes. La única forma de estar seguro es borrando todo el software que haya en los discos duros de las computadoras.
El caso de las patentes en en la industria del software es un tema que merece mucho más tiempo para desarrollarse. Pero en pocas palabras, aquellos a quienes más va a golpear la imposición de patentes de software será a las pequeñas y medianas empresas.

¿Cómo será el negocio informático?

Seguramente muy distinto en lo que se refiere a los paquetes cerrados de software, muy pocos cambios en el mercado de mantenimiento, soporte y personalizaciones y precios más bajos, sobre todo si hay una alternatica de software libre.

En cualquier caso el mercado lo definirán los consumidores, y eso parece no agradar a algunos empresarios.

Material consultado para realizar éste trabajo:

“La catedral y el Bazar” de de Eric S. Raymond - 1998.
“El Caldero Magico” de Eric S. Raymond - Junio de 1999.
“Anti Carranza” de Diego Saravia - Noviembre de 2006.
“II Libro Blanco del Software Libre” A. Abella, M. A. Segovia.
“Introducción a las licencias de Software Libre” Jorge Nonius – abril de 2002.

miércoles, 15 de julio de 2009

100% Software Legal

Ha llegado a mi la información de que en la ciudad de Posadas se ha dado inicio a una campaña llevada adelante por la organización Software Legal Argentina. Se trata de una organización sin fines de lucro que, según lo lo anunciado en su sitio web, tiene como finalidad proteger la industria del software; una actividad loable hasta que vemos quienes son los asociados a dicha organización, Apple Computer Inc.; Autodesk Inc.; Axoft Argentina; Bentley Systems Inc.; Borland Argentina; BSA; Edusoft SA; Icube; Latinsoft; Max Business Microsoft Corporation; New Horizons; Panda Software Argentina S.A.; ProRM Argentina; Prosys S.A.; ; TacticaSoft; TEG Solutions Argentina S.A. entre otros. Viendo esta profución de empresas se puede decir que Software Legal protege la industria del software privativo.

Bien puede ser que las diferencias no sean evidentes a primera vista, y esto no es casual. Las empresas dedicadas a la comercialización de Software han puesto mucho empeño en provocar un estado de confusión y desinformación.

La campaña

La organización citada más arriba, con la asistencia de otras empresas como es el caso de la empresa Veraz, llevan adelante una campaña que ellos denominan un proceso de verificación. Una forma más de localizar infractores. En dicha campaña la empresa Veraz, en nombre de la organización Software Legal Argentina, envía correspondencia a las empresas solicitando se complete un formulario en carácter de declaración jurada. Éste hecho habilita a dichas empresas a realizar una verificación sobre su organización a fin de establecer si lo que ha declarado es fehaciente.

La campaña es acompañada de múltiples anuncios y publicidad que instauran en la sociedad dos idéas fundamentales. La primera que la única alternativa es la de comprar licencias de software, de las empresas asociadas a Software Legal Argentina, y que dicho software es lo único que existe. La segunda idea es instaurar en la sociedad la certeza de que violar los derechos de autor llevan indefectiblemente a la prisión. En pocas palabras se muestra el látigo y se indica en que dirección ir.

Tiempo de siembra

A lo largo del tiempo se ha instaurado en la sociedad que el software no tiene valor. Esto es así debido principalmente a la profusión de software y personas que por unos pocos pesos llevan adelante la tarea de copiar o darnos un CD, e incluso de instalar todo tipo de software en nuestra computadora, sin advertir o informar al propietario de esa computadora que está incurriendo en un delito según lo tipificado en el código penal.

Comúnmente no se informa al consumidor que el software está cubierto por lo que en nuestro país se denomina derechos de autor, y que por lo tanto puede utilizarlo solo bajo los términos de una licencia; que no es otra cosa que un contrato entre las partes; la empresa editora del software y el usuario quien adquiere la licencia. Pongo el acento en un hecho, cuando Ud. “adquiere” software en realidad está adquiriendo los permisos o derechos que la licencia del editor expresa y en ninguna forma es propietario del software. Algunos editores de software van hasta el hecho de que el soporte, como el CD donde viene el software, nunca pasa a ser propiedad de la persona o empresa que ha adquirido la licencia y se mantiene como propiedad de la empresa editora en todo momento.

Teniendo en claro que lo que se adquiere son los permisos de una licencia de uso y nunca el software es más simple explicar a que nos referimos con Software Privativo. Es el software cuya licencia PRIVA al usuario. Se puede privar de muchas maneras al usuario y dependerá de los términos de la licencia el determinar lo que puede o no hacer un usuario. Para generalizar las licencias privativas quitan al usuario la capacidad de conocer que es lo que el software que ha licenciado hace realmente, se le niega la posibilidad de copiar, instalar o prestar a otra persona el uso de esa licencia, y la lista puede continuar.

Las alternativas

Hasta aquí aparece un paisaje sombrío. Sin embargo gracias al trabajo de un sinnúmero de personas y empresas hoy se cuenta con alternativas al software privativo. El Software Libre.

Como se ha explicado antes, el software libre, no escapa al hecho de que los usuarios tienen acceso a él bajo una licencia. La mayor diferencia esa en los términos que esa licencia tiene. El Software libre tiene una licencia que busca dar la ventaja en todo momento al usuario del software; es así que el núcleo de esa licencia está en cuatro libertades:1

  • La libertad de ejecutar el programa, para cualquier propósito (libertad 0).
  • La libertad de estudiar cómo trabaja el programa, y cambiarlo para que haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello.
  • La libertad de redistribuir copias para que pueda ayudar al prójimo (libertad 2).
  • La libertad de mejorar el programa y publicar sus mejoras, y versiones modificadas en general, para que se beneficie toda la comunidad (libertad 3). El acceso al código fuente es una condición necesaria.
Bajo éstas simples premisas se ha desarrollado una inmensa variedad de soluciones de software, como por ejemplo el muy conocido GNU/Linux; un sistema operativo estrella en la infraestructura de internet; navegadores Web, clientes de correo electrónico, software para procesar texto planillas de cálculo presentaciones y muchas otras herrainetas para la oficina electrónica. El software libre es el corazón de muchos de los celulares que utilizamos comunmente y la lista de soluciones sería interminable.

Todo éste software está disponible y al alcance de la mano de cualquiera que lo quiera usar y en muchos de los casos es gratuito. Un aventaja adicional en la comprimida economía en la que vivimos y todo esto de forma completamente legal.

Deje que lo repita:

SOFTWARE LIBRE = SOFTWARE LEGAL

1Definición de las 4 libertades extraído de http://www.gnu.org/philosophy/free-sw.es.html sitio oficial del proyecto GNU.

100 Aplicaciones de software libre

jueves, 12 de abril de 2007

Reemplazos de Software Privativo


  • Simulación:

    Existen muchas y variadas herramientas destin adas a la simulación. Un servico a tener muy en cuenta es: (http://www.scs.org/resources.cfm)

      Established in 1952, The Society for Modeling & Simulation International (SCS) is a nonprofit, volunteer-driven corporation (dba Simulation Councils, Inc.) managed by a Board of Directors & a President's Council. SCS is the only technical Society dedicated to advancing the use of modeling & simulation to solve real-world problems. SCS is the principal technical society devoted to the advancement of simulation and allied computer arts in all fields. The purpose of SCS is to facilitate communication among professionals in the field of simulation. To this end, SCS organizes meetings of regional councils, sponsors and co-sponsors national and international conferences, and publishes the SIMULATION: Transactions of The Society for Modeling and Simulation International and the Modeling & Simulation Magazines.

      The members of the Board of Directors, as well as the President & Senior Vice-President, are elected by the members of the society. Four Vice-Presidents representing the four major operational areas of the society (Conferences, Membership, Publications & Education) are selected by the President and confirmed by the Board of Directors. The President also appoints a Secretary and a Treasurer. The Immediate Past President & the Executive Director also serve on the Executive Committee.

      The members of the SCS are divided into Councils. These Councils are organized either by geographical area or by professional / technical interest area. Any Council may charter smaller groups called Chapters that represent a smaller geographical or technical area. See Formation and Administration of a Chapter for additional information.

      The members of the Executive Committee and Board of Directors (Directors at Large) for the 2006-2008 biennium are listed here along with their affiliations & contact information.

      SCS has a SCS Distinguished Lectureship Program, which is aimed at providing distinguished lecturers who are authorities in modeling and simulation theory, applications and related disciplines, to SCS regional and technical chapters and councils as well as to student chapters.

      The society maintains an office in San Diego, CA, which is managed by the Executive Director. Meet the current SCS staff in San Diego.

      Read the official Bylaws of The Society for Modeling and Simulation International.

      For a history of SCS see our Formative and Controlling Documents and issues of our early newsletters

    • Crystal Ball

    • Simul8

      • Existe una versión de éste Software para Linux. No es SL y se debe pagar por la licencia. Se obtiene soporte de la empresa que lo desarrolla.

    • Sinproces

    • Arena

    • Vensim

    • Herramientas de Simulación en Software Libre

      • C++SIM

        C++ libreries for simulation of discrete event systems. A must have in your toolkit.

      • JavaSIM

        The Java version of C++SIM.

      • DSOL

        DSOL is an open source, java based, suite for continuous and discrete event simulation, developed at TU Delft, in the Netherlands. Among its general features: distributed 2D and 3D animation supported, various random number generators, GIS/CAD files supported, statistics, charts included. Continuous simulation is facilitated thanks to: numerical integration of n-th order ordinary differential equations with various numerical integrators supported; realtime clock simulator for Emulation. In discrete event simulation event scheduling is specified through scheduled method invokation and the Single threaded Process Interaction formalism is specified. It implements a flow "formalism" (Arena-like).

      • DESMO-J

        DESMO-J is a Framework for Discrete-Event Modelling and Simulation targeted at programmers developing simulation models in Java. DESMO-J is licensed under the Apache License, Version 2.0

      • Simkit

        Simkit is a a package for creating Discrete Event Simulation (DES) models written in Java. Simkit is used as a platform to teach DES to Masters' students in Operations Research and MOVES at the Naval Postgraduate School and it is free software (LGPL).

      • SimTools, Version 2.7

        A review of some simulation tools. Updated Jan 1995. The Numerical Algorithms Group Ltd (NAG) Library of numerical algorithms

      • Netlib

        Library of numerical algorithms

      • Simulations in Java

        • Sim Java library

      • CSIM19

        Mesquite CSIM is a process-oriented, general purpose simulation toolkit written with general C language functions. The toolkit allows programmers to create and implement process-oriented, discrete-event simulation models.

        Code by Law and Kelton Code examples in C and FORTRAN from the successful book "Simulation Modelling and Analysis, by A.V. Law and W.D. Kelton

      • SSS

        A library (coded in C) for discrete even system simulation by M. A. Pollatschek (visit his home page )

      • Mathtools

        A "portal" providing free access to a set of valuable resources for MATLAB, Excel, C, C++, Fortran and Java.

        • Warped

          WARPED is a public domain Time Warp simulation kernel written in C++. The distribution includes a plug-in sequential kernel to support comparative analysis to parallel executions. Primary development has been on Linux-based Pentium PCs, Sun Workstations, a 4-processor Sun SparcCenter 1000, and the Intel Paragon

        • baseSim

          iBright is the evolution of baseSim Simulation Components (formerly developed by solutionsBase, now defunct) are a suite of Visual Components designed to complement and extend the functionality of Borland Delphi v.4.0/5.0. They provide the means to produce simple or complex discrete-event Simulation Models.

        • OpEMCSS

          The Operational Evaluation Modelling for Context-Sensitive Systems (OpEMCSS) is an add-on to the Extend simulation environment. It allows the user to represent Complex Adaptive Systems (CAS) with relative ease.

        • TomasWeb

          TomasWeb offers object-oriented simulation tools that are implemented in Delphi 5 and 6. They are all based on the 'process oriented approach': a description-method, where several events (state changes) are combined into one single 'process'. It therefore supports process-oriented simulation. TomasWeb has been developed primarly for education and research. It is a free simulation tool. It can be downloaded, but you will need Borland's Delphi to use it.

        • HighMAST object-oriented simulation library HighPoint Software Systems offers an object oriented simulation class library and framework. It is written in C# , and consists of 200+ classes, 70+ interfaces. The HighMAST framework is built as an open architecture library on Microsoft's capable .NET technology base. HighMast has also been successfully employed to deliver Agent-based and Hybrid simulations.

        • Dex

          DEx, the Dynamic Experimentation toolkit, aims to provide a fast, flexible, and easy-to-use platform for developing, analyzing, and visualizing dynamic multi-body simulations. The kernel and utility classes constitute a framework that can be used alone in C++ or in combination with the DEx language, a domain-specific language based on C++ designed for rapid prototyping. It compiles under Linux and it is available for download.

      • Simulacón 4

        Simulacón 4 is a Microsoft Excel add-on developed by José Ricardo Varela, which transforms your spreadsheet in a discrete-event simulation tool. Written in VBA (Visual Basic for Applications), it features 34 different random number function generators, it allows Monte Carlo simulation up to 65.000 iterations and it handles up to 150 different inputs and 20 outputs. The simulation results are dispayed in 4 different worksheets, one for the data, one for summary stats of all variables and one for detailed statistics of a selected variable. The last worksheet is dedicated to sensitivity analysis of the results.

    • SimulAr

      • Argentina is a fertile land for Excel add-ons. SimulAr, by Luciano Machain, is an Excel add-on designed for risk analysis based on a Monte Carlo approach. With SimulAr the user has a wide number of random variate generators available. SimulAr is not a simulation tool itself (in the same way as Simulacón isn't), but it is very valuable if you want to build a simulation model using Excel. Remember that difference equations are easy to implement in Excel, DEVS are not so easy, so you might like to have a look at tools such as XLSsim.

    • Insight and XLSsim

      The Insight suite is a set of Visual Basic for Applications programs running in Excel and it provides: XLSim Standard Edition (Monte Carlo Simulation, with up to 10,000 iterations and 5 output cells, 5 parameters); QUEUE.xla, and Excel add-on that allows to simulate simple queues; Q-NET.xla for simulating Queuing Networks; Markov.xls for Markov Chain template. Insight also includes XLForecast for Time Series Analysis and XLTree for Standard Edition and Decision Trees

    • IMTEK Mathematica Supplement

      The IMTEK Mathematica Supplement (IMS) adds about 700(!) new function and about 60 new packages to Mathematica, allowing it to become a powerful simulation tool. Differential Equations. SOme features are: nD multiphysics Finite Element Environment with lots of application examples (Finite Difference Navier-Stokes Solver, Multigrid Package, Model Order Reduction for large scale dynamic systems, lumped model simulator). It also provides various graphic capabilities and a set of lectures on Simulation.

  • Estadística:

    • SPSS

      • R es un lenguaje y entorno de programación para análisis estadístico y gráfico.

        Se trata de un proyecto de software libre, resultado de la implementación GNU del premiado lenguaje S. R y S-Plus -versión comercial de S- son, probablemente, los dos lenguajes más utilizados en investigación por la comunidad estadística, siendo además muy populares en el campo de la investigación biomédica y en la bioinformática.

        El proyecto más conocido desarrollado sobre R es Bioconductor (http://www.bioconductor.org), un proyecto de software libre enfocado al análisis y la comprensión de datos genómicos. Bioconductor ofrece, por ejemplo, paquetes específicos para la normalización, análisis y anotación de microarrays o microarreglos.

        R se distribuye bajo la licencia GNU GPL y está disponible para los sistemas operativos Windows, Macintosh, Unix y Linux.

        Además, R puede integrarse con distintas bases de datos y existen librerías que facilitan su utilización desde lenguajes de programación interpretados como Perl y Python o en lenguajes de código compilado, por ejemplo, C o Fortran. Una amplia colección de librerías se encuentran en CRAN.

        http://www.r-project.org/

  • Matemática:

    • Matlab

      • GNU Octave

        GNU Octave is a high-level language, primarily intended for numerical computations. It provides a convenient command line interface for solving linear and nonlinear problems numerically, and for performing other numerical experiments using a language that is mostly compatible with Matlab. It may also be used as a batch-oriented language.

        Octave has extensive tools for solving common numerical linear algebra problems, finding the roots of nonlinear equations, integrating ordinary functions, manipulating polynomials, and integrating ordinary differential and differential-algebraic equations. It is easily extensible and customizable via user-defined functions written in Octave's own language, or using dynamically loaded modules written in C++, C, Fortran, or other languages.

        GNU Octave is also freely redistributable software. You may redistribute it and/or modify it under the terms of the GNU General Public License (GPL) as published by the Free Software Foundation.

        Octave was written by John W. Eaton and many others. Because Octave is free software you are encouraged to help make Octave more useful by writing and contributing additional functions for it, and by reporting any problems you may have.

    • MAPLE

      • Sobre Maxima

        Maxima es un sistema para la manipulación de expresiones simbólicas y numéricas, incluyendo diferenciación, integración, expansión en series de Taylor, transformadas de Laplace, ecuaciones diferenciales ordinarias, sistemas de ecuaciones lineales, y vectores, matrices y tensores. Maxima produce resultados con alta precisión usando fracciones exáctas y representaciones con aritmética de coma flotante arbitraria. Adicionalmente puede graficar funciones y datos en dos y tres dimensiones.

        El código fuente de Maxima puede ser compilado sobre varios sistemas incluyendo Windows, Linux y MacOS X. El código fuente para todos los sistemas y los binarios precompilados para Windows y Linux están disponibles en el Administrador de archivos de SourceForge.

        Maxima es un descendiente de Macsyma, el legendario sistema de álgebra computacional desarrollado a finales de 1960 en el instituto tecnológico de Massachusetts (MIT). Este es el único sistema basado en el esfuerzo voluntario y con una comunidad de usuarios activa, gracias a la naturaleza del open source. Macsyma fue revolucionario es sus días y muchos sistemas posteriores, tales como Maple y Mathematica, estuvieron inspirados en él.

        La rama Maxima de Macsyma fue mantenida por William Schelter desde 1982 hasta su muerte en 2001. En 1998 él obtuvo permiso para liberar el código fuente bajo la licencia pública general (GPL) de GNU. Gracias a su esfuerzo y habilidad, Maxima fue posible y estamos muy agradecidos con él por su dedicación voluntaria y su gran conocimiento por conservar el código original de DOE Macsyma vivo. Desde su paso a un grupo de usuarios y desarrolladores, Maxima ha adquirido una gran audiencia.

    • Otras herramientas (Existen muchas más...)

      • Xcas

        Xcas es un sistema de cálculo simbólico compatible con Maple, muPad y Ti89. Utiliza Giac, una biblioteca en C++ con tipos definidos para Algebra Simbólica Computerizada

      • Gambit

        Gambit es una colección de herramientas y programas dirigidos a la construcción y análisis de juegos finitos extensivos y de forma normal.

      • gnuplot

        Gnuplot es un generador de gráficos 2D y 3D. El programa se controla a través de los menús o mediante línea de comandos y es capaz de generar gráficos en varios formatos (LaTeX, metafont, pdf, svg o png).

      • Grafos

        Grafos permite dibujar, modelar, resolver y analizar problemas de grafos. El programa ha sido desarrollado para la docencia y el aprendizaje de esta disciplina, si bien se puede usar igualmente para el modelado y resolución de problemas reales.

      • LPSolve

        LPSolve IDE es un interfaz gráfico para utilizar lp_solve, una biblioteca de resolución de problemas de programación lineal. La página web del proyecto es un grupo de Yahoo! groups, por lo que habrá que estar inscrito es Yahoo! groups para poder acceder a ella (la inscripción es gratuita). Para descargar el programa no es necesario estar inscrito.

      • MCell

        MCell permite explorar el mundo de los autómatas celulares (entre ellos, el famoso "Juego de la vida" de John Conway).

  • Programación.

    • VBP (Visual Basic Profesional)

    • VBA (Visual Basic Aplication)

      • En lo que respecta a la programación, teniendo en cuenta las herramientas citadas más arriba, se puede recomendar como lenguajes de programación:

        • Perl

        • Phython

        • PHP

        • Bash Script

        • C

        • C++

        • Fortran

        Estos son solamente algunos de los lenguajes más utilizados en el mundo académico y de investigación.

  • Proyectos

    • Win Proyect.

      • Planner

        Planner es un programa de gestión de proyectos (planificación, temporización y seguimiento), que permite definir tareas y subtareas, recursos y grupos de recursos, dependencias, mostrar el camino crítico, diagramas Gantt, etc.
        Antes de instalar Planner, se necesita tener instalado GTK+ 2.6.0 (o posterior).

      • GanttProject 2.0.4

        GanttProject permite planificar proyectos mediante diagramas Gantt. Cada proyecto puede dividirse en sub-tareas, con su propia fecha de comienzo, duración, dependencias, progreso y anotaciones. Almacena la información en formato XML y puede exportar imágenes PNG/JPG, páginas web o documentos PDF.
        Es un programa Java, por lo que se necesita tener instalado Java Runtime Environment 1.4.1 (o posterior).

      • GanttPV 0.7

        GanttPV es un sencillo programa de gestión de proyectos ampliable mediante scripts escritos en Python.

      • Open Workbench 1.1.4

        Open Workbench es un programa de gestión y planificación de proyectos en el que se puede definir la estructura detallada del proyecto, definir las dependencias y restricciones de recursos, crear la planificación y monitorizar la ejecución del proyecto.

  • Analisi por envoltura de Datos (DEA)

    • Frontier Analyst Pro.

  • Otras opciones para:

    • Funciones en hojas de Calculo (saber si las populares y
      especificas de Excel lo logramos con el Software libre: matriz
      inversa; programación lineal (solver); tabla combinada; grafica de
      datos; macros en Excel; regresión y correlacion; etc)

      • La utilización de hojas de cálculo está muy extendida y se peude encontrar una variedad de herramientas de hojas de cálculo. En la mayoría de ellas está soportado gran cantidad de funcionalidades, como as que se pueden encontrar en “MS Exel”. Por motivos “Legales” de propiedad de patentes, etc. La implementación de un soporte para la “Programación” de macros utilizada por Microsoft, no es posible en el SL.

        • Open Ofice Calc

        • GNOME Calc

        • KDE Office

    • Base de Datos (registración; vinculación y procesamientos de
      tablas, consultas y reportes).

      • En cuanto al mundo de las bases de datos, existen multitud de herramientas de software libre, algunas extremadamente especializadas, como LDAP, otras de uso más general. Muchas de las empresas desarrolladores de bases de datos tienen disponible sus motores de base de datos de forma gratuita y para plataformas de SL; tal es el caso de SAP, Oracle, IBM, etc.

        • OpenOffice Base

        • MySQL

        • Postgree

        • Dbase

        • LDAP

        • Oracle

        • SAP

        • DB2/3

    • Heurística y Metahuristica (Algoritmo genético; Tabu Search;
      enfriamiento reducido; etc.)

      • Distributed Genetic Programming Framework

        The Distributed Genetic Programming Framework (DGPF) is a scalable Java environment for heuristic, simulation-based search algorithms of any kind and Genetic Algorithms in special. We use the broad foundation of a search algorithms layer to provide a Genetic Programming system which is able to create Turing-complete code.

        The main focus of our project is put on the automated creation of programs that should drive sensor networks. Such programs are instantiated on many automata which are able to communicate with each other wirelessly in an unreliable manner. Therefore, network simulators able to simulate whole networks of such automata are used. By doing so, we hope to be able to create emergent behaviors and self*-properties in large scale distributed systems.

        Our system is not bound to Genetic Programming, nor even bound to Genetic Algorithms at all. You can easily implement other search algorithms (like Simulated Annealing or such and such) and use the distribution utilities to distribute them over a network. In the near future we will implement many of these algorithms ourselves and provide them here.

        While the system can run on a single computer, one of its main strengths is its distribution-ability. Different search algorithms using different distribution mechanisms can easily implemented. You can find versatile implementations of Genetic Algorithms driven by a Genetic Engine in the Genetic Algorithms layer.

        We support four different types of distribution of computational load for our genetic algorithms:

        • 1.local: The whole population runs local, no tasks are distributed.

        • 2.peer-to-peer / island hopping: Big virtual populations can be created if peer-to-peer nodes cooperate in a network.

        • 3. client-server/master-slave: A genetic engine (client/master) uses different servers/slaves to perform the work of reproducing and evaluating individuals. This way, even populations of complicated-to-evaluated individuals can be handled in reasonable time.

        • P2p/cs-hybrid: P2P-networks of genetic engines using the client-server distribution approach can co-operate (event with pure p2p-genetic engines).

          Other search algorithms can simple be implemented too - we've currently added Hill Climbing. Since the distribution tools we use are unified, the Hill Climbing based searches can be distributed in the same way than the Genetic Algorithms. Moreover, bothe search algorithms can interact and form a heterogeneous search. Another nice fact is, that each search algorithm implemented in the framework will automatically come equipped with an auto-adaptive, configurable Tabu Search backend improving problem space examination.

          This Open-Source research project is licensed under LGPL, a license even more liberate than the GPL.

    • MetaHeuristics ToolBox (MHTB) for MATLAB

      • MHTB offers a number of libraries of metaheuristic algorithms implemented in C/C++ and Java to be used from MATLAB. It is aimed at a large number of potential users of the metaheuristic algorithms that, in spite of knowing the MATLAB language quite well, desist from applying these libraries because of their lack of knowledge in the programming languages they are implemented in.

        Although there are some other MATLAB toolboxes that offer metaheuristic algorithms, our software has the following advantages compared to them:

        • The offered libraries are implemented in C/C++ and Java. They are, in general, more efficient than the ones implemented in MATLAB. Furthermore, the amount of available software in those languages widely exceeds the one existing in MATLAB.

        • It allows the parallel execution of the algorithms. Some of the existing toolboxes offer distributed versions of their algorithms, but they can not be physically distributed.

        • It is not limited to a particular metaheuristic, but it covers a broad range in the field of metaheuristics.

        The main features of our toolbox are the following:

        • You can solve optimization problems defined in the MATLAB language using metaheuristic algorithms.

        • You may also implement your own operators in the MATLAB language and use them from the libraries, if they allow it.

        • If you have developed a metaheuristic algorithms library and you want to integrate it into our toolbox, we offer you a guide with the steps you must follow to do it.


  • Tabla de Reemplazo de Software Científicos y Programas Especiales.

Gracias a la colaboración del grupo Misiones Software Libre (MiSoL) y a la participación de Martín Carr, he podido comenzar con éste trabajo.

Estan invitados todos a participar de ella.

Más recursos donde buscar reemplazos de Software:
http://www.linuxrsp.ru/win-lin-soft/index-spanish.html
http://alts.homelinux.net/