Misplaced Pages

XPCOM

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Cross Platform Component Object Model ( XPCOM ) is a cross-platform component model from Mozilla . It is similar to Component Object Model (COM), Common Object Request Broker Architecture (CORBA) and system object model (SOM). It features multiple language bindings and interface description language (IDL) descriptions; thus programmers can plug their custom functions into the framework and connect it with other components.

#66933

110-454: The most prominent usage of XPCOM is within the Firefox web browser. Many of its internal components interact via XPCOM interfaces. Furthermore, Firefox used to allow add-ons extensive XPCOM access, but this was removed in 2017 and replaced with the less-permissive WebExtensions API . (Two forks of Firefox still support XPCOM add-on capability: Pale Moon and Basilisk .) XPCOM is one of

220-476: A File Transfer Protocol (FTP) client for browsing file servers, the ability to block images from individual domains (until version 72), a 3D page inspector (versions 11 to 46), tab grouping (until version 44), and the ability to add customized extra toolbars (until version 28). Functions can be added through add-ons created by third-party developers . Add-ons are primarily coded using an HTML , CSS , JavaScript , with API known as WebExtensions , which

330-546: A Metro-style version of Firefox, optimized for touchscreen use, on the "Aurora" release channel. However, on March 14, 2014, Mozilla cancelled the project because of a lack of user adoption. In March 2017, Firefox 52 ESR, the last version of the browser for Windows XP and Windows Vista , was released. Support for Firefox 52 ESR ended in June 2018. Traditionally, installing the Windows version of Firefox entails visiting

440-526: A blacklist and whitelist of sites that will be used in the filter. Version 23, released in August 2013, followed the lead of its competitors by blocking iframe , stylesheet, and script resources served from non-HTTPS servers embedded on HTTPS pages by default. Additionally, JavaScript could also no longer be disabled through Firefox's preferences, and JavaScript was automatically re-enabled for users who upgraded to 23 or higher with it disabled. The change

550-472: A high-level language implementation of Unix made its porting to different computer platforms easier. Due to an earlier antitrust case forbidding it from entering the computer business, AT&T licensed the operating system's source code as a trade secret to anyone who asked. As a result, Unix grew quickly and became widely adopted by academic institutions and businesses. In 1984, AT&T divested itself of its regional operating companies , and

660-424: A minimalist functionality, while more elaborate window managers such as FVWM , Enlightenment , or Window Maker provide more features such as a built-in taskbar and themes , but are still lightweight when compared to desktop environments. Desktop environments include window managers as part of their standard installations, such as Mutter (GNOME), KWin (KDE), or Xfwm (xfce), although users may choose to use

770-516: A solution stack such as LAMP . The source code of Linux may be used, modified, and distributed commercially or non-commercially by anyone under the terms of its respective licenses, such as the GNU General Public License (GPL). The license means creating novel distributions is permitted by anyone and is easier than it would be for an operating system such as MacOS or Microsoft Windows . The Linux kernel, for example,

880-470: A competing OS, agrees that "Linux wasn't designed, it evolved", but considers this to be a limitation, proposing that some features, especially those related to security, cannot be evolved into, "this is not a biological system at the end of the day, it's a software system." A Linux-based system is a modular Unix-like operating system, deriving much of its basic design from principles established in Unix during

990-425: A configuration menu at about:config for power users , and location-aware browsing (also known as " geolocation ") based on a Google service. Firefox has an integrated search system which uses Google by default in most markets. DNS over HTTPS is another feature whose default behaviour is determined geographically. Firefox provides an environment for web developers in which they can use built-in tools, such as

1100-974: A different window manager if preferred. Wayland is a display server protocol intended as a replacement for the X11 protocol; as of 2022 , it has received relatively wide adoption. Unlike X11, Wayland does not need an external window manager and compositing manager. Therefore, a Wayland compositor takes the role of the display server, window manager, and compositing manager. Weston is the reference implementation of Wayland, while GNOME's Mutter and KDE's KWin are being ported to Wayland as standalone display servers. Enlightenment has already been successfully ported since version 19. Additionally, many window managers have been made for Wayland, such as Sway or Hyprland, as well as other graphical utilities such as Waybar or Rofi. Linux currently has two modern kernel-userspace APIs for handling video input devices: V4L2 API for video streams and radio, and DVB API for digital TV reception. Due to

1210-651: A lot of code for marshalling objects, and in the Netscape era XPCOM was overused for internal interfaces where it wasn't truly necessary, resulting in software bloat . This was a key reason why in 2001 Apple forked KHTML , not Gecko, to create the WebKit engine for its Safari browser. Mozilla has since cleaned up some of the XPCOM bloat. By 2008, this combined with other efforts resulted in big performance improvements for Gecko . Firefox Mozilla Firefox

SECTION 10

#1732791438067

1320-611: A new project called Servo to write a completely new and experimental browser engine utilizing memory safe techniques written in Rust . In 2018, Mozilla opted to integrate parts of the Servo project into the Gecko engine in a project codenamed the Quantum project. The project completely overhauled Firefox's page rendering code resulting in performance and stability gains while also improving

1430-427: A nickname of the red panda , which became the mascot for the newly named project. For the abbreviation of Firefox, Mozilla prefers Fx or fx, although it is often abbreviated as FF . The Firefox project went through many versions before version 1.0 and had already gained a great deal of acclaim from numerous media outlets, such as Forbes and The Wall Street Journal . Among Firefox's popular features were

