# OpenWrt

OpenWrt est une distribution GNU/Linux minimaliste pour matériel embarqué (routeurs, tablettes, téléphones…).
Historiquement développée pour remplacer le firmware des routeurs basés sur des systèmes sur une puce Broadcom (par exemple les routeurs WLAN d'Asus, Belkin, Dell, Linksys, US Robotics, Viewsonic), OpenWrt fournit une interface Web avec le firmware Whiterussian (webif) et Kamikaze via les projets X-Wrt et LuCI.

## Historique des versions du firmware
### Whiterussian (2006)

Whiterussian n'est disponible que pour les équipements à base de Broadcom BCM47xx (ex: Linksys WRT54G, Asus WL-500g…) et utilise un noyau Linux 2.4.30 avec le pilote Wi-Fi propriétaire broadcom (module wl.o). Il intègre une interface web en Ash/Awk appelée Webif. Une centaine de paquets supplémentaires peut être installée grâce à l'utilitaire IPKG, notamment Tor ou OpenVPN. Whiterussian n'est plus supporté par les développeurs en faveur de Kamikaze.

### Kamikaze

Kamikaze est disponible pour un nombre beaucoup plus important d'architectures, notamment les SoC Atheros AR23xx/53xx AR71xx/91xx, IDT RC32434, RDC R321x, AMCC PPC405/440, TI AR7, Infineon/ADMTek ADM5120, Atmel AT91RM9200, RMI/AMD Alchemy, ATMEL AVR32, Broadcom 47xx/53xx/63xx Sibyte, Axis Etrax 100LX, Intel IXP425, Infineon Amazon/Danube/Twinpass, Cavium Networks Octeon User-Mode-Linux, x86 ... Cette version fournit près de 250 paquetages, une abstraction de la gestion des cartes Wi-Fi et des configurations réseau, des noyaux Linux 2.6.x actuels avec des pilotes libres (excepté pour brcm-2.4 et IXP42x).
Il y a eu 4 versions de Kamikaze succédant à Whiterussian :
* Kamikaze 7.06
* Kamikaze 7.07
* Kamikaze 7.09
* Kamikaze 8.09 (19 février 2009)
** version 8.09.1
** version 8.09.2 (10 janvier 2010)
Kamikaze 8.09 sort en version finale le 19 février 2009 après deux Release Candidates et aura mis près de 2 ans à être développée.
À savoir que les firmwares 2.x.x de la neufbox4 de SFR sont développés à partir de Kamikaze. Cela prouve la popularité d'OpenWrt auprès des industriels.

### Backfire

Backfire amène son lots de nouveautés et notamment la compatibilité avec certains modèles de Livebox. Il y a également l'ajout du driver wireless b43 pour le chipset Broadcom 11g rendant utilisable le kernel 2.6 sur le traditionnel WRT54G.
* Backfire beta (4 mars 2010)
* Backfire rc1 (23 mars 2010)
* Backfire rc2 (31 mars 2010)
* Backfire rc3 (3 avril 2010)
* Backfire 10.03 (7 avril 2010)
* Backfire 10.03.1 (2011)
Ces différentes versions sont disponibles à l'url suivante : http://downloads.openwrt.org/backfire/

### Attitude Adjustment

* Attitude Adjustment beta (5 septembre 2012)
* Attitude Adjustment rc1 (22 novembre 2012)
* Attitude Adjustment rc2 (11 avril 2013)
* Attitude Adjustment 12.09 (25 avril 2013)
Ces différentes versions sont disponibles à l'url suivante : http://downloads.openwrt.org/attitude_adjustment/

### Barrier Breaker

* Barrier Breaker rc1 (13 juillet 2014)
* Barrier Breaker rc2 (31 juillet 2014)
* Barrier Breaker rc3 (13 août 2014)
* Barrier Breaker 14.07 (29 septembre 2014)
Ces différentes versions sont disponibles à l'url suivante : http://downloads.openwrt.org/barrier_breaker/

### Chaos Calmer (2015-2016)

* Chaos Calmer rc1 (20 mai 2015)
* Chaos Calmer rc2 (23 juin 2015)
* Chaos Calmer rc3 (15 juillet 2015)
* Chaos Calmer 15.05 (11 septembre 2015)
* Chaos Calmer 15.05.1 (29 février 2016)
Ces différentes versions sont disponibles à l'url suivante : http://downloads.openwrt.org/chaos_calmer/15.05.1/

### Designated Driver

Version en cours de développement
Version de développement générée tous les jours (généralement non testée, a utiliser à vos risques et périls) disponibles à l'url suivante : http://downloads.openwrt.org/snapshots/trunk/

## Développement et structure de Kamikaze

Kamikaze a été développé dans le but de fournir un support adapté à l'apparition de nombreuses architectures matérielles et d'un ajout de paquetages plus facile.
Ces contraintes ont notamment obligé les développeurs à se débarrasser de l'utilisation d'une NVRAM qui était spécifique aux équipements Broadcom BCM47xx. Les configurations se font désormais grâce à des fichiers de configuration présents dans /etc/config/ et qui sont interprétés par l'utilitaire UCI.
En outre, les pilotes de carte Wi-Fi Broadcom n'étant plus les seuls supportés, une abstraction de la configuration Wi-Fi afin de supporter les cartes Broadcom BCM43xx, Atheros, Ralink ... ainsi que les différentes couches 802.11 (propriétaires Broadcom, couche Atheros, softmac, mac80211) était nécessaire.

## Controverse Sveasoft

Le 11 mars 2006, les développeurs d'OpenWrt ont annoncé que Sveasoft avait violé la licence GPL et qu'il utilisait des portions d'OpenWrt. En retour Sveasoft affirmait au contraire qu'OpenWrt utilisait du code propriété de Sveasoft et de Broadcom et que les développeurs d'OpenWrt avaient placé ce code sous licence GPL sans l'accord des propriétaires. Les deux groupes réfutent ces accusations respectives.
Les développeurs d'OpenWrt ont utilisé du code Broadcom dont la licence avait été explicitement clarifiée par le constructeur afin d'éviter tout problème légal. Au cours des années de développement certaines parties de code ont changé de licence et les fichiers incriminés furent soit remplacés, soit supprimés du dépôt.