Misplaced Pages

Chromium Embedded Framework

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.

The Chromium Embedded Framework ( CEF ) is an open-source software framework for embedding a Chromium web browser within another application . This enables developers to add web browsing functionality to their application, as well as the ability to use HTML , CSS , and JavaScript to create the application's user interface (or just portions of it).

#47952

86-562: CEF runs on Linux , macOS , and Windows . It has many language bindings including C , C++ , Go , Java , and Python . There are two versions of Chromium Embedded Framework: CEF 1 and CEF 3. Development of CEF 2 was abandoned after the appearance of the Chromium Content API. CEF 1 is a single-process implementation based on the Chromium WebKit API. It is no longer actively developed or supported. CEF 3

172-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

258-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

344-532: A provider and accessed over the Internet . The process of developing software involves several stages. The stages include software design , programming , testing , release , and maintenance . Software quality assurance and security are critical aspects of software development, as bugs and security vulnerabilities can lead to system failures and security breaches. Additionally, legal issues such as software licenses and intellectual property rights play

430-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,

516-509: A vulnerability . Software patches are often released to fix identified vulnerabilities, but those that remain unknown ( zero days ) as well as those that have not been patched are still liable for exploitation. Vulnerabilities vary in their ability to be exploited by malicious actors, and the actual risk is dependent on the nature of the vulnerability as well as the value of the surrounding system. Although some vulnerabilities can only be used for denial of service attacks that compromise

602-520: A web application —had become the primary method that companies deliver applications. Software companies aim to deliver a high-quality product on time and under budget. A challenge is that software development effort estimation is often inaccurate. Software development begins by conceiving the project, evaluating its feasibility, analyzing the business requirements, and making a software design . Most software projects speed up their development by reusing or incorporating existing software, either in

688-457: A change request. Frequently, software is released in an incomplete state when the development team runs out of time or funding. Despite testing and quality assurance , virtually all software contains bugs where the system does not work as intended. Post-release software maintenance is necessary to remediate these bugs when they are found and keep the software working as the environment changes over time. New features are often added after

774-486: A code's correct and efficient behavior, its reusability and portability , or the ease of modification. It is usually more cost-effective to build quality into the product from the beginning rather than try to add it later in the development process. Higher quality code will reduce lifetime cost to both suppliers and customers as it is more reliable and easier to maintain . Software failures in safety-critical systems can be very serious including death. By some estimates,

860-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

946-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

SECTION 10

#1732787059048

1032-443: A legal regime where liability for software products is significantly curtailed compared to other products. Source code is protected by copyright law that vests the owner with the exclusive right to copy the code. The underlying ideas or algorithms are not protected by copyright law, but are often treated as a trade secret and concealed by such methods as non-disclosure agreements . Software copyright has been recognized since

1118-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

1204-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

1290-437: A programming language is run through a compiler or interpreter to execute on the architecture's hardware. Over time, software has become complex, owing to developments in networking , operating systems , and databases . Software can generally be categorized into two main types: The rise of cloud computing has introduced the new software delivery model Software as a Service (SaaS). In SaaS, applications are hosted by

1376-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

1462-495: A significant role in the distribution of software products. The first use of the word software is credited to mathematician John Wilder Tukey in 1958. The first programmable computers, which appeared at the end of the 1940s, were programmed in machine language . Machine language is difficult to debug and not portable across different computers. Initially, hardware resources were more expensive than human resources . As programs became complex, programmer productivity became

1548-416: A simple application using CEF 3. Documentation can be found in the header files located in the "include" directory and on wiki pages. The base CEF framework includes support for the C and C++ programming languages, but there are external projects that provide bindings for other languages: Linux This is an accepted version of this page Linux ( / ˈ l ɪ n ʊ k s / , LIN -uuks )

1634-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

1720-514: A specific version of the software, downloaded, and run on hardware belonging to the purchaser. The rise of the Internet and cloud computing enabled a new model, software as a service (SaaS), in which the provider hosts the software (usually built on top of rented infrastructure or platforms ) and provides the use of the software to customers, often in exchange for a subscription fee . By 2023, SaaS products—which are usually delivered via

