Buscar en el Blog

domingo, 19 de febrero de 2012

Metodología para el Análisis
de Requisitos de Sistemas Software

Versión 2.2

Amador Durán Toro
Beatriz Bernárdez Jiménez
Departamento de Lenguajes y Sistemas Informáticos
Escuela Técnica Superior de Ingeniería Informática
Sevilla, diciembre de 2001

78 paginas

Descargar 
Pass: infotutoriales

Contabilidad de Costos

Contabilidad de Costos
Rafael Piña Perez
Mexico 2009
127 paginas

Pass: infotutoriales

Contabilidad Financiera. Quinta Edicion. Gerardo Guajardu Cantú

Contabilidad Financiera. Quinta Edicion. 
Gerardo Guajardu Cantú
Nora E. Andrade de Guajardu
539 paginas


Fundamentos de Programacion. Tercera Edicion. Luis Joyanes Aguilar

Fundamentos de Programacion. Tercera Edicion. Luis Joyanes Aguilar

Algoritmos, estructuras de datos y objetos

Descargar
Pass: infotutoriales

BASES DE DATOS CON SQL SERVER 2000. TRANSACT SQL

BASES DE DATOS CON SQL SERVER 2000. TRANSACT SQL

Descargar
Pass: infotutoriales

El lenguaje de programación C#


 El lenguaje de programación C#

  • INTRODUCCIÓN A LA OBRA 7
    REQUISITOS PREVIOS RECOMENDADOS 7
    ESTRUCTURA DE LA OBRA 7
    CONVENCIONES DE NOTACIÓN UTILIZADAS 7
    TEMA 1: INTRODUCCIÓN A MICROSOFT.NET 9
    MICROSOFT.NET 9
    COMMON LANGUAGE RUNTIME (CLR) 9
    MICROSOFT INTERMEDIATE LANGUAGE (MSIL) 12
    METADATOS 14
    ENSAMBLADOS 15
    LIBRERÍA DE CLASE BASE (BCL) 18
    COMMON TYPE SYSTEM (CTS) 19
    COMMON LANGUAGE SPECIFICATION (CLS) 19
    TEMA 2: INTRODUCCIÓN A C# 21
    ORIGEN Y NECESIDAD DE UN NUEVO LENGUAJE 21
    CARACTERÍSTICAS DE C# 21
    ESCRITURA DE APLICACIONES 26
    APLICACIÓN BÁSICA ¡HOLA MUNDO! 26
    PUNTOS DE ENTRADA 28
    COMPILACIÓN EN LÍNEA DE COMANDOS 28
    COMPILACIÓN CON VISUAL STUDIO.NET 30
    TEMA 3: EL PREPROCESADOR 35
    CONCEPTO DE PREPROCESADOR 35
    DIRECTIVAS DE PREPROCESADO 35
    CONCEPTO DE DIRECTIVA. SINTAXIS 35
    DEFINICIÓN DE IDENTIFICADORES DE PREPROCESADO 36
    ELIMINACIÓN DE IDENTIFICADORES DE PREPROCESADO 37
    COMPILACIÓN CONDICIONAL 37
    GENERACIÓN DE AVISOS Y ERRORES 40
    CAMBIOS EN LA NUMERACIÓN DE LÍNEAS 40
    MARCACIÓN DE REGIONES DE CÓDIGO 41
    TEMA 4: ASPECTOS LÉXICOS 43
    COMENTARIOS 43
    IDENTIFICADORES 44
    PALABRAS RESERVADAS 44
    LITERALES 46
    OPERADORES 48
    TEMA 5: CLASES 55
    El lenguaje de programación C# Índice
    José Antonio González Seco Página 2
    DEFINICIÓN DE CLASES 55
    CONCEPTOS DE CLASE Y OBJETO 55
    SINTAXIS DE DEFINICIÓN DE CLASES 55
    CREACIÓN DE OBJETOS 58
    OPERADOR NEW 58
    CONSTRUCTOR POR DEFECTO 60
    REFERENCIA AL OBJETO ACTUAL CON THIS 61
    HERENCIA Y MÉTODOS VIRTUALES 61
    CONCEPTO DE HERENCIA 61
    LLAMADAS POR DEFECTO AL CONSTRUCTOR BASE 63
    MÉTODOS VIRTUALES 64
    CLASES ABSTRACTAS 66
    LA CLASE PRIMEGENIA: SYSTEM.OBJECT 67
    POLIMORFISMO 70
    CONCEPTO DE POLIMORFISMO 70
    MÉTODOS GENÉRICOS 71
    DETERMINACIÓN DE TIPO. OPERADOR IS 72
    ACCESO A LA CLASE BASE 72
    DOWNCASTING 74
    CLASES Y MÉTODOS SELLADOS 74
    OCULTACIÓN DE MIEMBROS 75
    MIEMBROS DE TIPO 81
    ENCAPSULACIÓN 81
    TEMA 6: ESPACIOS DE NOMBRES 85
    CONCEPTO DE ESPACIO DE NOMBRES 85
    DEFINICIÓN DE ESPACIOS DE NOMBRES 85
    IMPORTACIÓN DE ESPACIOS DE NOMBRES 86
    SENTENCIA USING 86
    ESPECIFICACIÓN DE ALIAS 88
    ESPACIO DE NOMBRES DISTRIBUIDOS 90
    TEMA 7: VARIABLES Y TIPOS DE DATOS 91
    DEFINICIÓN DE VARIABLES 91
    TIPOS DE DATOS BÁSICOS 92
    TABLAS 94
    TABLAS UNIDIMENSIONALES 94
    TABLAS DENTADAS 96
    TABLAS MULTIDIMENSIONALES 97
    TABLAS MIXTAS 99
    COVARIANZA DE TABLAS 99
    LA CLASE SYSTEM.ARRAY 99
    CADENAS DE TEXTO 100
    CONSTANTES 105
    VARIABLES DE SÓLO LECTURA 106
    ORDEN DE INICIALIZACIÓN DE VARIABLES 107
    TEMA 8: MÉTODOS 109
    CONCEPTO DE MÉTODO 109
    El lenguaje de programación C# Índice
    José Antonio González Seco Página 3
    DEFINICIÓN DE MÉTODOS 109
    LLAMADA A MÉTODOS 110
    TIPOS DE PARÁMETROS. SINTAXIS DE DEFINICIÓN 111
    PARÁMETROS DE ENTRADA 111
    PARÁMETROS DE SALIDA 112
    PARÁMETROS POR REFERENCIA 113
    PARÁMETROS DE NÚMERO INDEFINIDO 113
    SOBRECARGA DE TIPOS DE PARÁMETROS 114
    MÉTODOS EXTERNOS 114
    CONSTRUCTORES 115
    CONCEPTO DE CONSTRUCTORES 115
    DEFINICIÓN DE CONSTRUCTORES 116
    LLAMADA AL CONSTRUCTOR 116
    LLAMADAS ENTRE CONSTRUCTORES 117
    CONSTRUCTOR POR DEFECTO 118
    LLAMADAS POLIMÓRFICAS EN CONSTRUCTORES 119
    CONSTRUCTOR DE TIPO 120
    DESTRUCTORES 121
    TEMA 9: PROPIEDADES 125
    CONCEPTO DE PROPIEDAD 125
    DEFINICIÓN DE PROPIEDADES 125
    ACCESO A PROPIEDADES 126
    IMPLEMENTACIÓN INTERNA DE PROPIEDADES 127
    TEMA 10: INDIZADORES 129
    CONCEPTO DE INDIZADOR 129
    DEFINICIÓN DE INDIZADOR 129
    ACCESO A INDIZADORES 130
    IMPLEMENTACIÓN INTERNA DE INDIZADORES 131
    TEMA 11: REDEFINICIÓN DE OPERADORES 133
    CONCEPTO DE REDEFINICIÓN DE OPERADOR 133
    DEFINICIÓN DE REDEFINICIONES DE OPERADORES 134
    SINTAXIS GENERAL DE REDEFINICIÓN DE OPERADOR 134
    REDEFINICIÓN DE OPERADORES UNARIOS 136
    REDEFINICIÓN DE OPERADORES BINARIOS 137
    REDEFINICIONES DE OPERADORES DE CONVERSIÓN 138
    TEMA 12: DELEGADOS Y EVENTOS 143
    CONCEPTO DE DELEGADO 143
    DEFINICIÓN DE DELEGADOS 143
    MANIPULACIÓN DE OBJETOS DELEGADOS 145
    LA CLASE SYSTEM.MULTICASTDELEGATE 148
    LLAMADAS ASÍNCRONAS 149
    IMPLEMENTACIÓN INTERNA DE LOS DELEGADOS 152
    EVENTOS 154
    El lenguaje de programación C# Índice
    José Antonio González Seco Página 4
    CONCEPTO DE EVENTO 154
    SINTAXIS BÁSICA DE DEFINICIÓN DE DELEGADOS 154
    SINTAXIS COMPLETA DE DEFINICIÓN DE DELEGADOS 154
    TEMA 13: ESTRUCTURAS 157
    CONCEPTO DE ESTRUCTURA 157
    DIFERENCIAS ENTRE CLASES Y ESTRUCTURAS 157
    BOXING Y UNBOXING 158
    CONSTRUCTORES 160
    TEMA 14: ENUMERACIONES 163
    CONCEPTO DE ENUMERACIÓN 163
    DEFINICIÓN DE ENUMERACIONES 163
    USO DE ENUMERACIONES 165
    LA CLASE SYSTEM.ENUM 166
    TEMA 15: INTERFACES 167
    CONCEPTO DE INTERFAZ 167
    DEFINICIÓN DE INTERFACES 167
    IMPLEMENTACIÓN DE INTERFACES 169
    ACCESO A MIEMBROS DE UNA INTERFAZ 172
    TEMA 16: INSTRUCCIONES 175
    CONCEPTO DE INSTRUCCIÓN 175
    INSTRUCCIONES BÁSICAS 175
    DEFINICIONES DE VARIABLES LOCALES 175
    ASIGNACIONES 176
    LLAMADAS A MÉTODOS 176
    INSTRUCCIÓN NULA 176
    INSTRUCCIONES CONDICIONALES 176
    INSTRUCCIÓN IF 176
    INSTRUCCIÓN SWITCH 177
    INSTRUCCIONES ITERATIVAS 179
    INSTRUCCIÓN WHILE 179
    INSTRUCCIÓN DO...WHILE 180
    INSTRUCCIÓN FOR 180
    INSTRUCCIÓN FOREACH 181
    INSTRUCCIONES DE EXCEPCIONES 185
    CONCEPTO DE EXCEPCIÓN. 185
    LA CLASE SYSTEM.EXCEPTION 186
    EXCEPCIONES PREDEFINIDAS COMUNES 187
    LANZAMIENTO DE EXCEPCIONES. INSTRUCCIÓN THROW 188
    CAPTURA DE EXCEPCIONES. INSTRUCCIÓN TRY 188
    INSTRUCCIONES DE SALTO 193
    INSTRUCCIÓN BREAK 193
    INSTRUCCIÓN CONTINUE 194
    INSTRUCCIÓN RETURN 194
    El lenguaje de programación C# Índice
    José Antonio González Seco Página 5
    INSTRUCCIÓN GOTO 194
    INSTRUCCIÓN THROW 196
    OTRAS INSTRUCCIONES 196
    INSTRUCCIONES CHECKED Y UNCHECKED 196
    INSTRUCCIÓN LOCK 197
    INSTRUCCIÓN USING 198
    INSTRUCCIÓN FIXED 200
    TEMA 17: ATRIBUTOS 201
    CONCEPTO DE ATRIBUTO 201
    UTILIZACIÓN DE ATRIBUTOS 201
    DEFINICIÓN DE NUEVOS ATRIBUTOS 203
    ESPECIFICACIÓN DEL NOMBRE DEL ATRIBUTO 203
    ESPECIFICACIÓN DEL USO DE UN ATRIBUTO 203
    ESPECIFICACIÓN DE PARÁMETROS VÁLIDOS 205
    LECTURA DE ATRIBUTOS EN TIEMPO DE EJECUCIÓN 205
    ATRIBUTOS DE COMPILACIÓN 209
    ATRIBUTO SYSTEM.ATTRIBUTEUSAGE 209
    ATRIBUTO SYSTEM.OBSOLETE 209
    ATRIBUTO SYSTEM.DIAGNOSTICS.CONDITIONAL 209
    TEMA 18: CÓDIGO INSEGURO 211
    CONCEPTO DE CÓDIGO INSEGURO 211
    COMPILACIÓN DE CÓDIGOS INSEGUROS 211
    MARCACIÓN DE CÓDIGOS INSEGUROS 212
    DEFINICIÓN DE PUNTEROS 213
    MANIPULACIÓN DE PUNTEROS 214
    OBTENCIÓN DE DIRECCIÓN DE MEMORIA. OPERADOR & 214
    ACCESO A CONTENIDO DE PUNTERO. OPERADOR * 215
    ACCESO A MIEMBRO DE CONTENIDO DE PUNTERO. OPERADOR -> 215
    CONVERSIONES DE PUNTEROS 216
    ARITMÉTICA DE PUNTEROS 217
    OPERADORES RELACIONADOS CON CÓDIGO INSEGURO 218
    OPERADOR SIZEOF. OBTENCIÓN DE TAMAÑO DE TIPO 218
    OPERADOR STACKALLOC. CREACIÓN DE TABLAS EN PILA. 219
    FIJACIÓN DE VARIABLES APUNTADAS 220
    TEMA 19: DOCUMENTACIÓN XML 223
    CONCEPTO Y UTILIDAD DE LA DOCUMENTACIÓN XML 223
    INTRODUCCIÓN A XML 223
    COMENTARIOS DE DOCUMENTACIÓN XML 225
    SINTAXIS GENERAL 225
    EL ATRIBUTO CREF 225
    ETIQUETAS RECOMENDADAS PARA DOCUMENTACIÓN XML 227
    ETIQUETAS DE USO GENÉRICO 228
    ETIQUETAS RELATIVAS A MÉTODOS 228
    ETIQUETAS RELATIVAS A PROPIEDADES 229
    ETIQUETAS RELATIVAS A EXCEPCIONES 230
    ETIQUETAS RELATIVAS A FORMATO 230
    El lenguaje de programación C# Índice
    José Antonio González Seco Página 6
    GENERACIÓN DE DOCUMENTACIÓN XML 232
    GENERACIÓN A TRAVÉS DEL COMPILADOR EN LÍNEA DE COMANDOS 232
    GENERACIÓN A TRAVÉS DE VISUAL STUDIO.NET 234
    ESTRUCTURA DE LA DOCUMENTACIÓN XML 235
    SEPARACIÓN ENTRE DOCUMENTACIÓN XML Y CÓDIGO FUENTE 237
    TEMA 20: EL COMPILADOR DE C# DE MICROSOFT 239
    INTRODUCCIÓN 239
    SINTAXIS GENERAL DE USO DEL COMPILADOR 239
    OPCIONES DE COMPILACIÓN 241
    OPCIONES BÁSICAS 241
    MANIPULACIÓN DE RECURSOS 244
    CONFIGURACIÓN DE MENSAJES DE AVISOS Y ERRORES 245
    FICHEROS DE RESPUESTA 247
    OPCIONES DE DEPURACIÓN 249
    COMPILACIÓN INCREMENTAL 250
    OPCIONES RELATIVAS AL LENGUAJE 251
    OTRAS OPCIONES 252
    ACCESO AL COMPILADOR DESDE VISUAL STUDIO.NET 254
    DOCUMENTACIÓN DE REFERENCIA 257
    BIBLIOGRAFÍA 257
    INFORMACIÓN EN INTERNET SOBRE C# 257
    PORTALES 258
    GRUPOS DE NOTICIAS Y LISTAS DE CORREO 258