1540-404: A place in server installations such as the popular LAMP application stack. The use of Linux distributions in home and enterprise desktops has been growing. Linux distributions have also become popular in the netbook market, with many devices shipping with customized Linux distributions installed, and Google releasing their own ChromeOS designed for netbooks. Linux's greatest success in

1650-502: A popular CLI shell. The graphical user interface (or GUI) used by most Linux systems is built on top of an implementation of the X Window System . More recently, the Linux community has sought to advance to Wayland as the new display server protocol, in place of X11. Many other open-source software projects contribute to Linux systems. Installed components of a Linux system include the following: The user interface , also known as

1760-497: A randomized device ID to prevent services from uniquely identifying the device for tracking purposes. The DRM module, once it has been downloaded, is enabled, and disabled in the same manner as other plug-ins . Since version 47, "Google's Widevine CDM on Windows and Mac OS X so streaming services like Amazon Video can switch from Silverlight to encrypted HTML5 video" is also supported. Mozilla justified its partnership with Adobe and Google by stating: Firefox downloads and enables

1870-481: A significant business around Linux distributions. The free software licenses , on which the various software packages of a distribution built on the Linux kernel are based, explicitly accommodate and encourage commercialization; the relationship between a Linux distribution as a whole and individual vendors may be seen as symbiotic . One common business model of commercial suppliers is charging for support, especially for business users. A number of companies also offer

1980-493: A specialized business version of their distribution, which adds proprietary support packages and tools to administer higher numbers of installations or to simplify administrative tasks. Another business model is to give away the software to sell hardware. This used to be the norm in the computer industry, with operating systems such as CP/M , Apple DOS , and versions of the classic Mac OS before 7.6 freely copyable (but not modifiable). As computer hardware standardized throughout

2090-972: A system's software from one central location. A distribution is largely driven by its developer and user communities. Some vendors develop and fund their distributions on a volunteer basis, Debian being a well-known example. Others maintain a community version of their commercial distributions, as Red Hat does with Fedora , and SUSE does with openSUSE . In many cities and regions, local associations known as Linux User Groups (LUGs) seek to promote their preferred distribution and by extension free software. They hold meetings and provide free demonstrations, training, technical support, and operating system installation to new users. Many Internet communities also provide support to Linux users and developers. Most distributions and free software / open-source projects have IRC chatrooms or newsgroups . Online forums are another means of support, with notable examples being Unix & Linux Stack Exchange , LinuxQuestions.org and

2200-461: A trademark claim from Phoenix Technologies . The replacement name, Firebird, provoked an intense response from the Firebird database software project. The Mozilla Foundation reassured them that the browser would always bear the name Mozilla Firebird to avoid confusion. After further pressure, Mozilla Firebird became Mozilla Firefox on February 9, 2004. The name Firefox was said to be derived from

2310-402: A user may interact with the application; however, certain extensions of the X Window System are not capable of working over the network. Several X display servers exist, with the reference implementation, X.Org Server , being the most popular. Server distributions might provide a command-line interface for developers and administrators, but provide a custom interface for end-users, designed for

SECTION 20

#1732791438067

2420-453: A vast body of work and may include both kernel modules and user applications and libraries. Linux vendors and communities combine and distribute the kernel, GNU components, and non-GNU components, with additional package management software in the form of Linux distributions. Many developers of open-source software agree that the Linux kernel was not designed but rather evolved through natural selection . Torvalds considers that although

2530-662: A web page used too many resources, the entire Firefox process would hang or crash, affecting all tabs. Additionally, any exploit could easily access system resources, including user files. Between 2008 and 2012, most browsers shifted to a multiprocess architecture, isolating high-risk processes like rendering, media, GPU, and networking. However, Firefox was slower to adopt this change. It wasn't until 2015 that Firefox started its Electrolysis (e10s) project to implement sandboxing across multiple components. This rewrite relied on interprocess communication using Chromium 's interprocess communication library and placed various component including

2640-508: A whole; its usage then declined in competition with Google Chrome . As of July 2024 , according to StatCounter , it had a 6.5% usage share on traditional PCs (i.e. as a desktop browser), making it the fourth-most popular PC web browser after Google Chrome (65%), Microsoft Edge (13%), and Safari (9.0%). The project began as an experimental branch of the Mozilla project by Dave Hyatt , Joe Hewitt , and Blake Ross . They believed

2750-450: Is 0, DoH is disabled; 1 activates DoH in addition to unencrypted DNS; 2 causes DoH to be used before unencrypted DNS; to use only DoH, the value must be 3. By setting network.trr.uri to the URL, special Cloudflare servers will be activated. Mozilla has a privacy agreement with this server host that restricts their collection of information about incoming DNS requests. On May 21, 2019, Firefox

2860-636: Is a free and open source web browser developed by the Mozilla Foundation and its subsidiary, the Mozilla Corporation . It uses the Gecko rendering engine to display web pages, which implements current and anticipated web standards. Firefox is available for Windows 10 and later versions of Windows , macOS , and Linux . Its unofficial ports are available for various Unix and Unix-like operating systems, including FreeBSD , OpenBSD , NetBSD , and other platforms. It

