Knowledge (XXG)

Binary blob

Source 📝

637: 189:. However, the vast majority of open-source projects make a distinction between binary-only device drivers (blobs) and binary-only firmware (not considered blobs), allowing for certain proprietary firmware to be freely distributed as part of their kernels, and, to the disagreement of some core contributors, also support the use of proprietary device drivers that are distributed externally, providing internal compatibility interfaces for such proprietary drivers and userspace components to work with their system. Projects following this policy include the 567: 245: 307:, a version of the Linux kernel that attempts to remove all binary blobs, including sourceless microcode, wrote in 2011: "Linux hasn't been Free Software since 1996, when Mr Torvalds accepted the first pieces of non-Free Software in the distributions of Linux he has published since 1991. Over these years, while this kernel grew by a factor of 14, the amount of non-Free firmware required by Linux drivers grew by an alarming factor of 83." 2278: 2268: 340: 240:
defends the policy of asking for distribution rights only for microcode firmware. "Once they are distributed... at least the device works." Implying that the alternative would be for the members of his small project to code free firmware themselves in the assembly language of many chipsets, he pleads
411:
Finally, binary blobs can be seen as drawing a line between the portion of the community that believes in free software ideals, rejecting proprietary software, and the portion that sees open source as desirable for purely technical reasons, often lacking a strong opposition to binary blobs "as long
395:
Firstly, their precise operation cannot be known and bugs cannot be detected by auditing source code; bugs are frequently only diagnosed by painstaking investigation when a system begins to behave unexpectedly. Such undetected bugs may also silently expose users and systems to security hazards. The
407:
Thirdly, using this software would force users to trust vendors or third parties not to put backdoors, spyware or malicious code into the blob. As well, the hardware vendor can decide not to support a given operating system, abandon driver maintenance at any time, or, in the event the company goes
216:
project has a notable policy of not only not accepting any binary device drivers into its source tree, but also officially not supporting any third-party proprietary device driver components on its platform, either; citing not only the potential for undetectable or irreparable security flaws, but
557:
tree (which precludes some encumbered wireless devices (e.g., Intel Wireless) from being available during the initial install). On Microsoft Windows implementations, the microcode binary may be embedded in the SYS / DLL / VXD device driver directly, as opposed to separated microcode file.
287:
that stated "We, the undersigned Linux kernel developers, consider any closed-source Linux kernel module or driver to be harmful and undesirable... We have repeatedly found them to be detrimental to Linux users, businesses, and the greater Linux ecosystem." The Linux kernel maintainer
403:
is not available, the driver cannot be readily improved by its users, cannot be ported to architectures not originally supported, nor adapted to operate for slight variants of the hardware or updated it to be workable in new kernels having the changed API and architecture.
597:
computers. In the late 1990s work started on EFI (Extensible Firmware Interface) with the objective to move legacy BIOS to a modern interface with a modular driver model. EFI is closed source and was eventually adopted by many industry leading hardware manufacturers as
412:
as they work". This fragmentation, and the acceptance of a growing number of proprietary components into Linux, is seen as weakening the ability of the community to resist the trend of manufacturers to increasingly refuse to provide documentation for their binaries.
221:(FSF) is actively campaigning against binary blobs. FSF also considers OpenBSD's policy confusingly worded, as "blobs" in the BSD community refer only to what it considers non-free drivers, and does not apply to proprietary firmware and sourceless microcode. The 543:
devices). Although the firmware is thus present in the operating system driver, it is merely copied to the device and not executed by the CPU, removing concerns about extra security flaws compared to what's already possible with a
108:
vendors provide complete technical documentation for their products, operating system developers are able to write hardware device drivers to be included in the operating system kernels. However, some vendors, such as
552:
images and will redistribute these images if the license permits; if free and unconditional redistribution is not permitted by the vendor, the machine instructions on fetching these images may be provided in the
282:
to even consider tying my hands over some binary-only module", and continuing: "I want people to know that when they use binary-only modules, it's THEIR problem." In 2008, 176 Linux kernel developers signed a
617:
architecture coreboot only incorporates the few proprietary binaries that are necessary to provide users with a base level hardware support. A completely open source alternative to BIOS and UEFI is
1771: 241:"don't load us up with more tasks." Despite this he favours chipsets that run without firmware and speaks warmly of Asian designs which he describes as slower to market but more mature. 1850: 478:
and independently procure Linux-specific binary blobs directly from the hardware manufacturer in order to monitor and service the hardware. Circa 2005, this state of affairs prompted
2069: 1691: 932:
Only a few recalcitrant vendors remain closed. / ethernet 95% documented 99% working / Open documentation largely due to the effort of one man: Bill Paul
1908: 1840: 2307: 1629: 1860: 1746: 1845: 1828: 318:
are shipped in binary and are linked against a specific version of the Linux kernel. This makes it very hard to upgrade a kernel version because it may require
2302: 1798: 1696: 1974: 1808: 1781: 1761: 1786: 424:
is software which allows one operating system to use a binary proprietary device driver written for another operating system. Examples of wrappers are
1736: 1706: 1883: 749: 1104:
See Christos Zoulas's response to "Is sharing between Free/Open/NetBSD and the Linux kernel a common occurrence? And if so, does it go both ways?"
209:. Some of these projects do provide options for building the system without proprietary firmware, thus excluding sourceless microcode on demand. 1599: 1088: 453: 1855: 1813: 1756: 118: 113:, do not provide complete documentation for some of their products and instead provide binary-only drivers. This practice is most common for 2271: 2219: 2149: 1833: 642: 350: 462:
Another example is providing compatibility layers so that foreign utilities could be used to service the hardware. Examples include some
361: 1793: 1686: 609:
project was started to create an open source alternative to legacy BIOS from scratch. The coreboot developer community organises around
2174: 2026: 2089: 1999: 1994: 1557: 1532: 1507: 379: 602:(Unified Extensible Firmware Interface). The EDK (EFI Development Kit) was developed to assist EFI firmware development projects. 1818: 1726: 2084: 1916: 1823: 1663: 874:"Debian packages built from the source package 'firmware-nonfree' - Binary firmware for various drivers in the Linux kernel" 613:
and is led by firmware developers with commit rights. Despite closed source binary firmware having been at the heart of the
2179: 2074: 1898: 1888: 1672: 38: 2245: 2099: 1893: 1324: 263: 126: 326:, or a combination of these steps, all of which implies that legacy devices will never get the latest Android version. 2207: 2114: 1949: 527:
that accompany some hardware, is generally not considered to be a binary blob. In many devices, firmware is stored in
84: 396:
fitness for purpose of the driver thus cannot be checked, and even if a bug is found there is no easy way to fix it.
548:
even if the firmware was already stored within the device at all times. The OpenBSD project accepts binary firmware/
2104: 1989: 1766: 661: 315: 293: 94: 1062:
If the kernel is compiled with the COMPAT_LINUX option, or the aacraid_linux.ko and linux.ko modules are loaded...
2239: 2154: 2139: 68: 1377: 2234: 2031: 1984: 1969: 1921: 1731: 1334: 1227: 954: 622: 255: 218: 154: 114: 1020:
If the kernel is compiled with the COMPAT_LINUX option, or the aac_linux.ko and linux.ko modules are loaded...
1623: 1617: 1430: 1165: 974: 2317: 2169: 2281: 2016: 1979: 1878: 927: 671: 651: 230: 158: 61: 2144: 1939: 1931: 1870: 1803: 463: 354:
that states a Knowledge (XXG) editor's personal feelings or presents an original argument about a topic.
122: 1603: 1348: 2229: 2164: 2159: 1721: 1288: 686: 681: 610: 471: 42: 1092: 2109: 1711: 322:, reimplementing the proprietary device drivers as free software, creating and debugging wrappers, 319: 174: 89: 31: 2267: 799: 724: 539:
and require the host operating system to upload firmware each time they are connected (especially
1656: 1302: 1280: 676: 289: 206: 64: 1367: 1114: 2312: 2189: 2036: 1716: 1553: 1528: 1503: 702: 566: 445: 299:
However, the Linux kernel contains closed-source firmware required by various device drivers.
105: 1371: 2322: 1954: 72: 1189: 2224: 1405: 1310: 873: 691: 524: 300: 244: 917: 161:
operating system and will remove all binary blobs when no documentation for hardware or
2021: 1944: 1306: 594: 421: 275: 2296: 2252: 2213: 2119: 1776: 1701: 1649: 1480: 1401: 913: 554: 311: 237: 202: 134: 58: 2094: 2051: 1964: 532: 528: 491: 433: 323: 271: 250: 226: 190: 165:
for device drivers and all applicable firmware is available; such projects include
75:, and is sometimes also applied to code running outside the kernel, such as system 1550:
Embedded Firmware Solutions: Development Best Practices for the Internet of Things
1525:
Embedded Firmware Solutions: Development Best Practices for the Internet of Things
1500:
Embedded Firmware Solutions: Development Best Practices for the Internet of Things
1217: 444:. These wrappers allow these operating systems to use network drivers written for 895: 573:, an open-source implementation of BIOS, running as coreboot payload on a Lenovo 2184: 2011: 2006: 1641: 1329: 1222: 949: 944: 425: 400: 304: 166: 162: 98: 1620:
on Damien Bergamini's wpi(4) driver, a blobless ipw3945 alternative for OpenBSD
1573: 1170: 632: 586: 545: 536: 278:
has made strong statements on the issue of binary-only modules, asserting: "I
46: 1262: 1241: 773: 2041: 1475: 666: 618: 590: 549: 515: 449: 292:
has stated that it is illegal to redistribute closed source modules for the
80: 17: 1455: 1049: 921: 750:"How Intel and PC makers prevent you from modifying your laptop's firmware" 217:
also the encroachment onto the openness and freedom of its software. The
125:. Most notably, closed-source drivers are very uncommon for non-wireless 2079: 1959: 803: 728: 696: 656: 606: 574: 520: 511: 186: 182: 130: 76: 1632:
by Brian Krebs on the Washington Post's website, archived on May 5, 2012
1139: 848: 498:
monitoring, both of which concepts have subsequently found its way into
229:, clearly marking and separating the non-free packages according to the 1460: 1413: 1147: 1122: 1057: 1015: 1007: 1003: 856: 828: 570: 479: 475: 467: 437: 259: 213: 198: 142: 138: 266:, AMD had to constantly adapt the former binary blob used by Catalyst. 1349:"::[FSFLA]:: Take your freedom back, with Linux-2.6.33-libre" 535:, but to decrease costs and ease upgrades, some devices contain only 499: 487: 483: 441: 222: 194: 178: 129:, which can almost always be configured via standard utilities (like 110: 1635: 1284: 824: 392:
There are a number of reasons why binary blobs can be problematic.
2046: 1434: 1175: 978: 565: 429: 170: 1330:
GNU Project § Free System Distribution Guidelines (GNU FSDG)
861:
Blobs are vendor-compiled binary drivers without any source code.
225:
project included both free and non-free binary firmware from the
1548:
Vincent Zimmer; Jiming Sun; Marc Jones; Stefan Reinauer (2015).
1523:
Vincent Zimmer; Jiming Sun; Marc Jones; Stefan Reinauer (2015).
1498:
Vincent Zimmer; Jiming Sun; Marc Jones; Stefan Reinauer (2015).
896:"Почему так важно иметь документацию по программированию железа" 599: 582: 495: 1645: 1626:
with Jonathan Gray and Damien Bergamini regarding binary blobs
614: 540: 456: 333: 1069: 1389:
drivers designed for binary only Linux RAID management tools
1159: 1157: 351:
personal reflection, personal essay, or argumentative essay
408:
out of business, leave the driver completely unsupported.
1027: 357: 1190:"Protest against ATI nearly led to the arrest of RMS" 1692:
Comparison of open-source and closed-source software
825:"Chromium suddenly starts downloading a binary blob" 725:"Coreboot: Replacing Intel's Binary Video BIOS Blob" 2198: 2132: 2060: 1930: 1907: 1869: 1745: 1679: 975:"Interview with Jonathan Gray and Damien Bergamini" 930:. Courtyard Venice Airport, Venice/Tessera, Italy. 1630:The Black Hat Wireless Exploit Interview, Verbatim 1425: 1423: 968: 966: 964: 1380:. Courtyard Venice Airport, Venice/Tessera, Italy 1373:Driver Architecture and Implementation in OpenBSD 1026:"aac -- Adaptec AdvancedRAID Controller driver". 1008:"aac(4) — Adaptec AdvancedRAID Controller driver" 1600:"Researchers hack Wi-Fi driver to breach laptop" 1307:"Myths, Lies, and Truths about the Linux kernel" 1068:"aacraid -- Adaptec AACRAID Controller driver". 1050:"aacraid(4) — Adaptec AACRAID Controller driver" 1636:A creative example of the value of free drivers 1406:"RAID management support coming in OpenBSD 3.8" 1218:"Explaining Why We Don't Endorse Other Systems" 1212: 1210: 1208: 1206: 1433:. KernelTrap. November 2, 2004. Archived from 1285:"A position statement on Linux Kernel Modules" 800:"Raspberry Pi GPU Driver Turns Out To Be Crap" 1657: 593:applications, is a crucial component of many 233:. As of Debian 6.0 those blobs were removed. 141:attributes this to the work done by a single 8: 1697:Comparison of source-code-hosting facilities 1134: 1132: 1043: 1041: 2057: 1664: 1650: 1642: 1368:"Page 26: Only open for business: FreeBSD" 285:Position Statement on Linux Kernel Modules 1493: 1491: 1431:"OpenBSD Works To Open Wireless Chipsets" 1192:. Free Software Foundation. 27 April 2006 380:Learn how and when to remove this message 1115:"build/options/WITHOUT_SOURCELESS_UCODE" 997: 995: 523:is the software required by the onboard 494:concepts as an alternative solution for 243: 715: 157:-approved projects strive to provide a 2308:Pejorative terms related to technology 1576:. Free Software Foundation. 2006-11-29 945:"List of Free GNU/Linux Distributions" 248:The proprietary Linux graphic driver, 27:Software published only in binary code 894:Constantine A. Murenin (2006-12-10). 7: 2220:Microsoft Open Specification Promise 643:Free and open-source software portal 476:Linux compatibility layer in FreeBSD 2303:Free software culture and documents 1687:Alternative terms for free software 294:GNU General Public License-licensed 2027:Python Software Foundation License 1598:McMillan, Robert (June 21, 2006). 262:. As there is no stable in-kernel 25: 2090:Definition of Free Cultural Works 1707:Free software project directories 1140:"3.8: "Hackers of the Lost RAID"" 918:"Page 11: The hardware: ethernet" 2277: 2276: 2266: 1727:Open-source software development 1242:"Debian firmware-linux packages" 1174:, Jeremy Andrews, archived from 977:. kerneltrap.org. Archived from 635: 338: 2085:Debian Free Software Guidelines 1917:Free Software Movement of India 1378:OpenCON 2006, 2–3 December 2006 928:OpenCON 2006, 2–3 December 2006 923:Open Documentation for Hardware 57:. The term usually refers to a 1164:Andrews, Jeremy (2006-05-02), 973:Andrews, Jeremy (2006-04-19). 798:Michael Larabel (2012-10-24). 723:Michael Larabel (2012-08-06). 1: 2075:Contributor License Agreement 1889:Open-source-software movement 1673:Free and open-source software 748:Chris Hoffmann (2015-02-13). 482:to create and popularise its 127:network interface controllers 39:free and open-source software 2246:The Cathedral and the Bazaar 2100:The Free Software Definition 1366:Jonathan Gray (2006-12-02). 1087:Matzan, Jem (15 June 2005). 621:, which was promoted by the 605:Also in the late 1990s, the 236:For OpenBSD, project leader 97:to describe a collection of 2150:Mozilla software rebranding 2115:Permissive software license 1602:. InfoWorld. Archived from 1091:. NewsForge. Archived from 119:wireless networking devices 101:stored as a single entity. 95:database management systems 2339: 2155:Proprietary device drivers 2105:The Open Source Definition 1166:"Interview: Theo de Raadt" 1089:"BSD cognoscenti on Linux" 662:Graphics hardware and FOSS 509: 32:Binary large object (BLOB) 29: 2262: 2240:Source-available software 2140:Digital rights management 2235:Shared Source Initiative 2032:Shared Source Initiative 1985:Free Software Foundation 1922:Free Software Foundation 1772:Configuration management 1574:"Campaign for Free BIOS" 1335:Free Software Foundation 1228:Free Software Foundation 955:Free Software Foundation 823:Jake Edge (2015-06-17). 699:NSA Binary blob backdoor 623:Free Software Foundation 316:Android operating system 310:Most of the drivers for 219:Free Software Foundation 30:Not to be confused with 2170:SCO/Linux controversies 1502:. Apress. p. 121. 585:, which functions as a 274:development community, 2070:Comparison of licenses 1879:Free software movement 1552:. Apress. p. 65. 1527:. Apress. p. 61. 1048:Achim Leubner (2013). 672:Loadable kernel module 652:Character large object 578: 360:by rewriting it in an 267: 254:, will share the same 231:Debian Social Contract 169:kernel packaging from 2145:License proliferation 1456:"/sys/dev/microcode/" 1144:OpenBSD Release Songs 853:OpenBSD Release Songs 774:"BIOS Freedom Status" 569: 474:would have to enable 247: 2230:Open-source hardware 2165:Proprietary software 2160:Proprietary firmware 1861:Formerly open-source 1856:Formerly proprietary 1722:Open-source software 1624:KernelTrap interview 1289:The Linux Foundation 1071:FreeBSD Manual Pages 1029:FreeBSD Manual Pages 687:Proprietary software 682:Proprietary firmware 589:and supports legacy 472:system administrator 303:, the maintainer of 258:infrastructure with 115:accelerated graphics 49:is referred to as a 45:only available as a 43:proprietary software 2110:Open-source license 1712:Gratis versus libre 1476:"sysutils/firmware" 1119:BSD Cross Reference 1054:BSD Cross Reference 1012:BSD Cross Reference 320:reverse engineering 207:Linux distributions 87:programs. The term 1618:KernelTrap article 1325:"Nonfree Firmware" 1303:Greg Kroah-Hartman 1281:Greg Kroah-Hartman 677:Opaque binary blob 579: 362:encyclopedic style 349:is written like a 290:Greg Kroah-Hartman 268: 133:) out of the box; 93:was first used in 71:of an open-source 37:In the context of 2290: 2289: 2190:Trusted Computing 2180:Software security 2128: 2127: 1809:Operating systems 1717:Long-term support 703:Wireless security 446:Microsoft Windows 399:Secondly, as the 390: 389: 382: 149:Policy by project 106:computer hardware 47:binary executable 16:(Redirected from 2330: 2280: 2279: 2270: 2175:Software patents 2058: 1970:Creative Commons 1829:Web applications 1666: 1659: 1652: 1643: 1614: 1612: 1611: 1585: 1584: 1582: 1581: 1570: 1564: 1563: 1545: 1539: 1538: 1520: 1514: 1513: 1495: 1486: 1485: 1472: 1466: 1465: 1452: 1446: 1445: 1443: 1442: 1427: 1418: 1417: 1412:(Mailing list). 1398: 1392: 1391: 1386: 1385: 1363: 1357: 1356: 1345: 1339: 1338: 1321: 1315: 1314: 1299: 1293: 1292: 1277: 1271: 1270: 1259: 1253: 1252: 1250: 1249: 1238: 1232: 1231: 1214: 1201: 1200: 1198: 1197: 1186: 1180: 1179: 1161: 1152: 1151: 1136: 1127: 1126: 1111: 1105: 1103: 1101: 1100: 1095:on 23 March 2006 1084: 1078: 1075: 1064: 1045: 1036: 1033: 1022: 999: 990: 989: 987: 986: 970: 959: 958: 941: 935: 934: 910: 904: 903: 891: 885: 884: 882: 881: 870: 864: 863: 845: 839: 838: 836: 835: 820: 814: 813: 811: 810: 795: 789: 788: 786: 785: 770: 764: 763: 761: 760: 745: 739: 738: 736: 735: 720: 645: 640: 639: 638: 525:microcontrollers 448:by implementing 416:Use via wrappers 385: 378: 374: 371: 365: 342: 341: 334: 253: 123:RAID controllers 73:operating system 21: 2338: 2337: 2333: 2332: 2331: 2329: 2328: 2327: 2293: 2292: 2291: 2286: 2258: 2225:Open-core model 2200: 2194: 2124: 2062: 2056: 1926: 1903: 1865: 1748: 1741: 1675: 1670: 1609: 1607: 1606:on July 2, 2006 1597: 1594: 1589: 1588: 1579: 1577: 1572: 1571: 1567: 1560: 1547: 1546: 1542: 1535: 1522: 1521: 1517: 1510: 1497: 1496: 1489: 1474: 1473: 1469: 1454: 1453: 1449: 1440: 1438: 1429: 1428: 1421: 1400: 1399: 1395: 1383: 1381: 1365: 1364: 1360: 1347: 1346: 1342: 1323: 1322: 1318: 1311:Linux Symposium 1301: 1300: 1296: 1279: 1278: 1274: 1261: 1260: 1256: 1247: 1245: 1240: 1239: 1235: 1216: 1215: 1204: 1195: 1193: 1188: 1187: 1183: 1163: 1162: 1155: 1138: 1137: 1130: 1113: 1112: 1108: 1098: 1096: 1086: 1085: 1081: 1067: 1047: 1046: 1039: 1025: 1001: 1000: 993: 984: 982: 972: 971: 962: 943: 942: 938: 912: 911: 907: 893: 892: 888: 879: 877: 872: 871: 867: 847: 846: 842: 833: 831: 822: 821: 817: 808: 806: 797: 796: 792: 783: 781: 772: 771: 767: 758: 756: 747: 746: 742: 733: 731: 722: 721: 717: 712: 707: 692:NSA ANT catalog 641: 636: 634: 631: 611:Stefan Reinauer 564: 518: 510:Main articles: 508: 506:Device firmware 464:RAID controller 418: 386: 375: 369: 366: 358:help improve it 355: 343: 339: 332: 324:binary patching 301:Alexandre Oliva 251:libGL-fglrx-glx 249: 151: 121:, and hardware 35: 28: 23: 22: 15: 12: 11: 5: 2336: 2334: 2326: 2325: 2320: 2318:Device drivers 2315: 2310: 2305: 2295: 2294: 2288: 2287: 2285: 2284: 2274: 2263: 2260: 2259: 2257: 2256: 2249: 2242: 2237: 2232: 2227: 2222: 2217: 2210: 2204: 2202: 2196: 2195: 2193: 2192: 2187: 2182: 2177: 2172: 2167: 2162: 2157: 2152: 2147: 2142: 2136: 2134: 2130: 2129: 2126: 2125: 2123: 2122: 2117: 2112: 2107: 2102: 2097: 2092: 2087: 2082: 2077: 2072: 2066: 2064: 2055: 2054: 2049: 2044: 2039: 2034: 2029: 2024: 2019: 2014: 2009: 2004: 2003: 2002: 1997: 1992: 1982: 1977: 1972: 1967: 1962: 1957: 1952: 1947: 1942: 1936: 1934: 1928: 1927: 1925: 1924: 1919: 1913: 1911: 1905: 1904: 1902: 1901: 1896: 1891: 1886: 1881: 1875: 1873: 1867: 1866: 1864: 1863: 1858: 1853: 1848: 1843: 1838: 1837: 1836: 1826: 1821: 1816: 1811: 1806: 1801: 1796: 1791: 1790: 1789: 1784: 1774: 1769: 1764: 1762:Bioinformatics 1759: 1753: 1751: 1743: 1742: 1740: 1739: 1734: 1729: 1724: 1719: 1714: 1709: 1704: 1699: 1694: 1689: 1683: 1681: 1677: 1676: 1671: 1669: 1668: 1661: 1654: 1646: 1640: 1639: 1633: 1627: 1621: 1615: 1593: 1592:External links 1590: 1587: 1586: 1565: 1558: 1540: 1533: 1515: 1508: 1487: 1467: 1447: 1419: 1404:(2005-09-09). 1393: 1358: 1340: 1316: 1294: 1272: 1254: 1233: 1202: 1181: 1153: 1128: 1106: 1079: 1077: 1076: 1037: 1035: 1034: 991: 960: 936: 916:(2016-12-03). 905: 886: 865: 859:. 2006-05-01. 849:"3.9: "Blob!"" 840: 815: 790: 765: 740: 714: 713: 711: 708: 706: 705: 700: 694: 689: 684: 679: 674: 669: 664: 659: 654: 648: 647: 646: 630: 627: 595:IBM-compatible 563: 560: 507: 504: 417: 414: 388: 387: 346: 344: 337: 331: 328: 312:mobile devices 296:Linux kernel. 276:Linus Torvalds 150: 147: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 2335: 2324: 2321: 2319: 2316: 2314: 2311: 2309: 2306: 2304: 2301: 2300: 2298: 2283: 2275: 2273: 2269: 2265: 2264: 2261: 2255: 2254: 2253:Revolution OS 2250: 2248: 2247: 2243: 2241: 2238: 2236: 2233: 2231: 2228: 2226: 2223: 2221: 2218: 2216: 2215: 2214:GNU Manifesto 2211: 2209: 2206: 2205: 2203: 2197: 2191: 2188: 2186: 2183: 2181: 2178: 2176: 2173: 2171: 2168: 2166: 2163: 2161: 2158: 2156: 2153: 2151: 2148: 2146: 2143: 2141: 2138: 2137: 2135: 2131: 2121: 2120:Public domain 2118: 2116: 2113: 2111: 2108: 2106: 2103: 2101: 2098: 2096: 2093: 2091: 2088: 2086: 2083: 2081: 2078: 2076: 2073: 2071: 2068: 2067: 2065: 2059: 2053: 2050: 2048: 2045: 2043: 2040: 2038: 2035: 2033: 2030: 2028: 2025: 2023: 2020: 2018: 2015: 2013: 2010: 2008: 2005: 2001: 1998: 1996: 1993: 1991: 1988: 1987: 1986: 1983: 1981: 1978: 1976: 1973: 1971: 1968: 1966: 1963: 1961: 1958: 1956: 1953: 1951: 1948: 1946: 1943: 1941: 1938: 1937: 1935: 1933: 1929: 1923: 1920: 1918: 1915: 1914: 1912: 1910: 1909:Organisations 1906: 1900: 1897: 1895: 1892: 1890: 1887: 1885: 1882: 1880: 1877: 1876: 1874: 1872: 1868: 1862: 1859: 1857: 1854: 1852: 1849: 1847: 1844: 1842: 1839: 1835: 1832: 1831: 1830: 1827: 1825: 1822: 1820: 1817: 1815: 1812: 1810: 1807: 1805: 1804:Office suites 1802: 1800: 1797: 1795: 1792: 1788: 1785: 1783: 1780: 1779: 1778: 1775: 1773: 1770: 1768: 1765: 1763: 1760: 1758: 1755: 1754: 1752: 1750: 1744: 1738: 1735: 1733: 1730: 1728: 1725: 1723: 1720: 1718: 1715: 1713: 1710: 1708: 1705: 1703: 1702:Free software 1700: 1698: 1695: 1693: 1690: 1688: 1685: 1684: 1682: 1678: 1674: 1667: 1662: 1660: 1655: 1653: 1648: 1647: 1644: 1637: 1634: 1631: 1628: 1625: 1622: 1619: 1616: 1605: 1601: 1596: 1595: 1591: 1575: 1569: 1566: 1561: 1559:9781484200704 1555: 1551: 1544: 1541: 1536: 1534:9781484200704 1530: 1526: 1519: 1516: 1511: 1509:9781484200704 1505: 1501: 1494: 1492: 1488: 1483: 1482: 1481:OpenBSD ports 1477: 1471: 1468: 1463: 1462: 1457: 1451: 1448: 1437:on 2006-06-20 1436: 1432: 1426: 1424: 1420: 1415: 1411: 1407: 1403: 1402:Theo de Raadt 1397: 1394: 1390: 1379: 1375: 1374: 1369: 1362: 1359: 1354: 1350: 1344: 1341: 1336: 1332: 1331: 1326: 1320: 1317: 1312: 1308: 1304: 1298: 1295: 1290: 1286: 1283:(June 2008). 1282: 1276: 1273: 1268: 1264: 1263:"a/lt-binary" 1258: 1255: 1243: 1237: 1234: 1229: 1225: 1224: 1219: 1213: 1211: 1209: 1207: 1203: 1191: 1185: 1182: 1178:on 2006-06-03 1177: 1173: 1172: 1167: 1160: 1158: 1154: 1150:. 2005-11-01. 1149: 1145: 1141: 1135: 1133: 1129: 1125:. 2012-02-04. 1124: 1120: 1116: 1110: 1107: 1094: 1090: 1083: 1080: 1073: 1072: 1066: 1065: 1063: 1059: 1055: 1051: 1044: 1042: 1038: 1031: 1030: 1024: 1023: 1021: 1017: 1013: 1009: 1005: 998: 996: 992: 981:on 2007-12-11 980: 976: 969: 967: 965: 961: 956: 952: 951: 946: 940: 937: 933: 929: 925: 924: 919: 915: 914:Theo de Raadt 909: 906: 902:(in Russian). 901: 897: 890: 887: 875: 869: 866: 862: 858: 854: 850: 844: 841: 830: 826: 819: 816: 805: 801: 794: 791: 779: 775: 769: 766: 755: 751: 744: 741: 730: 726: 719: 716: 709: 704: 701: 698: 695: 693: 690: 688: 685: 683: 680: 678: 675: 673: 670: 668: 665: 663: 660: 658: 655: 653: 650: 649: 644: 633: 628: 626: 624: 620: 616: 612: 608: 603: 601: 596: 592: 588: 584: 576: 572: 568: 562:BIOS and UEFI 561: 559: 556: 551: 547: 542: 538: 534: 530: 526: 522: 517: 513: 505: 503: 501: 497: 493: 489: 485: 481: 477: 473: 469: 465: 460: 458: 455: 451: 447: 443: 439: 435: 431: 427: 423: 415: 413: 409: 405: 402: 397: 393: 384: 381: 373: 363: 359: 353: 352: 347:This section 345: 336: 335: 329: 327: 325: 321: 317: 313: 308: 306: 302: 297: 295: 291: 286: 281: 277: 273: 265: 261: 257: 252: 246: 242: 239: 238:Theo de Raadt 234: 232: 228: 224: 220: 215: 210: 208: 204: 203:DragonFly BSD 200: 196: 192: 188: 184: 180: 176: 172: 168: 164: 160: 156: 148: 146: 144: 140: 136: 135:Theo de Raadt 132: 128: 124: 120: 116: 112: 107: 102: 100: 96: 92: 91: 86: 82: 78: 74: 70: 66: 63: 60: 59:device driver 56: 52: 48: 44: 40: 33: 19: 2251: 2244: 2212: 2095:Free license 1841:Android apps 1608:. Retrieved 1604:the original 1578:. Retrieved 1568: 1549: 1543: 1524: 1518: 1499: 1479: 1470: 1459: 1450: 1439:. Retrieved 1435:the original 1409: 1396: 1388: 1382:. Retrieved 1372: 1361: 1352: 1343: 1328: 1319: 1297: 1275: 1266: 1257: 1246:. Retrieved 1236: 1221: 1194:. Retrieved 1184: 1176:the original 1169: 1143: 1118: 1109: 1097:. Retrieved 1093:the original 1082: 1070: 1061: 1053: 1028: 1019: 1011: 1004:Adaptec, Inc 1002:Scott Long; 983:. Retrieved 979:the original 948: 939: 931: 922: 908: 900:Linux.org.ru 899: 889: 878:. Retrieved 868: 860: 852: 843: 832:. Retrieved 818: 807:. Retrieved 793: 782:. Retrieved 780:. 2014-11-12 777: 768: 757:. Retrieved 753: 743: 732:. Retrieved 718: 604: 580: 533:flash memory 529:non-volatile 519: 492:sensor drive 470:, where the 461: 434:Project Evil 419: 410: 406: 398: 394: 391: 376: 367: 348: 314:running the 309: 298: 284: 279: 272:Linux kernel 269: 235: 227:Linux kernel 211: 191:Linux kernel 152: 103: 88: 83:updates, or 54: 50: 36: 18:Binary blobs 2185:Tivoization 1824:Video games 1799:Mathematics 1223:GNU Project 950:GNU Project 754:pcworld.com 466:drivers in 426:NDISwrapper 401:source code 305:Linux-libre 205:, and most 167:Linux-libre 163:source code 145:developer. 99:binary data 55:binary blob 2297:Categories 2133:Challenges 1851:Commercial 1834:E-commerce 1819:Television 1610:2006-06-23 1580:2007-01-02 1441:2006-06-23 1384:2019-03-27 1248:2010-03-25 1196:2006-10-10 1171:KernelTrap 1099:2006-07-07 985:2008-01-06 880:2010-03-25 834:2015-06-23 809:2015-06-23 784:2015-06-23 759:2015-06-23 734:2015-06-23 710:References 587:bootloader 546:DMA attack 537:static RAM 370:March 2021 2063:standards 2061:Types and 2042:Unlicense 2037:Sleepycat 1871:Community 1638:, LWN.net 1353:fsfla.org 667:LinuxBoot 619:libreboot 591:real mode 550:microcode 516:Microcode 502:as well. 450:Microsoft 117:drivers, 81:microcode 67:into the 2313:Firmware 2282:Category 2199:Related 2080:Copyleft 2000:GNU LGPL 1995:GNU AGPL 1960:Beerware 1955:Artistic 1932:Licenses 1899:Advocacy 1846:iOS apps 1787:Wireless 1782:Graphics 1749:packages 1747:Software 1737:Timeline 1305:(2006). 1006:(2000). 804:Phoronix 729:Phoronix 697:ScreenOS 657:Firmware 629:See also 607:coreboot 575:ThinkPad 531:onboard 521:Firmware 512:Firmware 330:Problems 193:itself, 187:LibreCMC 183:Trisquel 175:Parabola 131:ifconfig 85:userland 79:images, 77:firmware 2323:Booting 2208:Forking 1990:GNU GPL 1884:History 1814:Routing 1777:Drivers 1732:Outline 1680:General 1461:OpenBSD 1414:OpenBSD 1267:lwn.net 1148:OpenBSD 1123:FreeBSD 1058:FreeBSD 1016:FreeBSD 857:OpenBSD 829:LWN.net 778:puri.sm 625:(FSF). 571:SeaBIOS 480:OpenBSD 468:FreeBSD 438:FreeBSD 422:wrapper 356:Please 270:In the 260:Mesa 3D 214:OpenBSD 199:FreeBSD 143:FreeBSD 139:OpenBSD 2272:Portal 2201:topics 2022:Python 1945:Apache 1894:Events 1794:Health 1767:Codecs 1556:  1531:  1506:  1244:. 2010 876:. 2010 500:NetBSD 488:bioctl 484:bio(4) 442:NetBSD 432:, and 280:refuse 223:Debian 195:NetBSD 185:, and 179:Devuan 111:Nvidia 69:kernel 65:loaded 62:module 2047:WTFPL 1757:Audio 1410:misc@ 555:ports 430:Linux 171:FSFLA 153:Some 104:When 2052:zlib 1975:CDDL 1950:APSL 1554:ISBN 1529:ISBN 1504:ISBN 600:UEFI 583:BIOS 581:The 514:and 496:RAID 490:and 454:NDIS 440:and 436:for 428:for 212:The 159:free 90:blob 51:blob 2017:MPL 2012:MIT 2007:ISC 1980:EPL 1965:BSD 1940:AFL 615:x86 577:X60 541:USB 457:API 452:'s 264:ABI 256:DRM 155:FSF 137:of 53:or 2299:: 1490:^ 1478:. 1458:. 1422:^ 1408:. 1387:. 1376:. 1370:. 1351:. 1333:. 1327:. 1309:. 1287:. 1265:. 1226:. 1220:. 1205:^ 1168:, 1156:^ 1146:. 1142:. 1131:^ 1121:. 1117:. 1060:. 1056:. 1052:. 1040:^ 1018:. 1014:. 1010:. 994:^ 963:^ 953:. 947:. 926:. 920:. 898:. 855:. 851:. 827:. 802:. 776:. 752:. 727:. 486:, 459:. 420:A 201:, 197:, 181:, 177:, 173:, 41:, 1665:e 1658:t 1651:v 1613:. 1583:. 1562:. 1537:. 1512:. 1484:. 1464:. 1444:. 1416:. 1355:. 1337:. 1313:. 1291:. 1269:. 1251:. 1230:. 1199:. 1102:. 1074:. 1032:. 988:. 957:. 883:. 837:. 812:. 787:. 762:. 737:. 383:) 377:( 372:) 368:( 364:. 34:. 20:)

Index

Binary blobs
Binary large object (BLOB)
free and open-source software
proprietary software
binary executable
device driver
module
loaded
kernel
operating system
firmware
microcode
userland
blob
database management systems
binary data
computer hardware
Nvidia
accelerated graphics
wireless networking devices
RAID controllers
network interface controllers
ifconfig
Theo de Raadt
OpenBSD
FreeBSD
FSF
free
source code
Linux-libre

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.