Académique Documents
Professionnel Documents
Culture Documents
LuisRodolfoSosaLanda2
usuario,nosoydueodeel.Cuandounprogramadordesarrollaunaaplicacin,loprimeroquehace
paradistribuirlaesarmarunaLICENCIADEUSO.EnlaLicencia,elpropietariodelsoftwaredice
variascosascomolassiguientes:
Quequedeclaroqueelquehizoelprogramafuyo,canejo!
Vospodesusarlo,peroesonotedaderechoacopiarseloatuamigo
Vospodesusarlo,peronopodesvercomolohice
Yvariascosasms.Porlocualdeducimosquecuandounovaaunsupermercadoysecomprauna
versindeMicrosoftWindows,enrealidadnoestcomprandonadamsqueunpermisodeuso.Uno
secreequeeseWindowsesdeuno,peroenrealidadsiguesiendopropiedaddelamigoBill.Yaqu
podemoshacerunaanalogaconlamsica.SitecomprselltimocompactdeU2,esotehacedueo
desuscanciones?Claroqueno!Vossimplementeadquiristeunpermisoparaescucharlascanciones
deU2enelreproductordeCDdetucasa.
Ahorabien,cuandoenesaLicenciaopermisodeusoelprogramadornosrestringeelusodelsoftware
conclausulascomo:
Ud.nopuedeusaresteprogramaenmsdeunacomputadora
Ud.nopuedeusaresteprogramaparaprogramarunabombaatomica
Ud.nopuedeusaresteprogramaparaconectarseaInternet
Entonceselsoftwareseconvierteenprivativo.Osea,nopuedohacerlibreusodeeseprograma.Silo
hago,estoyviolandolaley.
Violando la ley?
Si,violandolaley.SiustedesusanMicrosoftWindows,sesuponequeesporqueaceptaronlalicencia
(elpermisodeuso).Ahorasilousan,peroestanviolandoalgunaclausuladelalicencia,entonces
violanlaley,porquenoestancumpliendoconlasreglasdejuegoquedefiniMicrosoftparacon
Windows.Elsoftwareesunbienyestaprotegidoporlasleyesdederechosdeautor,quienviolalaley,
puedeirpreso.Ojitooooooo
En conclusin...
Laconclusindelaclasedehoyesquedurantemuchosaos,lamayorpartedelosprogramaspara
computadoraseranpropietariosyprivativos.Yesoesmalo,porlaslicenciasprivativassonleoninas.
Ah,nomecreen?TAREAPARALACLASEQUEVIENE:Leerunalicenciadeunprograma
propietarioydeducirsiesprivativoono.Leanlalicenciadeloquequieran:Windows,Office,elMSN,
elICQ,loquesea,peropropietario.Ycomentensobreloqueleyeronenlosforos.Laclasequeviene,
analizaremoslamodalidaddedistribucinquerompicontodosestosmoldesendondelos
programadoressonlosunicosquedefinenlasreglasdejuego,paraequilibrarlabalanzayquetodos,
tantoprogramadorescomousuarios,salganbeneficiados.ELSOFTWARELIBRE.Hastalaprxima!
LuisRodolfoSosaLanda3
La historia de GNU/Linux
Aprincipiosdeladcadadelos80,uncientficodelreadeinteligenciaartifcialdelInstitutode
TecnologadeMassachussets(MIT)llamadoRichardStallman(rms,paralosamigos)decidi
comenzaradesarrollarunsistemaoperativolibre,yaqueensapocalanicaopcinquetenanlos
usuariosdecomputadoreseraladeadquirirunsoftwarepropietario.Elnombredeestesistemaes
GNU,acrnimodelassiglasdelaspalabras'GNUNoesUnix!'.Ladeaprincipaleraqueelsistema
mantengaungradodesimilitudconelyaconocidoUNIXsincompartirunasolalneadecdigo
LuisRodolfoSosaLanda4
fuente.Ideaqueobviamentefuehecharealidadenalgunosaos.Parafinalesdelos80,elsistema
estabaprcticamentecompleto.Sedisponadeeditoresdetexto,interpretesdecomandos,
compiladores,debuggers,etc.Solofaltabauncomponente:elncleo(kernel).Casualmenteenelotro
ladodelmundo(Finlandia)unestudiantellamadoLinusB.Torvaldsdesarrollunncleocompatible
conUNIXsinsaberqueibaaformarpartedelsistemaoperativomsrevolucionariodelmundodela
informatica.AsescomoapareceLinux,elncleodelsistemaGNU.Yesascomohoytenemosun
sistemacompletoanuestradisposicin,elsistemaGNU/Linux.
AhoraquesabenqueelsistemacompletosellamaproyectoGNUyqueLinuxessoloelncleodel
mismo.NolepareceunainjusticiaquetodoelmundolollamesimplementeLinuxasecas?
Lamentablemente,eseconceptoerrneoyaestademasiadoasentadoenlagente,aunquesiempretendr
oportunidaddeexplicaraalguiendedondeprovienerealmenteelnombredelsistema.
En conclusin...
EnestaclasehemospresentadoalSoftwareLibre,yasumayorproyecto:GNU/Linux.Paralasemana
prxima,vayanleyendolalicenciapblicageneral(GPL)yaquelaanalizaremosporcompleto,yen
detalle.
LuisRodolfoSosaLanda5
El prembulo de la licencia
Elpreambuloesunaseccinmuyparticular,quediferenciaalaLicenciaPublicaGeneraldecualquier
otralicenciadecdigoabierto,yaqueactacomointroduccinaloqueeslafilosofadelsoftware
libre.Consloleerelpreambulo,cualquieradeberaentenderdequesetratadelafilosofadel
softwarelibreycualeselespritudelalicenciaGPL.Unapartefundamentaldelprembuloescuando
mencionalosiguiente:
Protegemossusderechosconlacombinacindedosmedidas:
1.Ponemoselsoftwarebajocopyrighty
2.leofrecemosestalicencia,queledapermisolegalparacopiar,distribuiry/omodificarelsoftware.
Esteeselprocedimientocorrectoparaliberarunprogramacomosoftwarelibre.Unavezfinalizado,
debemosregistrardichoprogramaenlaentidadcorrespondiente(osea,ponerelsoftwarebajo
copyright).Luego,alaplicarlelalicenciaGPL,seconvierteenlollamadocopyleft.Almomentode
ponerlobajocopyright,podemosoptarporregistrarloanuestronombre,ocederloalaFundacindel
SoftwareLibreparaqueellosloregistren.
LuisRodolfoSosaLanda6
formas,esrecomendablesiemprequeleanlalicenciacompletaparatenerunmejorcriterio.
Clausula1:AlmencionarCualquierotraactividadquenosealacopia,distribucinomodificacinno
estcubiertaporestaLicencia,estfueradesumbito,nosestdiciendoquedichalicenciasolosirve
paradefinirlasreglasdejuegoencuantoacopia,distribucionymodificacindesoftware.Ninguna
otraactividadestcontemplada.
Clausula2:Estaclausulanosindicaquepodemosrealizarcopiasliteralesdelprograma,siemprey
cuandomantengamoselanunciodecopyrightcorrespondiente.
Clausula3:Estaclausulanosindicaquepodemosmodificarelcdigofuentedeunprograma,siempre
ycuandoindiquemosenelcdigofuenteunanunciodequienesquehizoelcdigooriginal,yque
cosasfueroncambiadas.Otrorequisitoesquelostrabajosmodificados,debenserlicenciadoconla
mismalicenciaGPL.Estoes,nosepuedecambiarlalicenciadeunprogramaGPL.
Clausula4:Elcdigofuentesedebeincluirenelprograma.Sinoloqueremosincluir(porxrazn),
entoncesdebemosponerunanotadeofrecimientoquedigaalgocomosiquereselcdigofuente,
entraentalservidor,omandameunmailoloquesea,perosiempredebedeexistirunamanerade
accederalcdigofuente.
Clausula5:Nosepuedecopiarnimodificarlosprogramasdeotraformaacomoloindicalalicencia.
Osea,nosepuedemodificarunprogramaycambiarleelanunciodecopyright,onosepuedecopiarun
programaynoofrecerelcdigofuente,etc...
Clausula6:Elsolouso,modificacinodistribucindeunprogramadesoftwarelibreesindicativode
queaceptamoslalicenciapblicageneral.
Clausula7:Todaslascopiasdeprogramasdesoftwarelibredebenincluirunarchivoquecontengala
licenciapblicageneral.
Clausula8:Estepuntoesmuyclaro:Sinopuederealizardistribucionesdeformaquesesatisfagan
simultneamentesusobligacionesbajoestalicenciaycualquierotraobligacinpertinenteentonces,
comoconsecuencia,nopuededistribuirelProgramadeningunaforma.Inclusosiporresolucin
judicialnopuedorespetaralgunadelasclausulasdelalicencia,entonceslomejoresdirectamenteno
utilizarelprograma.
Clausula9:Esposibleaadirunanotaderestriccingeograficaenlaqueindicamosqueno
recomendamoselusodelprogramaenciertospases,porquedichospaisesnoproveenleyesquenos
asegurenquelasclausulasdelalicenciasevayanacumplir.
Clausula10:LaFSFlanzarnuevasversionesdelalicencia,peroexistirasiempreretro
compatibilidad.
Clausula11:Estepuntotambienesmuysencillo:SiquiereincorporarpartesdelProgramaenotros
programaslibrescuyascondicionesdedistribucinsondiferentes,escribealautorparapedirle
permiso..Pedirpermisoesalgomuycomnenelmundodelsoftwarelibre,yesmuchomsqueuna
cuestintica.
La ausencia de garanta
Eltemadelaausenciadegarantaesmuyimportante.Uds.dirn,comoesquenadiesehacecargosi
LuisRodolfoSosaLanda7
micomputadoraexplotaporusarsoftwarelibre.Buenoamigos,quelacomputadoraexploteesmuy
improbable...perolacuestinesqueporejemplo,yohagounprogramaloliberocomosoftwarelibre...
lagentecomienzaahacerlemodificacionessinpedirmepermiso...puedohacermecargodealgoque
nohiceyo?Claroqueno!Entonces,estepuntoesimportantisimoparaprotegeralosprogramadores.
Ahorabien,muchasempresasyprogramadoresindependientesoptanporSIbrindargarantia,y
entoncescuandoesosucede,loagregancononotaalfinaldelalicencia.Lasgarantassebrindan
generlamentecuandoelusuarioestutilizandounaversindelprogramadirectamenteprovistaporuna
empresa,oporsudesarrollador.Sinintermediariosquehayanpodidorealizarmodificaciones.
En conclusin...
Finalmente,lalicenciaincluyealfinal,unaguadepasosaseguirparapoderaplicarlaanuestros
nuevosprogramas.Esmuysencillo.Detodasformas,sitienendudas,losinvitoarealizarlaspreguntas
correspondientesenelforo,astodoslosalumnospuedenleerlasrespuestas.Laclasequeviene,
veremosotramodalidadpopulardedistribucindesoftware:Elcodigoabierto(OpenSource).
El cdigo abierto
Elcdigoabiertoesunamodalidaddedesarrolloydistribucindesoftwarequenacienelao1998
delamanodegenioscomoEricRaymond,popularGurudelmundodeLinux.
Todonaceconunhechomuypuntual.EricRaymonescribeundocumentollamado"Lacatedralyel
bazar"(querecomiendosulecturaatodoslosalumnos),enelcualEricdescribecomoelmtodode
abrirelcdigodeunproyectopropioletrajomuchosbeneficios.Enresumidascuentas,Ericcuentaun
pocolahistoriadecomocreounprograma,lopusoenInternetconsucodigofuente,ycientosde
personascomenzaronacolaborarparamejorarlo.Suprogramasevolviotodounexitoyhoyesmuy
poderoso.Sihubieratrabajadosolo,nuncahubierapodidodesarrollartantasfuncionalidadesparasu
programa.
Estedocumento,loleyunaltofuncionariodeNetscapequeseconvencidequeelabrirelcdigoera
elfuturodelaprogramacinyentoncesliberelcdigodeNetscape(si,elpopularnavegadorweb).
EsaliberacindelcdigopermitiquehoyexistaloqueconocemoscomoproyectoMozillaysus
derivados(Firefox,Thunderbird,etc).
Porotraparte,EricRaymonnoestabadeacuerdoconRichardStallmanenmuchosaspectosdela
filosofadelaLicenciaPublicaGeneral.Poreso,juntoaungrupodeexpertos,decidicrearloquese
llamalaIniciativaOpenSource.
LuisRodolfoSosaLanda8
En conclusin
LoprimeroquesacamosdeconclusinesqueladiferenciaprincipalentreSoftwareLibreyCodigo
Abierto,masalladelafilosofia,esquelosprogramasdeSoftwareLibreestnregidosporunalicencia
quesellamaGPL.Ylosprogramasdecodigoabiertoestnregidosporunalicenciaquepuedeonoser
LuisRodolfoSosaLanda9
laGPL,peroquedebesercompatibleconladefinicinOSI.
LosinvitoahoraaentraralsitiodeOpenSource,descargarlafundamentacinOSIysacarsuspropias
conclusionesencuantoadiferenciasentreestosdosmovimientos.Elsitioesten
www.opensource.org.
LuisRodolfoSosaLanda10
medidaqueelproyectocrece,lagentecomienzaacolaboraryseformanlosgruposanteriormente
descriptos.CuandounapersonahaceunproyectonuevoyloponeenInternetporprimeravez,esa
personaeselprogramador,ellider,eldesarrolladordedocumentacin,elencargadodeprobarlo,etc
Empiezadecero,yamedidaquelagenecomienzaacolaborar,delegatareas.
Relacin usuario-proyecto
Losusuariosdecdigoabierto,generalmentegozandepuertasabiertasdecomunicacinpara
contactarseconlosresponsablesdelasdiferentesreasdedesarrollodelproyecto.Losrecursosde
comunicacinsonbsicamente3:
Listasdecorreodeusuarios(users)
Forosdediscusinenelsitiodelproyecto
Accesoalsistemadebugtracking.
Comovern,todossonserviciosdecomunicacinmontadossobrelaInternet,queeslagran
responsabledelxitoquegozanelcdigoabiertoyelsoftwarelibre.
El sistema de bugtracking
Elsistemaderegistracionyadministracindeerrores(bugtracking)esgeneralmenteunsistema
publico,desarrolladoenalgnlenguajequepermitamanejarelprogramadesdeunainterfazweb(PHP
oPerl,porejemplo).Endichosistema,losusuariosdelprogramapuedenreportarloserroresque
encontraronmientrasusabandichaaplicacion.Adems,legentedelgrupodetesterstambienincluye
suspropiosreportes.Luego,elresponsabledelgrupodeprogramadoresinternos(devel)seencargade
asignartareasalosprogramadoresparairsolucionandotodoslosproblemasreportados.Cuandose
reportaunerror,generalmenteseregistranlossiguientesdatos:Fechadereporte
Numerodeerror
Titulodelerror
Descripcioncorta
Descripcionlarga
Nombredelapersonaqueloreporta
Aquienfu?asignadalatareadesolucionarlo
Estadodelerror(pendienteasignacion,asignado,corregido).
Paraverunsistemadebugtrackingenvivoyendirecto,puedenvisitarelsitiowww.sourceforge.nety
accederacualquierproyectoalojadoall.Luego,vayanalaseccion"Bugs".
En conclusin
Enestaclase,hemosanalizadocualessontodoslosgruposdepersonasqueconformanunproyectode
cdigoabierto,ycualeslatareadecadaunodeellos.Esesencialqueingresenasitiosdeproyectos
LuisRodolfoSosaLanda11
abiertosparavermsfcilmenteestosgrupos.ElsitioSourceForge(mencionadoanteriormente)esuna
excelenteopcin.
LuisRodolfoSosaLanda12
fuenteycuandoveanunRPMounDEB,esaltamenteprobablequesetratedeunbinariofacilde
instalar.
LuisRodolfoSosaLanda13
utilizanelnmerodelmedioparaindicarsiunprogramaesestableoinestable.Losprogramasestables
sonaquellosquefueronprobadosyseconsideraquelospuedeutilizarelpblicomasivo.Lasversiones
inestables,sonversionesdepruebaparadesarrolladores.Comoseindicaestoenelnmerode
versin?Utilizandounnmeroparcomosegundodgitoestamosindicandoqueesunaversinestable.
Unnmeroimparindicaqueesunaversininestable.Veamosunejemplo:
2.2.5Esunaversinestabledelprograma.
2.3.5Esunaversininestable.
2.3.6OJO!Notodoslosprogramassiguenestaconvencin.Unejemplodeproyectoqueslasiguees
elncleoGNU/Linux.Unncleodelaserie2.6.0esestable,yunncleodelaserie2.5.0esinestable.
Para la prxima...
Laprximaaprenderemosainstalarprogramasdesdeelcdigofuente.Vayanbajandoseprogramasen
formato.tar.gzeidentifiquentodoslosdatosquelesofreceelnombredelarchivo.Busquenla
documentacinquemencionamosanteriormenteallidentrotambien(elarchivoLICENCE,
AUTHORS,etc).Hastalaprxima!
LuisRodolfoSosaLanda14
distribucionesmspopulares,yelrestoquesearregleconelcdigofuente.Enteoria,cuando
cualquierprogramapuedeserinstaladoencualquierdistribucin,contanslousarelcdigofuente.
LuisRodolfoSosaLanda15
Entonces,unavezcreado,procedemosacompilarlaaplicacinconelsiguientecomando:
make
Elprocesopuededurarminutos,horasodias,segunlaaplicacinyeldesempeodenuestroequipo.
Unavezfinalizadoelproceso,elcomandomakegeneraunarchivobinariolistoparaserusado.Lo
nicoqueresta,esquedichobinarioylosdemsarchivosdelprograma,estnubicadoscadaunoenel
directorioquelescorresponde.Paraesto,tipeamoselltimocomando:
makeinstall
Entonces,unavezcopiadacadacosaasulugar,podemosutilizarlaherramienta.
En conclusin...
Enestaclasehetratadodedescribircomoseinstalaunprogramadesdelasfuentes,comovernel
procesoparecesencillo,peroelproblemadelasdependenciasnosaquejaatodos.Lesrepito,sinoles
funcionalaprimeravez,nosesientanfrustrados,atodosnospasahabitualmenteytodocuestinde
leerbienlosarchivosdedocumentacinincluidosencadapaquetedeinstalacin.
LuisRodolfoSosaLanda16
Metodologasdedesarrolloesunamateriaquetuvoporobjetivopresentarlasmodalidadesde
desarrolloydistribucindesoftwareajenasalapopularmenteconocidamodalidad"propietaria".
Hemosvistoprincipalmentedosmodalidades:SoftwareLibreyOpenSource.Sibienambasmantienen
espiritussimilares,tienengrandesdiferenciastantotecnicascomofilosoficas.Sinoquedaronclaras,
porfavorvuelvanaleerlasclasescorrespondientesypreguntenenlosforos.
La evaluacin
Proximamenteestardisponiblelaevaluacinparaquelarealicen.Esmultiplechoiceynoesmuy
compleja,perolesrecomiendoquevuelvanaleercadaclase,paraaprobarladeunaynotenerque
rehacerlamsadelante.Muchasuerte,yestoyenlosforosparaayudarlosenloquenecesiten.