2970-554: Is a family of open-source Unix-like operating systems based on the Linux kernel , an operating system kernel first released on September 17, 1991, by Linus Torvalds . Linux is typically packaged as a Linux distribution (distro), which includes the kernel and supporting system software and libraries — many of which are provided by the GNU Project — to create a complete operating system. Many Linux distributions use

3080-472: Is also available for Android and iOS . However, as with all other iOS web browsers, the iOS version uses the WebKit layout engine instead of Gecko due to platform requirements. An optimized version is also available on the Amazon Fire TV as one of the two main browsers available with Amazon's Silk Browser . Firefox is the spiritual successor of Netscape Navigator , as the Mozilla community

3190-432: Is available for Android (formerly Firefox for mobile, it also ran on Maemo , MeeGo and Firefox OS ) and Firefox for iOS is available for iOS. Smartphones that support Linux but not Android, or iOS apps can also run Firefox in its desktop version, for example using postmarketOS . Notes Firefox source code may be compiled for various operating systems; however, officially distributed binaries are provided for

3300-632: Is designed to be compatible with Google Chrome and Microsoft Edge extension systems. Firefox previously supported add-ons using the XUL and XPCOM APIs, which allowed them to directly access and manipulate much of the browser's internal functionality. As compatibility was not included in the multi-process architecture, XUL add-ons have been deemed Legacy add-ons and are no longer supported on Firefox 57 "Quantum" and newer. Mozilla has occasionally installed extensions for users without their permission. This happened in 2017 when an extension designed to promote

3410-727: Is designed to be similar to Chrome and other recent browsers. Firefox 57, which was released in November 2017, was the first version to contain enhancements from Quantum, and has thus been named Firefox Quantum . A Mozilla executive stated that Quantum was the "biggest update" to the browser since version 1.0. Unresponsive and crashing pages only affect other pages loaded within the same process. While Chrome uses separate processes for each loaded tab, Firefox distributes tabs over four processes by default (since Quantum), in order to balance memory consumption and performance. The process count can be adjusted, where more processes increase performance at

XPCOM - Misplaced Pages Continue

3520-404: Is entered. Firefox now supports HTTP/2. In February 2013, plans were announced for Firefox 22 to disable third-party cookies by default. However, the introduction of the feature was then delayed so Mozilla developers could "collect and analyze data on the effect of blocking some third-party cookies." Mozilla also collaborated with Stanford University 's "Cookie Clearinghouse" project to develop

3630-569: Is licensed under the GPLv2, with an exception for system calls that allows code that calls the kernel via system calls not to be licensed under the GPL. Because of the dominance of Linux-based Android on smartphones , Linux, including Android, has the largest installed base of all general-purpose operating systems as of May 2022 . Linux is, as of March 2024 , used by around 4 percent of desktop computers . The Chromebook , which runs

3740-606: Is supported. The flexibility to reuse the XPCOM components from the Gecko library and develop new components that run on different platforms facilitates rapid application development and results in an application that is more productive and easier to maintain. The networking library, for example, is a set of XPCOM components that can be accessed and used by any Mozilla application. File I/O, security, password management, and profiles are also separate XPCOM components that programmers can use in their own application development. XPCOM adds

3850-403: Is that the Linux kernel and other components are free and open-source software. Linux is not the only such operating system, although it is by far the most widely used. Some free and open-source software licenses are based on the principle of copyleft , a kind of reciprocity: any work derived from a copyleft piece of software must also be copyleft itself. The most common free software license,

3960-594: Is the Bourne-Again Shell (bash), originally developed for the GNU Project, other shells such as Zsh are also used. Most low-level Linux components, including various parts of the userland , use the CLI exclusively. The CLI is particularly suited for automation of repetitive or delayed tasks and provides very simple inter-process communication . On desktop systems, the most popular user interfaces are

4070-475: Is typically built into the firmware and is highly tailored to the system. This includes routers , automation controls, smart home devices , video game consoles , televisions (Samsung and LG smart TVs ), automobiles (Tesla, Audi, Mercedes-Benz, Hyundai, and Toyota), and spacecraft ( Falcon 9 rocket, Dragon crew capsule, and the Ingenuity Mars helicopter). The Unix operating system

4180-415: Is used on a wide variety of devices including PCs, workstations , mainframes and embedded systems . Linux is the predominant operating system for servers and is also used on all of the world's 500 fastest supercomputers . When combined with Android , which is Linux-based and designed for smartphones , they have the largest installed base of all general-purpose operating systems . The Linux kernel

4290-689: The Acid3 test fully because they believed that the SVG fonts part of the test had become outdated and irrelevant, due to WOFF being agreed upon as a standard by all major browser makers. Because the SVG font tests were removed from the Acid3 test in September 2011, Firefox 4 and greater scored 100/100. Firefox also implements "Safe Browsing," a proprietary protocol from Google used to exchange data related with phishing and malware protection. Firefox supports

4400-497: The Free Software Foundation and wrote the GNU General Public License (GNU GPL) in 1989. By the early 1990s, many of the programs required in an operating system (such as libraries, compilers , text editors , a command-line shell , and a windowing system ) were completed, although low-level elements such as device drivers , daemons , and the kernel , called GNU Hurd , were stalled and incomplete. Minix