1806-415: A system's availability, others allow the attacker to inject and run their own code (called malware ), without the user being aware of it. To thwart cyberattacks, all software in the system must be designed to withstand and recover from external attack. Despite efforts to ensure security, a significant fraction of computers are infected with malware. Programming languages are the format in which software

SECTION 20

#1732787059048

1892-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

1978-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

2064-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

2150-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

2236-406: Is a multi-process implementation based on the Chromium Content API and has performance similar to Google Chrome. It uses asynchronous messaging to communicate between the main application process and one or more render processes ( Blink + V8 JavaScript engine). As of July of 2022, it no longer supports PPAPI plugins due to removal of PPAPI, legacy Chrome Apps, and Native Client (NaCl) support from

2322-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

2408-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,

2494-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

2580-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

2666-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

Chromium Embedded Framework - Misplaced Pages Continue

2752-453: Is written. Since the 1950s, thousands of different programming languages have been invented; some have been in use for decades, while others have fallen into disuse. Some definitions classify machine code —the exact instructions directly implemented by the hardware—and assembly language —a more human-readable alternative to machine code whose statements can be translated one-to-one into machine code—as programming languages. Programs written in

2838-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

2924-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

3010-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

3096-739: The Intel C++ Compiler , Sun Studio , and IBM XL C/C++ Compiler . BASIC is available in procedural form from QB64 , PureBasic , Yabasic , GLBasic , Basic4GL , XBasic , wxBasic , SdlBasic , and Basic-256 , as well as object oriented through Gambas , FreeBASIC , B4X, Basic for Qt , Phoenix Object Basic, NS Basic , ProvideX, Chipmunk Basic , RapidQ and Xojo . Pascal is implemented through GNU Pascal , Free Pascal , and Virtual Pascal , as well as graphically via Lazarus , PascalABC.NET , or Delphi using FireMonkey (previously through Borland Kylix ). Software Software consists of computer programs that instruct

3182-499: The execution of a computer . Software also includes design documents and specifications. The history of software is closely tied to the development of digital computers in the mid-20th century. Early programs were written in the machine language specific to the hardware. The introduction of high-level programming languages in 1958 allowed for more human-readable instructions, making software development easier and more portable across different computer architectures . Software in

3268-438: The high-level programming languages used to create software share a few main characteristics: knowledge of machine code is not necessary to write them, they can be ported to other computer systems, and they are more concise and human-readable than machine code. They must be both human-readable and capable of being translated into unambiguous instructions for computer hardware. The invention of high-level programming languages

3354-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

3440-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

3526-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

Chromium Embedded Framework - Misplaced Pages Continue

3612-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

3698-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

3784-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

3870-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

3956-415: 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

4042-399: The bottleneck. The introduction of high-level programming languages in 1958 hid the details of the hardware and expressed the underlying algorithms into the code . Early languages include Fortran , Lisp , and COBOL . There are two main types of software: Software can also be categorized by how it is deployed . Traditional applications are purchased with a perpetual license for

4128-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

4214-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

4300-404: The correctness of code, while user acceptance testing helps to ensure that the product meets customer expectations. There are a variety of software development methodologies , which vary from completing all steps in order to concurrent and iterative models. Software development is driven by requirements taken from prospective users, as opposed to maintenance, which is driven by events such as

4386-400: The cost of poor quality software can be as high as 20 to 40 percent of sales. Despite developers' goal of delivering a product that works entirely as intended, virtually all software contains bugs. The rise of the Internet also greatly increased the need for computer security as it enabled malicious actors to conduct cyberattacks remotely. If a bug creates a security risk, it is called

SECTION 50

#1732787059048

4472-419: The cost of products. Unlike copyrights, patents generally only apply in the jurisdiction where they were issued. Engineer Capers Jones writes that "computers and software are making profound changes to every aspect of human life: education, work, warfare, entertainment, medicine, law, and everything else". It has become ubiquitous in everyday life in developed countries . In many cases, software augments

4558-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