Descargar 
Pass: infotutoriales

SISTEMA GESTOR DE BASES DE DATOS .NET

SISTEMA GESTOR DE BASES DE DATOS .NET
Presentado por:
Javier González Chacón, José María Marín del Valle e Irene Parrón Carrascal
Resumen
Temática del proyecto.

El proyecto trata de la investigación y el desarrollo de una aplicación que proporcione una herramienta extensible y de fácil manejo para el acceso a bases de datos a través de interfaz Windows o Web. Y que sea independiente de la base de datos utilizada. Ha sido íntegramente desarrollada con Framework SDK 2.0 de .NET y Visual Studio.NET.2005
¿Por qué .NET?
Porque .NET es la nueva apuesta multiplataforma de Microsoft para crear una nueva plataforma de desarrollo de software con énfasis en transparencia de redes y que permita un rápido desarrollo de aplicaciones, en respuesta al creciente mercado de los negocios en entornos Web, como competencia a la plataforma Java de Sun Microsystems. Nos pareció interesante entrar en el “mundo .NET” y comenzar a aprender su lenguaje, C#, un gran desconocido para nosotros, a pesar del esfuerzo adicional que esto llevaba
consigo. Porque la plataforma .NET acepta varios lenguajes. Por ahora, C#, Visual Basic, C++ gestionado, Nemerle, FORTRAN, Java, Python, etc…, y tiene capacidad suficiente para aceptar prácticamente cualquier lenguaje.