4510-761: The GNU toolchain , which includes the GNU Compiler Collection (GCC) and the GNU Build System . Amongst others, GCC provides compilers for Ada , C , C++ , Go and Fortran . Many programming languages have a cross-platform reference implementation that supports Linux, for example PHP , Perl , Ruby , Python , Java , Go , Rust and Haskell . First released in 2003, the LLVM project provides an alternative cross-platform open-source compiler for many languages. Proprietary compilers for Linux include

XPCOM - Misplaced Pages Continue

4620-473: The GUI shells , packaged together with extensive Desktop environments , such as KDE Plasma , GNOME , MATE , Cinnamon , LXDE , Pantheon , and Xfce , though a variety of additional user interfaces exist. Most popular user interfaces are based on the X Window System, often simply called "X". It provides network transparency and permits a graphical application running on one system to be displayed on another where

4730-511: The WHATWG such as client-side storage, and the canvas element . These standards are implemented through the Gecko layout engine, and SpiderMonkey JavaScript engine. Firefox 4 was the first release to introduce significant HTML5 and CSS3 support. Firefox has passed the Acid2 standards-compliance test since version 3.0. Mozilla had originally stated that they did not intend for Firefox to pass

4840-476: The shell , is either a command-line interface (CLI), a graphical user interface (GUI), or controls attached to the associated hardware, which is common for embedded systems. For desktop systems, the default user interface is usually graphical, although the CLI is commonly available through terminal emulator windows or on a separate virtual console . CLI shells are text-based user interfaces, which use text for both input and output. The dominant shell used in Linux

4950-399: The 1970s and 1980s. Such a system uses a monolithic kernel , the Linux kernel, which handles process control, networking, access to the peripherals , and file systems . Device drivers are either integrated directly with the kernel or added as modules that are loaded while the system is running. The GNU userland is a key part of most systems based on the Linux kernel, with Android being

5060-454: The 1980s, it became more difficult for hardware manufacturers to profit from this tactic, as the OS would run on any manufacturer's computer that shared the same architecture. Most programming languages support Linux either directly or through third-party community based ports . The original development tools used for building both Linux applications and operating system programs are found within

5170-682: The Adobe Primetime and Google Widevine CDMs by default to give users a smooth experience on sites that require DRM. Each CDM runs in a separate container called a sandbox and you will be notified when a CDM is in use. You can also disable each CDM and opt-out of future updates and that it is "an important step on Mozilla's roadmap to remove NPAPI plugin support." Upon the introduction of EME support, builds of Firefox on Windows were also introduced that exclude support for EME. The Free Software Foundation and Cory Doctorow condemned Mozilla's decision to support EME. From its inception, Firefox

5280-652: The Error Console or the DOM Inspector , and extensions , such as Firebug and more recently there has been an integration feature with Pocket . Firefox Hello was an implementation of WebRTC , added in October 2014, which allows users of Firefox and other compatible systems to have a video call, with the extra feature of screen and file sharing by sending a link to each other. Firefox Hello was scheduled to be removed in September 2016. Former features include

5390-453: The Firefox website and downloading an installer package, depending on the desired localization and system architecture. In November 2021, Mozilla made Firefox available on Microsoft Store . The Store-distributed package does not interfere with the traditional installation. Linux This is an accepted version of this page Linux ( / ˈ l ɪ n ʊ k s / , LIN -uuks )

5500-674: The GNU General Public License (GPL), is a form of copyleft and is used for the Linux kernel and many of the components from the GNU Project. Linux-based distributions are intended by developers for interoperability with other operating systems and established computing standards. Linux systems adhere to POSIX, SUS , LSB , ISO , and ANSI standards where possible, although to date only one Linux distribution has been POSIX.1 certified, Linux-FT. Free software projects, although developed through collaboration , are often produced independently of each other. The fact that

5610-464: The Linux kernel, key components that make up a distribution may include a display server (windowing system) , a package manager , a bootloader and the Bash shell . Linux is one of the most prominent examples of free and open-source software collaboration. While originally developed for x86 based personal computers , it has since been ported to more platforms than any other operating system, and

SECTION 50

#1732791438067