4644-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

4730-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

4816-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

4902-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

4988-416: 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

5074-438: The form of commercial off-the-shelf (COTS) or open-source software . Software quality assurance is typically a combination of manual code review by other engineers and automated software testing . Due to time constraints, testing cannot cover all aspects of the software's intended functionality, so developers often focus on the most critical functionality. Formal methods are used in some safety-critical systems to prove

5160-439: The functionality of existing technologies such as household appliances and elevators . Software also spawned entirely new technologies such as the Internet , video games , mobile phones , and GPS . New methods of communication, including email , forums , blogs , microblogging , wikis , and social media , were enabled by the Internet. Massive amounts of knowledge exceeding any paper-based library are now available with

5246-597: The mid-1970s and is vested in the company that makes the software, not the employees or contractors who wrote it. The use of most software is governed by an agreement ( software license ) between the copyright holder and the user. Proprietary software is usually sold under a restrictive license that limits copying and reuse (often enforced with tools such as digital rights management (DRM)). Open-source licenses , in contrast, allow free use and redistribution of software with few conditions. Most open-source licenses used for software require that modifications be released under

SECTION 60

#1732787059048

5332-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

5418-515: The new version numbering has the major number the same as the Chromium major version number it is based on. CEF comes with a sample application called CefClient that is written in C++ using WinAPI , Cocoa , or GTK (depending on the platform) and contains demos of various features. Newer versions include a sample application called CefSimple that, along with an accompanying tutorial, show how to create

5504-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 ,

5590-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

5676-472: The operating system) can take this saved file and execute it as a process on the computer hardware. Some programming languages use an interpreter instead of a compiler. An interpreter converts the program into machine code at run time , which makes them 10 to 100 times slower than compiled programming languages. Software is often released with the knowledge that it is incomplete or contains bugs. Purchasers knowingly buy it in this state, which has led to

5762-618: The physical world may also be part of the requirements for a software patent to be held valid. Software patents have been historically controversial . Before the 1998 case State Street Bank & Trust Co. v. Signature Financial Group, Inc. , software patents were generally not recognized in the United States. In that case, the Supreme Court decided that business processes could be patented. Patent applications are complex and costly, and lawsuits involving patents can drive up

5848-408: The release. Over time, the level of maintenance becomes increasingly restricted before being cut off entirely when the product is withdrawn from the market. As software ages , it becomes known as legacy software and can remain in use for decades, even if there is no one left who knows how to fix it. Over the lifetime of the product, software maintenance is estimated to comprise 75 percent or more of

5934-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

6020-424: The same license, which can create complications when open-source software is reused in proprietary projects. Patents give an inventor an exclusive, time-limited license for a novel product or process. Ideas about what software could accomplish are not protected by law and concrete implementations are instead covered by copyright law . In some countries, a requirement for the claimed invention to have an effect on

6106-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

6192-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

6278-586: 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

6364-431: The total development cost. Completing a software project involves various forms of expertise, not just in software programmers but also testing, documentation writing, project management , graphic design , user experience , user support, marketing , and fundraising. Software quality is defined as meeting the stated requirements as well as customer expectations. Quality is an overarching term that can refer to

6450-532: The upstream Chromium project. PDF viewer support from Chromium's PDFium PDF viewer is still supported though. The single-process run mode is not supported, but still present; currently is being used for debugging purposes only. On March 16, 2019, the CEF version numbering changed with the release of CEF 73.1.3+g46cf800+chromium-73.0.3683.75. The previous release on March 14, 2019 was CEF 3.3683.1920.g9f41a27. Both of these releases were based on Chromium 73.0.3683.75, however

6536-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

6622-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

6708-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

6794-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

6880-445: 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

6966-498: 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 ,

7052-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

7138-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

7224-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

7310-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

7396-401: Was simultaneous with the compilers needed to translate them automatically into machine code. Most programs do not contain all the resources needed to run them and rely on external libraries . Part of the compiler's function is to link these files in such a way that the program can be executed by the hardware. Once compiled, the program can be saved as an object file and the loader (part of

#47952