Programacion Visual Basic (VBA) para Excel y Analisis Numerico

Programacion Visual Basic (VBA) para Excel y Analisis Numerico
M.Sc. Walter Mora F., M.Sc. Jose Luis Espinoza B.
Escuela de Matematica
Instituto Tecnologico de Costa Rica
Octubre 2005
Version 0.1


Contenidos
1 Programacion Visual Basic (VBA) para Excel 3
1.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Evaluacion de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Funciones de¯nidas por el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.2 Errores comunes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.3 Evaluando una funcion en varios tipos de parametros . . . . . . . . . . . . . . . . . . . . . 5
1.3 Graficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 Programacion de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.1 Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.4.2 Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.5 Elementos de programacion en VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1 Flujo secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.2 Flujo condicional (If - Else) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.3 Flujo repetitivo (For-Next, While-Wend, Do While-Loop) . . . . . . . . . . . . . . . . . 16
1.5.4 Manejo de rangos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.5 Subrutinas. Edicion y ejecucion de una subrutina . . . . . . . . . . . . . . . . . . . . . . . 23
1.5.6 Ejecucion de una subrutina mediante un boton . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5.7 Matrices dinamicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.5.8 Inclusion de procedimientos de borrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.6 Evaluando expresiones matematicas escritas en lenguaje matematico comun . . . . . . . . . . . . 38
1.6.1 Usando clsMathParser. Sintaxis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6.2 Ejemplo: un graficador 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.6.3 Ejemplo: un graficador de superficies 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.6.4 Ejemplo: series numericas y series de potencias . . . . . . . . . . . . . . . . . . . . . . . . 49
2 Elementos de Analisis Numerico 54
2.1 Solucion de ecuaciones de una variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.1.1 Metodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2 Integracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.2.1 Metodo de Romberg para integracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.2.2 La funcion Gamma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.2.3 Cuadratura gaussiana e integral doble gaussiana. . . . . . . . . . . . . . . . . . . . . . . . 59
2.3 Problemas de valor inicial para ecuaciones diferenciales ordinarias . . . . . . . . . . . . . . . . . . 66
2.3.1 Existencia y unicidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.3.2 Metodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.3.3 Metodos de Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

