firmen
un

acuerdo

legal

para

evitar

cualquier
conflicto relacionado con o con derechos de autor.
Los
sistemas

de

control

distribuido

de
versiones
suelen

usarse

en

conjunto

con
sistemas
de

seguimiento

de

errores

o

bug
tracking.
Estos

sistemas

permiten

llevar
registro
de

los

bugs

presentes

dentro

de

un
software,
aunque

en

realidad

su

uso

se

ha
ampliado
para

registrar no

sólo

los

bugs

sino
también
los

features

o

características
pendientes
por

implementar

dentro

de

un
proyecto. Es posible abrir bugs nuevos cuando
han sido reportados, cerrarlos cuando han sido
resueltos,
y

llevar

registro

de

la

prioridad,

los
casos de prueba y los comentarios en torno a
cada bug. Los sistemas de bug tracking suelen
estar integrados o al menos vinculados con los
sistemas
de

control

de

versiones,

de

forma
que
es

posible,

por

ejemplo,

decir que

el

pull
request #38 resuelve el bug relacionado con la
barra de búsqueda.
En
los

inicios

de

la

programación

durante

las
décadas
de

1950

y

1960,

el

concepto

de
software propietario no había sido desarrollado
y
por

lo

tanto

todo

el

software

era

en

efecto
software libre y de código abierto. La mayoría
de
los

programas

eran

desarrollados

en
colaboración entre instituciones académicas e
investigadores
pertenecientes

al

sector
privado, por lo tanto, eran compartidos bajo el
principio
de

colaboración

abierta

que
prevalecía
en

la

academia.

Además,
generalmente
los

programas

tenían

que

ser
recompilados
y

modificados

para

poder
ejecutarse
en

nuevo

hardware,

por

lo

tanto,
era común distribuir el código fuente junto con
el programa en a en lenguaje de máquina.
A finales de la década de 1970 y principios de
1980,
un

número

creciente

de

empresas
dedicadas
exclusivamente

al

desarrollo

de
software
empezó

a

comercializar

licencias

de
software. Esto fue consecuencia natural de la
complejidad
creciente

del

software.

Además,
estas
empresas

competían

con

las

empresas
de
hardware,

quienes

desarrollaban

software
para
ser

incluido

en

sus

máquinas.

Por

otra
parte, en 1974 una comisión del Congreso de
los
Estados

Unidos

decidió

que

el

software
podía ser protegido por derechos de autor. El
movimiento
del

software

libre

comenzó

en

la
década de 1980 como una reacción ante estas
licencias de software propietarias que estaban
surgiendo.
En
1983

Richard

Stallman

comenzó

el
desarrollo
del

sistema

GNU,

un

sistema
operativo
abierto

compatible

con

UNIX,

y

en
1985 fue creada la
Free

Software

Foundation
(FSF),
la

cual

en

1988

publicó

la

primera
versión
de

la

Licencia

Pública

General

GNU
(GNU
GPL)

[7].

Esta

licencia

plantea

la

libre
distribución
de

código

como

un

derecho

pero
también
como

una

obligación,

es

decir,

todo
cambio
realizado

a

código GPL

tiene que ser
distribuido bajo la misma licencia.
Algunos
autores

consideran

que

la

licencia
GPL
es

muy

restrictiva

porque

es

poco
compatible
con

la

explotación

comercial

del
software y por lo tanto perjudica la innovación
en este sector [8]. La organización OSI (Open
Source
Initiative)

fue

creada

en

1998

para
promover
licencias

de

código

abierto

más
compatibles
con

el

entorno

del

software
comercial [9]. En general, existen dos tipos de
licencias de código abierto:
1.
Licencias
copyleft, como

la GNU GPL,
las
cuales

requieren

que

las
modificaciones
al

código

fuente

sean
distribuidas bajo los mismos términos.
2.
Licencias
permisivas,

como

la

licencia
MIT,
BSD

o

Apache,

que

resguardan
los
derechos

de

autor

pero

permiten
que
las

modificaciones

al

código

sean
distribuidas bajo otra licencia [7].
La
Licencia Pública

de Mozilla

(Mozilla

Public
License
o

MPL)

se

considera

una

opción
intermedia entre estos dos tipos de licencias.