5720-650: The Linux kernel-based ChromeOS , dominates the US K–12 education market and represents nearly 20 percent of sub-$ 300 notebook sales in the US. Linux is the leading operating system on servers (over 96.4% of the top one million web servers' operating systems are Linux), leads other big iron systems such as mainframe computers , and is used on all of the world's 500 fastest supercomputers (as of November 2017 , having gradually displaced all competitors). Linux also runs on embedded systems , i.e., devices whose operating system

5830-613: The Linux kernel. On July 3, 1991, to implement Unix system calls , Linus Torvalds attempted unsuccessfully to obtain a digital copy of the POSIX standards documentation with a request to the comp.os.minix newsgroup . After not finding the POSIX documentation, Torvalds initially resorted to determining system calls from SunOS documentation owned by the university for use in operating its Sun Microsystems server. He also learned some system calls from Tanenbaum's Minix text. Torvalds began

5940-485: The Mozilla Suite to Firefox and Thunderbird . The Firefox project has undergone several name changes. The nascent browser was originally named Phoenix, after the mythical bird that rose triumphantly from the ashes of its dead predecessor (in this case, from the "ashes" of Netscape Navigator , after it was sidelined by Microsoft Internet Explorer in the " First Browser War "). Phoenix was renamed in 2003 due to

6050-475: The Servo team transferring ownership of the project to the Linux Foundation . When Firefox initially released, it used a custom script permission policy where scripts that were signed by the page could gain access to higher privilege actions such as the ability to set a user's preferences. However, this model was not widely used and was later discontinued by Firefox. Modern day Firefox instead follows

6160-466: The accessibility community" and had not been resolved as of October 2024 . On January 13, 2022, an issue with Firefox's HTTP/3 implementation resulted in a widespread outage for several hours. On September 26, 2023, Firefox 118.0 introduced on-device translation of web page content. On January 23, 2024, along with the release of Firefox 122.0, Mozilla introduced an official APT repository for Debian -based Linux distributions . Features of

6270-471: The beginning, it was rather casually hacked on by huge numbers of volunteers coordinating only through the Internet. Quality was maintained not by rigid standards or autocracy but by the naively simple strategy of releasing every week and getting feedback from hundreds of users within days, creating a sort of rapid Darwinian selection on the mutations introduced by developers." Bryan Cantrill , an engineer of

6380-483: The browser or device, and deleted only upon a manual exit. The feature was removed in 2019, purportedly to " streamline the experience ". Firefox implements many web standards , including HTML4 (almost full HTML5 ), XML , XHTML , MathML , SVG 1.1 (full), SVG 2 (partial), CSS (with extensions), ECMAScript ( JavaScript ), DOM , XSLT , XPath , and APNG (Animated PNG ) images with alpha transparency . Firefox also implements standards proposals created by

6490-427: The browser's performance, modernize its architecture, and transition the browser to a multi-process model. These improvements came in the wake of decreasing market share to Google Chrome , as well as concerns that its performance was lapsing in comparison. Despite its improvements, these changes required existing add-ons for Firefox to be made incompatible with newer versions, in favor of a new extension system that

6600-632: The commercial requirements of Netscape 's sponsorship and developer-driven feature creep compromised the utility of the Mozilla browser. To combat what they saw as the Mozilla Suite 's software bloat , they created a standalone browser, with which they intended to replace the Mozilla Suite. Version 0.1 was released on September 23, 2002. On April 3, 2003, the Mozilla Organization announced that it planned to change its focus from

6710-447: The complexity and diversity of different devices, and due to the large number of formats and standards handled by those APIs, this infrastructure needs to evolve to better fit other devices. Also, a good userspace device library is the key to the success of having userspace applications to be able to work with all formats supported by those devices. The primary difference between Linux and many other popular contemporary operating systems

SECTION 60

#1732791438067

6820-498: The consumer market is perhaps the mobile device market, with Android being the dominant operating system on smartphones and very popular on tablets and, more recently, on wearables . Linux gaming is also on the rise with Valve showing its support for Linux and rolling out SteamOS , its own gaming-oriented Linux distribution, which was later implemented in their Steam Deck platform. Linux distributions have also gained popularity with various local and national governments, such as

6930-414: The cost of memory, therefore suitable for computers with larger RAM capacity. On May 3, 2019, the expiry of an intermediate signing certificate on Mozilla servers caused Firefox to automatically disable and lock all browser extensions (add-ons). Mozilla began the roll-out of a fix shortly thereafter, using their Mozilla Studies component. Support for Adobe Flash was dropped on January 6, 2021, with

7040-467: The design of Unix served as a scaffolding, "Linux grew with a lot of mutations – and because the mutations were less than random, they were faster and more directed than alpha-particles in DNA ." Eric S. Raymond considers Linux's revolutionary aspects to be social, not technical: before Linux, complex software was designed carefully by small groups, but "Linux evolved in a completely different way. From nearly

7150-427: The desktop edition include tabbed browsing , full-screen mode, spell checking , incremental search , smart bookmarks , bookmarking and downloading through drag and drop , a download manager , user profile management, private browsing , bookmark tags, bookmark exporting , offline mode, a screenshot tool, web development tools , a "page info" feature which shows a list of page metadata and multimedia items,

7260-423: The developer tools for testing purposes. Beginning with Firefox 48, all extensions must be signed by Mozilla to be used in release and beta versions of Firefox. Firefox 43 blocked unsigned extensions but allowed enforcement of extension signing to be disabled. All extensions must be submitted to Mozilla Add-ons and be subject to code analysis in order to be signed, although extensions do not have to be listed on

7370-608: The development and release model changed into a "rapid" one; by the end of 2011 the stable release was version 9, and by the end of 2012 it reached version 17. Major redesigns of its graphical user interface occurred on versions 4.0 ( Strata ) in March 2011, 29.0 ( Australis ) in April 2014, 57.0 ( Photon ) in November 2017, and 89.0 ( Proton ) in June 2021. In 2016, Mozilla announced a project known as Quantum , which sought to improve Firefox's Gecko engine and other components to improve

7480-508: The development of 386BSD , from which NetBSD , OpenBSD and FreeBSD descended, predated that of Linux. Linus Torvalds has stated on separate occasions that if the GNU kernel or 386BSD had been available at the time (1991), he probably would not have created Linux. While attending the University of Helsinki in the fall of 1990, Torvalds enrolled in a Unix course. The course used a MicroVAX minicomputer running Ultrix , and one of

7590-532: The development of the Linux kernel on Minix and applications written for Minix were also used on Linux. Later, Linux matured and further Linux kernel development took place on Linux systems. GNU applications also replaced all Minix components, because it was advantageous to use the freely available code from the GNU Project with the fledgling operating system; code licensed under the GNU GPL can be reused in other computer programs as long as they also are released under

7700-476: The development of the components of the system and free software. An analysis of the Linux kernel in 2017 showed that well over 85% of the code was developed by programmers who are being paid for their work, leaving about 8.2% to unpaid developers and 4.1% unclassified. Some of the major corporations that provide contributions include Intel , Samsung , Google , AMD , Oracle , and Facebook . Several corporations, notably Red Hat, Canonical , and SUSE have built

7810-559: The federal government of Brazil . Linus Torvalds is the lead maintainer for the Linux kernel and guides its development, while Greg Kroah-Hartman is the lead maintainer for the stable branch. Zoë Kooyman is the executive director of the Free Software Foundation, which in turn supports the GNU components. Finally, individuals and corporations develop third-party non-GNU components. These third-party components comprise

7920-471: The first version of the Linux kernel on the Internet . Like GNU and 386BSD, Linux did not have any Unix code and therefore avoided any current legal issues . Desktop Linux distributions include a windowing system such as X11 or Wayland and a desktop environment such as GNOME , KDE Plasma or Xfce . Distributions intended for servers may not have a graphical user interface at all or include

8030-478: The following: Firefox 1.0 was released for Windows 95 , as well as Windows NT 4.0 or later. Some users reported the 1.x builds were operable (but not installable) on Windows NT 3.51 . The version 42.0 release includes the first x64 build. It required Windows 7 or Server 2008 R2 . Starting from version 49.0, Firefox for Windows requires and uses the SSE2 instruction set. In September 2013, Mozilla released

8140-557: The in-house Pontoon localization platform. The first official release in November 2004 was available in 24 different languages and for 28 locales . In 2019, Mozilla released Project Fluent a localization system that allows translators to be more flexible with their translation than to be constrained in one-to-one translation of strings. As of November 2024 the supported versions of Firefox are available in 97 locales (88 languages). There are desktop versions of Firefox for Microsoft Windows, macOS, and Linux, while Firefox for Android

8250-576: The integrated pop-up blocker , tabbed browsing , and an extension mechanism for adding functionality. Although these features have already been available for some time in other browsers such as the Mozilla Suite and Opera , Firefox was the first of these browsers to have achieved large-scale adoption. Firefox attracted attention as an alternative to Internet Explorer , which had come under fire for its alleged poor program design and insecurity—detractors cite IE's lack of support for certain Web standards, use of

8360-468: The main things making the Mozilla application environment an actual framework. It is a development environment that provides the following features for the cross-platform software developer: This component object model makes virtually all of the functionality of Gecko available as a series of components, or reusable cross-platform libraries , that can be accessed from the web browser or scripted from any Mozilla application. Applications that must access

8470-516: The mid-1990s in the supercomputing community, where organizations such as NASA started to replace their increasingly expensive machines with clusters of inexpensive commodity computers running Linux. Commercial use began when Dell and IBM , followed by Hewlett-Packard , started offering Linux support to escape Microsoft 's monopoly in the desktop operating system market. Today, Linux systems are used throughout computing, from embedded systems to virtually all supercomputers , and have secured

8580-441: The notable exception. The GNU C library , an implementation of the C standard library , works as a wrapper for the system calls of the Linux kernel necessary to the kernel-userspace interface, the toolchain is a broad collection of programming tools vital to Linux development (including the compilers used to build the Linux kernel itself), and the coreutils implement many basic Unix tools . The GNU Project also develops Bash ,

8690-501: The operating system to their specific needs. Distributions are maintained by individuals, loose-knit teams, volunteer organizations, and commercial entities. A distribution is responsible for the default configuration of the installed Linux kernel, general system security, and more generally integration of the different software packages into a coherent whole. Distributions typically use a package manager such as apt , yum , zypper , pacman or portage to install, remove, and update all of

8800-635: The operating system, was considered a safer alternative since it was less likely to have issues that could completely compromise a computer. This led to a significant increase in Firefox's popularity during the early 2000s as a more secure alternative. Moreover, Firefox was considered to have fewer actively exploitable security vulnerabilities compared to its competitors. In 2006, The Washington Post reported that exploit code for known security vulnerabilities in Internet Explorer were available for 284 days compared to only nine days for Firefox before

8910-405: The playback of video content protected by HTML5 Encrypted Media Extensions (EME), since version 38. For security and privacy reasons, EME is implemented within a wrapper of open-source code that allows execution of a proprietary DRM module by Adobe Systems —Adobe Primetime Content Decryption Module (CDM). CDM runs within a " sandbox " environment to limit its access to the system and provide it

9020-568: The potentially dangerous ActiveX component, and vulnerability to spyware and malware installation. Microsoft responded by releasing Windows XP Service Pack 2, which added several important security features to Internet Explorer 6. Version 1.0 of Firefox was released on November 9, 2004. This was followed by version 1.5 in November 2005, version 2.0 in October 2006, version 3.0 in June 2008, version 3.5 in June 2009, version 3.6 in January 2010, and version 4.0 in March 2011. From version 5 onwards,

9130-476: The problem was fixed. A Symantec study around the same period showed that even though Firefox had a higher number of vulnerabilities, on average vulnerabilities were fixed faster in Firefox than in other browsers during that period. During this period, Firefox used a monolithic architecture , like most browsers at the time. This meant all browser components ran in a single process with access to all system resources . This setup had multiple security issues. If

9240-452: The release of Firefox 85. On June 1, 2021, Firefox's 'Proton' redesign was offered through its stable release channel after being made available in the beta builds. While users were initially allowed to revert to the old design through about:config , the corresponding key-value pairs reportedly stopped working in later builds, resulting in criticism. These included accessibility concerns despite Mozilla's claim to "continue to work with

9350-479: The rendering component in its own sandbox. Firefox released this rewrite in to beta in August 2016, noting a 10–20% increase in memory usage, which was lower than Chrome's at the time. However, the rewrite caused issues with their legacy extension API, which was not designed to work cross-process and required shim code to function correctly. After over a year in beta, the rewrite was enabled by default all users of Firefox in November 2017. In 2012, Mozilla launched

9460-455: The required texts was Operating Systems: Design and Implementation by Andrew S. Tanenbaum . This textbook included a copy of Tanenbaum's Minix operating system. It was with this course that Torvalds first became exposed to Unix. In 1991, he became curious about operating systems. Frustrated by the licensing of Minix, which at the time limited it to educational use only, he began to work on his operating system kernel, which eventually became

9570-412: The same or a compatible license. Torvalds initiated a switch from his original license, which prohibited commercial redistribution, to the GNU GPL. Developers worked to integrate GNU components with the Linux kernel, creating a fully functional and free operating system. Linus Torvalds had wanted to call his invention " Freax ", a portmanteau of "free", "freak", and "x" (as an allusion to Unix). During

9680-548: The security of existing components. Additionally, the older incompatible extension API was removed in favour of a WebExtension API that more closely resembled Google Chrome's extension system. This broke compatibility with older extensions but resulted in lesser vulnerabilities and a much more maintainable extension system. While the Servo project was intended to replace more parts of the Gecko Engine, this plan never came to fruition. In 2020, Mozilla laid off all developers on

9790-585: The service to be signed. On May 2, 2019, Mozilla announced that it would be strengthening the signature enforcement with methods that included the retroactive disabling of old extensions now deemed to be insecure. Since version 60 Firefox includes the option to use DNS over HTTPS (DoH), which causes DNS lookup requests to be sent encrypted over the HTTPS protocol. To use this feature the user must set certain preferences beginning with "network.trr" (Trusted Recursive Resolver) in about:config : if network.trr.mode

9900-409: The show Mr. Robot was silently added in an update to Firefox. Firefox can have themes added to it, which users can create or download from third parties to change the appearance of the browser. In 2013, Firefox for Android added a guest session mode, which wiped browsing data such as tabs, cookies, and history at the end of each guest session. Guest session data was kept even when restarting

10010-441: The software licenses explicitly permit redistribution, however, provides a basis for larger-scale projects that collect the software produced by stand-alone projects and make it available all at once in the form of a Linux distribution. Many Linux distributions manage a remote collection of system software and application software packages available for download and installation through a network connection. This allows users to adapt

10120-451: The standard same-origin policy permission model that is followed by most modern browsers which disallows scripts from accessing any privileged data including data about other websites. It uses TLS to protect communications with web servers using strong cryptography when using the HTTPS protocol. The freely available HTTPS Everywhere add-on enforces HTTPS, even if a regular HTTP URL

10230-529: The start of his work on the system, some of the project's makefiles included the name "Freax" for about half a year. Initially, Torvalds considered the name "Linux" but dismissed it as too egotistical. To facilitate development, the files were uploaded to the FTP server ( ftp.funet.fi ) of FUNET in September 1991. Ari Lemmke, Torvalds' coworker at the Helsinki University of Technology (HUT) who

10340-471: The use case of the system. This custom interface is accessed through a client that resides on another system, not necessarily Linux-based. Several types of window managers exist for X11, including tiling , dynamic , stacking , and compositing . Window managers provide means to control the placement and appearance of individual application windows, and interact with the X Window System. Simpler X window managers such as dwm , ratpoison , or i3wm provide

10450-898: The various Mozilla XPCOM libraries ( networking , security , DOM , etc.) use a special layer of XPCOM called XPConnect , which reflects the library interfaces into JavaScript , or other languages. XPConnect glues the front end to the C++ , C , or Rust programming language based components in XPCOM, and it can be extended to include scripting support for other languages: PyXPCOM already offers support for Python . wxWidgets provide support for Perl , and there are efforts underway to add Common Language Infrastructure (CLI) and Ruby language support for XPConnect. For developers, XPCOM allows writing components in C++ , C , JavaScript , Python , or other languages for which special bindings have been created, and compile and run those components on dozens of different platforms, including these and others where Mozilla

10560-559: The various distribution-specific support and community forums, such as ones for Ubuntu , Fedora, Arch Linux , Gentoo , etc. Linux distributions host mailing lists ; commonly there will be a specific topic such as usage or development for a given list. There are several technology websites with a Linux focus. Print magazines on Linux often bundle cover disks that carry software or even complete Linux distributions. Although Linux distributions are generally available without charge, several large corporations sell, support, and contribute to

10670-427: The websites users visit. Also known as state partitioning or "total cookie protection", SmartBlock works via a feature in the browser that isolates data from each site visited by the user to ensure that cross-site scripting is very difficult if not impossible. The feature also isolates local storage, service workers and other common ways for sites to store data. Firefox is a widely localized web browser. Mozilla uses

10780-511: The word "Linux" in their name, but the Free Software Foundation uses and recommends the name " GNU/Linux " to emphasize the use and importance of GNU software in many distributions, causing some controversy . Thousands of distributions exist, many based directly or indirectly on other distributions; popular Linux distributions include Debian , Fedora Linux , Arch Linux , and Ubuntu , while commercial distributions include Red Hat Enterprise Linux and SUSE Linux Enterprise . Other than

10890-429: The word "Linux" should be pronounced, he included an audio guide with the kernel source code. However, in this recording, he pronounces Linux as /ˈlinʊks/ ( LEEN -uuks ) with a short but close front unrounded vowel , instead of a near-close near-front unrounded vowel as in his newsgroup post. The adoption of Linux in production environments, rather than being used only by hobbyists, started to take off first in

11000-508: Was conceived and implemented in 1969, at AT&T 's Bell Labs , in the United States by Ken Thompson , Dennis Ritchie , Douglas McIlroy , and Joe Ossanna . First released in 1971, Unix was written entirely in assembly language , as was common practice at the time. In 1973, in a key pioneering approach, it was rewritten in the C programming language by Dennis Ritchie (except for some hardware and I/O routines). The availability of

11110-446: Was created by Andrew S. Tanenbaum , a computer science professor, and released in 1987 as a minimal Unix-like operating system targeted at students and others who wanted to learn operating system principles. Although the complete source code of Minix was freely available, the licensing terms prevented it from being free software until the licensing changed in April 2000. Although not released until 1992, due to legal complications ,

11220-514: Was created by Netscape in 1998, before its acquisition by AOL . Firefox was created in 2002 under the codename "Phoenix" by members of the Mozilla community who desired a standalone browser rather than the Mozilla Application Suite bundle. During its beta phase, it proved to be popular with its testers and was praised for its speed, security, and add-ons compared to Microsoft 's then-dominant Internet Explorer 6 . It

11330-510: Was designed by Linus Torvalds , following the lack of a working kernel for GNU , a Unix -compatible operating system made entirely of free software that had been undergoing development since 1983 by Richard Stallman . While a separate working Unix-compatible system called Minix was later released, its license was not entirely free at the time. The first entirely free Unix for personal computers, 386BSD , did not appear until 1992, by which time Torvalds had already built and publicly released

11440-459: Was later originally developed, it represented the first successful commercial attempt at distributing a primarily single-user microcomputer that ran a Unix operating system. With Unix increasingly "locked in" as a proprietary product, the GNU Project , started in 1983 by Richard Stallman , had the goal of creating a "complete Unix-compatible software system" composed entirely of free software . Work began in 1984. Later, in 1985, Stallman started

11550-491: Was made due to the fact the JavaScript was being used across a majority of websites on the web and disabling JavaScript could potentially have untoward repercussions on inexperienced users who are unaware of its impact. Firefox also cited the fact that extensions like NoScript , that can disable JavaScript in a more controlled fashion, were widely available. The following release added the ability to disable JavaScript through

11660-513: Was one of the volunteer administrators for the FTP server at the time, did not think that "Freax" was a good name, so he named the project "Linux" on the server without consulting Torvalds. Later, however, Torvalds consented to "Linux". According to a newsgroup post by Torvalds, the word "Linux" should be pronounced ( / ˈ l ɪ n ʊ k s / LIN -uuks ) with a short 'i' as in 'print' and 'u' as in 'put'. To further demonstrate how

11770-466: Was positioned as a security-focused browser. At the time, Internet Explorer , the dominant browser, was facing a security crisis. Multiple vulnerabilities had been found, and malware like Download.Ject could be installed simply by visiting a compromised website. The situation was so bad that the US Government issued a warning against using Internet Explorer. Firefox, being less integrated with

11880-518: Was released from its obligation not to enter the computer business; freed of that obligation, Bell Labs began selling Unix as a proprietary product, where users were not legally allowed to modify it. Onyx Systems began selling early microcomputer-based Unix workstations in 1980. Later, Sun Microsystems , founded as a spin-off of a student project at Stanford University , also began selling Unix-based desktop workstations in 1982. While Sun workstations did not use commodity PC hardware, for which Linux

11990-455: Was released on November 9, 2004, and challenged Internet Explorer 's dominance with 60 million downloads within nine months. In November 2017, Firefox began incorporating new technology under the code name " Quantum " to promote parallelism and a more intuitive user interface . Firefox usage share grew to a peak of 32.21% in November 2009, with Firefox 3.5 overtaking Internet Explorer 7 , although not all versions of Internet Explorer as

12100-453: Was updated to include the ability to block scripts that used a computer's CPU to mine cryptocurrency without a user's permission, in Firefox version 67.0. The update also allowed users to block known fingerprinting scripts that track their activity across the web, however it does not resist fingerprinting on its own. In March 2021, Firefox launched SmartBlock in version 87 to offer protection against cross-site tracking , without breaking

#66933