C++/ OOP UN ENFOQUE PRÁCTICO - RICARDO DEVIS BOTELLA -291 pag


C++/ OOP UN ENFOQUE PRÁCTICO - RICARDO DEVIS BOTELLA
INTRODUCCIÓN 
Es costumbre que las primeras líneas de un texto procuren, de alguna manera, al lector una suerte de explicación del talante y ánimo del autor al escribir la obra que tiene ante sí. Bien: he aquí un enésimo libro sobre C++ y -¿cómo no?- sobre Programación Orientada a Objetos. De acuerdo,
pensará el lector, pero ¿por qué éste y no otro?; o mejor, ¿qué tiene de especial el presente texto? Y la respuesta es... ¡una intención eminentemente didáctica! Lo que se pretende es introducir al lector en los esquemas básicos de la programación orientada-a-objetos -que en adelante llamaremos OOPa
través del uso de un lenguaje de amplia aceptación industrial, cual es C++. La aproximación será, sobre todo, práctica: procuraré no perderme en la maraña de siglas y conceptos que pueblan esta metodología y que frecuentemente desaniman al principiante, de forma que, tras el inevitable discurso teórico, siempre se buscará la aplicación concreta de lo expuesto mediante código en C++. Se trata, pues, de una introducción al lenguaje C++, pero, atención, utilizando de forma inseparable las técnicas y conceptos de OOP. El texto también quiere ser, por fin, ameno y, en lo posible, divertido: la tradición norteamericana de obras en las que el rigor no está reñido con un cierto humor, en ocasiones salvaje, será aquí observada con cierta complacencia. El tono será, pues, desenfadado pero exacto: a veces elemental, a veces no tanto.



libro: Software libre para una sociedad libre - Richard M. Stallman


Software libre para una
sociedad libre
Richard M. Stallman

índice
Acerca de la presente edición: 9
Introducción: Lawrence Lessig 11
SECCIÓN UNO. EL PROYECTO GNU Y EL SOFTWARE LIBRE 17
1. El proyecto GNU 19
2. El manifiesto GNU 45
3. La definición de software libre 59
4. Por qué el software libre no debe tener propietarios 63
5. Qué encierra un nombre 71
6. Por qué «software libre» es mejor que «open source» 75
7. Cómo promover el software libre si trabajas en la universidad 83
8. Vendiendo software libre 87
9. El software libre necesita documentación libre 91
10. La canción del software libre 95
SECCIÓN DOS. COPYRIGHT, COPYLEFT Y PATENTES 97
11. El derecho a leer 99
12. Malinterpretar el copyright: una sucesión de errores 105
13. La ciencia debe rechazar el copyright» 121
14. ¿Qué es el copyleft? 125
15. Copyleft: idealismo pragmático 129
16. El peligro de las patentes del software 133
SECCIÓN TRES. LIBERTAD, SOCIEDAD Y SOFTWARE 159
17. ¿Puedes confiar en tu ordenador? 161
18. Por qué el software debe ser libre 167
19. Copyright y globalización en la era de las redes informáticas 191
20. Software libre: libertad y cooperación 223
21. Algunas palabras que se deben evitar 273
SECCIÓN CUATRO. LICENCIAS 159
Licencia Pública General GNU [GNU-GPL] 283
Licencia Pública General Menor GNU [GNU-LGPL] 294
Licencia de Documentación Libre GNU [GNU-FDL]