Free software , libre software , libreware sometimes known as freedom-respecting software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty , not price; all users are legally free to do what they want with their copies of a free software (including profiting from them) regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users (not just the developer) ultimate control over the software and, subsequently, over their devices.
90-537: LXDE (abbreviation for Lightweight X11 Desktop Environment) was a free desktop environment with comparatively low resource requirements. This makes it especially suitable for use on older or resource-constrained personal computers such as netbooks or system on a chip computers. LXDE was written in the C programming language , using the GTK 2 toolkit, and runs on Unix and other POSIX -compliant platforms, such as Linux and BSDs . The LXDE project aims to provide
180-428: A negative or positive liberty . Due to their restrictions on distribution, not everyone considers copyleft licenses to be free. Conversely, a permissive license may provide an incentive to create non-free software by reducing the cost of developing restricted software. Since this is incompatible with the spirit of software freedom, many people consider permissive licenses to be less free than copyleft licenses. There
270-476: A computer somewhere on a network (such as the Internet) can display its user interface on an X server running on some other computer on the network. The X server is typically the provider of graphics resources and keyboard/mouse events to X clients , meaning that the X server is usually running on the computer in front of a human user, while the X client applications run anywhere on the network and communicate with
360-529: A copy of the free application itself. Fees are usually charged for distribution on compact discs and bootable USB drives, or for services of installing or maintaining the operation of free software. Development of large, commercially used free software is often funded by a combination of user donations, crowdfunding , corporate contributions, and tax money. The SELinux project at the United States National Security Agency
450-508: A desktop environment, which, aside from the window manager, includes various applications using a consistent user interface. Popular desktop environments include GNOME , KDE Plasma and Xfce . The UNIX 98 standard environment is the Common Desktop Environment (CDE). The freedesktop.org initiative addresses interoperability between desktops and the components needed for a competitive X desktop. The X.Org implementation
540-403: A fast and energy-efficient desktop environment . LXDE uses rolling releases for its individual components (or for groups of components with coupled dependencies). The default window manager used is Openbox , but one can configure a third-party window manager for use with LXDE, such as Fluxbox , IceWM or Xfwm . LXDE includes GPL -licensed code as well as LGPL -licensed code. The project
630-561: A fee. The Free Software Foundation encourages selling free software. As the Foundation has written, "distributing free software is an opportunity to raise funds for development. Don't waste it!". For example, the FSF's own recommended license (the GNU GPL ) states that "[you] may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for
720-450: A fee." Microsoft CEO Steve Ballmer stated in 2001 that "open source is not available to commercial companies. The way the license is written, if you use any open-source software, you have to make the rest of your software open source." This misunderstanding is based on a requirement of copyleft licenses (like the GPL) that if one distributes modified versions of software, they must release
810-494: A for-profit, commercial activity or not. Some free software is developed by volunteer computer programmers while other is developed by corporations; or even by both. Although both definitions refer to almost equivalent corpora of programs, the Free Software Foundation recommends using the term "free software" rather than " open-source software " (an alternative, yet similar, concept coined in 1998), because
900-741: A functional form of the "network transparency" feature of X, via network transmissibility of graphical services, include: Several bitmap display systems preceded X. From Xerox came the Alto (1973) and the Star (1981). From Apollo Computer came Display Manager (1981). From Apple came the Lisa (1983) and the Macintosh (1984). The Unix world had the Andrew Project (1982) and Rob Pike 's Blit terminal (1982). Carnegie Mellon University produced
990-473: A native windowing system hosts X in addition, the X system can either use its own normal desktop in a separate host window or it can run rootless , meaning the X desktop is hidden and the host windowing environment manages the geometry and appearance of the hosted X windows within the host screen. An X terminal is a thin client that only runs an X server. This architecture became popular for building inexpensive terminal parks for many users to simultaneously use
SECTION 10
#17328016464801080-613: A network protocol supporting terminal and graphics windows, the server maintaining display lists. The email in which X was introduced to the Project Athena community at MIT in June 1984 The original idea of X emerged at MIT in 1984 as a collaboration between Jim Gettys (of Project Athena ) and Bob Scheifler (of the MIT Laboratory for Computer Science ). Scheifler needed a usable display environment for debugging
1170-419: A port of X to 386-compatible PCs and, by the end of the 1990s, had become the greatest source of technical innovation in X and the de facto standard of X development. Since 2004, however, the X.Org Server, a fork of XFree86, has become predominant. While it is common to associate X with Unix, X servers also exist natively within other graphical environments. VMS Software Inc.'s OpenVMS operating system includes
1260-730: A protocol that could both run local applications and call on remote resources. In mid-1983 an initial port of W to Unix ran at one-fifth of its speed under V; in May 1984, Scheifler replaced the synchronous protocol of W with an asynchronous protocol and the display lists with immediate mode graphics to make X version 1. X became the first windowing system environment to offer true hardware independence and vendor independence. Scheifler, Gettys and Ron Newman set to work and X progressed rapidly. They released Version 6 in January 1985. DEC, then preparing to release its first Ultrix workstation, judged X
1350-784: A remote machine, the user may do the following: The remote X client application will then make a connection to the user's local X server, providing display and input to the user. Alternatively, the local machine may run a small program that connects to the remote machine and starts the client application. Practical examples of remote clients include: X primarily defines protocol and graphics primitives – it deliberately contains no specification for application user-interface design, such as button, menu, or window title-bar styles. Instead, application software – such as window managers, GUI widget toolkits and desktop environments, or application-specific graphical user interfaces – define and provide such details. As
1440-544: A remote-access application called Alto Terminal, that displayed overlapping windows on the Xerox Alto, and made remote hosts (typically DEC VAX systems running Unix) responsible for handling window-exposure events and refreshing window contents as necessary. X derives its name as a successor to a pre-1983 window system called W (the letter preceding X in the English alphabet ). W ran under the V operating system . W used
1530-567: A result, there is no typical X interface and several different desktop environments have become popular among users. A window manager controls the placement and appearance of application windows. This may result in desktop interfaces reminiscent of those of Microsoft Windows or of the Apple Macintosh (examples include GNOME 2, KDE Plasma, Xfce) or have radically different controls (such as a tiling window manager, like wmii or Ratpoison ). Some interfaces such as Sugar or ChromeOS eschew
1620-571: A significant part in the development of the Internet, the World Wide Web and the infrastructure of dot-com companies . Free software allows users to cooperate in enhancing and refining the programs they use; free software is a pure public good rather than a private good . Companies that contribute to free software increase commercial innovation . "We migrated key functions from Windows to Linux because we needed an operating system that
1710-588: A slower pace than those with other desktop environments. Dissatisfied with GTK 3, Hong Jen Yee experimented with Qt in early 2013 and released the first version of a Qt-based PCManFM on 26 March 2013. On 3 July 2013 Hong announced a Qt port of the full LXDE suite, and on 21 July Razor-qt and LXDE announced that they would merge the two projects. This merger meant that the GTK and the Qt versions would coexist for some time but, eventually, all original team efforts focused on
1800-498: A small set of licenses. The most popular of these licenses are: The Free Software Foundation and the Open Source Initiative both publish lists of licenses that they find to comply with their own definitions of free software and open-source software respectively: The FSF list is not prescriptive: free-software licenses can exist that the FSF has not heard about, or considered important enough to write about. So it
1890-457: A specification for client interoperability, has a reputation for being difficult to implement correctly. Further standards efforts such as Motif and CDE did not alleviate problems. This has frustrated users and programmers. Graphics programmers now generally address consistency of application look and feel and communication by coding to a specific desktop environment or to a specific widget toolkit, which also avoids having to deal directly with
SECTION 20
#17328016464801980-473: A version of X with Common Desktop Environment (CDE), known as DECwindows, as its standard desktop environment. Apple originally ported X to macOS in the form of X11.app, but that has been deprecated in favor of the XQuartz implementation. Third-party servers under Apple's older operating systems in the 1990s, System 7, and Mac OS 8 and 9, included Apple's MacX and White Pine Software's eXodus. Microsoft Windows
2070-414: Is a complete, albeit simple, display and interface solution which delivers a standard toolkit and protocol stack for building graphical user interfaces on most Unix-like operating systems and OpenVMS , and has been ported to many other contemporary general purpose operating systems . X provides the basic framework , or primitives, for building such GUI environments: drawing and moving windows on
2160-617: Is an example of a federally funded free-software project. Proprietary software, on the other hand, tends to use a different business model, where a customer of the proprietary application pays a fee for a license to legally access and use it. This license may grant the customer the ability to configure some or no parts of the software themselves. Often some level of support is included in the purchase of proprietary software, but additional support services (especially for enterprise applications) are usually available for an additional fee. Some proprietary software vendors will also customize software for
2250-466: Is biased by counting more vulnerabilities for the free software systems, since their source code is accessible and their community is more forthcoming about what problems exist as a part of full disclosure , and proprietary software systems can have undisclosed societal drawbacks, such as disenfranchising less fortunate would-be users of free programs. As users can analyse and trace the source code, many more people with no commercial constraints can inspect
2340-491: Is consistent with the intended meaning unlike the term "Open Source". The loan adjective " libre " is often used to avoid the ambiguity of the word "free" in the English language , and the ambiguity with the older usage of "free software" as public-domain software. ( See Gratis versus libre . ) The first formal definition of free software was published by FSF in February 1986. That definition, written by Richard Stallman ,
2430-451: Is debate over the security of free software in comparison to proprietary software, with a major issue being security through obscurity . A popular quantitative test in computer security is to use relative counting of known unpatched security flaws. Generally, users of this method advise avoiding products that lack fixes for known security flaws, at least until a fix is available. Free software advocates strongly believe that this methodology
2520-407: Is generally not possible. However, approaches like Virtual Network Computing (VNC), NX and Xpra allow a virtual session to be reached from different X servers (in a manner similar to GNU Screen in relation to terminals), and other applications and toolkits provide related facilities. Workarounds like x11vnc ( VNC :0 viewers ), Xpra's shadow mode and NX's nxagent shadow mode also exist to make
2610-463: Is like considering the practical advantages of not being handcuffed, in that it is not necessary for an individual to consider practical reasons in order to realize that being handcuffed is undesirable in itself. The FSF also notes that "Open Source" has exactly one specific meaning in common English, namely that "you can look at the source code." It states that while the term "Free Software" can lead to two different interpretations, at least one of them
2700-524: Is no accessibility standard or accessibility guidelines for X11. Within the X11 standards process there is no working group on accessibility; however, accessibility needs are being addressed by software projects to provide these features on top of X. The Orca project adds accessibility support to the X Window System, including implementing an API ( AT-SPI ). This is coupled with GNOME's ATK to allow for accessibility features to be implemented in X programs using
2790-419: Is not covered by copyright law, such as software in the public domain , is free as long as the source code is also in the public domain, or otherwise available without restrictions. Proprietary software uses restrictive software licences or EULAs and usually does not provide users with the source code. Users are thus legally or technically prevented from changing the software, and this results in reliance on
LXDE - Misplaced Pages Continue
2880-495: Is not endorsed by the FSF and does not use Linux-libre, it is also a popular distribution available without kernel blobs by default since 2011. The Linux community uses the term "blob" to refer to all nonfree firmware in a kernel whereas OpenBSD uses the term to refer to device drivers. The FSF does not consider OpenBSD to be blob free under the Linux community's definition of blob. Selling software under any free-software licence
2970-601: Is not in the IT sector choose free software for their Internet information and sales sites, due to the lower initial capital investment and ability to freely customize the application packages. Most companies in the software business include free software in their commercial products if the licenses allow that. Free software is generally available at no cost and can result in permanently lower TCO ( total cost of ownership ) compared to proprietary software . With free software, businesses can fit software to their specific needs by changing
3060-492: Is not shipped with support for X, but many third-party implementations exist, as free and open source software such as Cygwin/X , and proprietary products such as Exceed, MKS X/Server, Reflection X, X-Win32 and Xming . There are also Java implementations of X servers. WeirdX runs on any platform supporting Swing 1.1, and will run as an applet within most browsers. The Android X Server is an open source Java implementation that runs on Android devices. When an operating system with
3150-415: Is permissible, as is commercial use. This is true for licenses with or without copyleft . Since free software may be freely redistributed, it is generally available at little or no fee. Free software business models are usually based on adding value such as customization, accompanying hardware, support, training, integration, or certification. Exceptions exist however, where the user is charged to obtain
3240-521: Is possible for a license to be free and not in the FSF list. The OSI list only lists licenses that have been submitted, considered and approved. All open-source licenses must meet the Open Source Definition in order to be officially recognized as open source software. Free software, on the other hand, is a more informal classification that does not rely on official recognition. Nevertheless, software licensed under licenses that do not meet
3330-644: Is still maintained today and states that software is free software if people who receive a copy of the software have the following four freedoms. The numbering begins with zero, not only as a spoof on the common usage of zero-based numbering in programming languages, but also because "Freedom 0" was not initially included in the list, but later added first in the list as it was considered very important. Freedoms 1 and 3 require source code to be available because studying and modifying software without its source code can range from highly impractical to nearly impossible. Thus, free software means that computer users have
3420-613: Is summarized at the Debian web site. It is rare that a license announced as being in-compliance with the FSF guidelines does not also meet the Open Source Definition , although the reverse is not necessarily true (for example, the NASA Open Source Agreement is an OSI-approved license, but non-free according to FSF). There are different categories of free software. Proponents of permissive and copyleft licenses disagree on whether software freedom should be viewed as
3510-419: Is that they are not capable of any input or output other than the keyboard, mouse, and display. All relevant data is assumed to exist solely on the remote server, and the X terminal user has no methods available to save or load data from a local peripheral device. Dedicated (hardware) X terminals have fallen out of use; a PC or modern thin client with an X server typically provides the same functionality at
3600-414: Is the canonical implementation of X. Owing to liberal licensing, a number of variations, both free and open source and proprietary, have appeared. Commercial Unix vendors have tended to take the reference implementation and adapt it for their hardware, usually customizing it and adding proprietary extensions. Until 2004, XFree86 provided the most common X variant on free Unix-like systems. XFree86 started as
3690-756: The Apache web server; and the Sendmail mail transport agent. Other influential examples include the Emacs text editor; the GIMP raster drawing and image editor; the X Window System graphical-display system; the LibreOffice office suite; and the TeX and LaTeX typesetting systems. From the 1950s up until the early 1970s, it was normal for computer users to have the software freedoms associated with free software, which
LXDE - Misplaced Pages Continue
3780-458: The GNU Project : a collaborative effort to create a freedom-respecting operating system , and to revive the spirit of cooperation once prevalent among hackers during the early days of computing. Free software differs from: For software under the purview of copyright to be free, it must carry a software license whereby the author grants users the aforementioned rights. Software that
3870-775: The GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. He developed a free software definition and the concept of " copyleft ", designed to ensure software freedom for all. Some non-software industries are beginning to use techniques similar to those used in free software development for their research and development process; scientists, for example, are looking towards more open development processes, and hardware such as microchips are beginning to be developed with specifications released under copyleft licenses ( see
3960-744: The Linux kernel and other device drivers motivated some developers in Ireland to launch gNewSense , a Linux-based distribution with all the binary blobs removed. The project received support from the Free Software Foundation and stimulated the creation, headed by the Free Software Foundation Latin America , of the Linux-libre kernel. As of October 2012 , Trisquel is the most popular FSF endorsed Linux distribution ranked by Distrowatch (over 12 months). While Debian
4050-661: The OpenCores project, for instance ). Creative Commons and the free-culture movement have also been largely influenced by the free software movement. In 1983, Richard Stallman , longtime member of the hacker community at the MIT Artificial Intelligence Laboratory , announced the GNU Project, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users. Software development for
4140-576: The display and interacting with a mouse, keyboard or touchscreen. X does not mandate the user interface ; individual client programs handle this. Programs may use X's graphical abilities with no user interface. As such, the visual styling of X-based environments varies greatly; different programs may present radically different interfaces. Unlike most earlier display protocols, X was specifically designed to be used over network connections rather than on an integral or attached display device. X features network transparency , which means an X program running on
4230-410: The source code was distributed to use these programs. Software was also shared and distributed as printed source code ( Type-in program ) in computer magazines (like Creative Computing , SoftSide , Compute! , Byte , etc.) and books, like the bestseller BASIC Computer Games . By the early 1970s, the picture changed: software costs were dramatically increasing, a growing software industry
4320-573: The Argus system. Project Athena (a joint project between DEC , MIT and IBM to provide easy access to computing resources for all students) needed a platform-independent graphics system to link together its heterogeneous multiple-vendor systems; the window system then under development in Carnegie Mellon University 's Andrew Project did not make licenses available, and no alternatives existed. The project solved this by creating
4410-557: The Free Software Definition cannot rightly be considered free software. Apart from these two organizations, the Debian project is seen by some to provide useful advice on whether particular licenses comply with their Debian Free Software Guidelines . Debian does not publish a list of approved licenses, so its judgments have to be tracked by checking what software they have allowed into their software archives. That
4500-549: The GNOME/GTK APIs. KDE provides a different set of accessibility software, including a text-to-speech converter and a screen magnifier. The other major desktops (LXDE, Xfce and Enlightenment) attempt to be compatible with ATK. An X client cannot generally be detached from one server and reattached to another unless its code specifically provides for it ( Emacs is one of the few common programs with this ability). As such, moving an entire session from one X server to another
4590-631: The GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. An article outlining the project and its goals was published in March 1985 titled the GNU Manifesto . The manifesto included significant explanation of the GNU philosophy, Free Software Definition and " copyleft " ideas. The Linux kernel , started by Linus Torvalds , was released as freely modifiable source code in 1991. The first licence
SECTION 50
#17328016464804680-702: The ICCCM. X also lacks native support for user-defined stored procedures on the X server, in the manner of NeWS – there is no Turing-complete scripting facility. Various desktop environments may thus offer their own (usually mutually incompatible) facilities. Systems built upon X may have accessibility issues that make utilization of a computer difficult for disabled users, including right click , double click , middle click , mouse-over , and focus stealing . Some X11 clients deal with accessibility issues better than others, so persons with accessibility problems are not locked out of using X11. However, there
4770-525: The Internet. Users can easily download and install those applications via a package manager that comes included with most Linux distributions . The Free Software Directory maintains a large database of free-software packages. Some of the best-known examples include Linux-libre , Linux-based operating systems, the GNU Compiler Collection and C library ; the MySQL relational database;
4860-565: The Qt port, LXQt . Despite the original team moving to LXQt development, some other developers continued to maintain LXDE on GitHub and, as of March 2021, there are fresh commits to keep updated the GTK 2 version. As of July 2019 LXTerminal release is based on GTK 3 to avoid dependencies on the old VTE lib. As of May 2020, there is an experimental GTK 3 port developed by the Arch Linux community. GTK 3 versions have already been developed for
4950-502: The X project, with the current reference implementation, X.Org Server , available as free and open-source software under the MIT License and similar permissive licenses. X is an architecture-independent system for remote graphical user interfaces and input device capabilities. Each person using a networked terminal has the ability to interact with the display with any type of user input device. In its standard distribution it
5040-578: The X server by a remote X client program, and each then rendered by sending a single glCallList(which) across the network. X provides no native support for audio; several projects exist to fill this niche, some also providing transparent network support. X uses a client–server model: an X server communicates with various client programs. The server accepts requests for graphical output (windows) and sends back user input (from keyboard, mouse, or touchscreen). The server may function as: This client–server terminology – the user's terminal being
5130-453: The bandwidth of a 100 Mbit/s network for a single client. In contrast, modern versions of X generally have extensions such as Mesa allowing local display of a local program's graphics to be optimized to bypass the network model and directly control the video card, for use of full-screen video, rendered 3D applications, and other such applications. X's design requires the clients and server to operate separately, and device independence and
5220-496: The client and server may run on the same machine or on different ones, possibly with different architectures and operating systems. A client and server can even communicate securely over the Internet by tunneling the connection over an encrypted network session. An X client itself may emulate an X server by providing display services to other clients. This is known as "X nesting". Open-source clients such as Xnest and Xephyr support such X nesting. To run an X client application on
5310-588: The code and find bugs and loopholes than a corporation would find practicable. According to Richard Stallman, user access to the source code makes deploying free software with undesirable hidden spyware functionality far more difficult than for proprietary software. Some quantitative studies have been done on the subject. In 2006, OpenBSD started the first campaign against the use of binary blobs in kernels . Blobs are usually freely distributable device drivers for hardware from vendors that do not reveal driver source code to users or developers. This restricts
5400-528: The components of LXDE have few dependencies and are not tightly integrated. Instead, they can be installed independently of each other or LXDE itself. X11 The X Window System ( X11 , or simply X ; stylized 𝕏 ) is a windowing system for bitmap displays, common on Unix-like operating systems. X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at version 11 (hence "X11") since September 1987. The X.Org Foundation leads
5490-426: The current X-server screen available. This ability allows the user interface (mouse, keyboard, monitor) of a running application to be switched from one location to another without stopping and restarting the application. Network traffic between an X server and remote X clients is not encrypted by default. An attacker with a packet sniffer can intercept it, making it possible to view anything displayed to or sent from
SECTION 60
#17328016464805580-454: The desktop metaphor altogether, simplifying their interfaces for specialized applications. Window managers range in sophistication and complexity from the bare-bones ( e.g. , twm, the basic window manager supplied with X, or evilwm, an extremely light window manager) to the more comprehensive desktop environments such as Enlightenment and even to application-specific window managers for vertical markets such as point-of-sale. Many users use X with
5670-556: The following components: LXAppearance, LXAppearance-ObConf, LXDE-common, LXDE-icon-theme, LXDM, LXhotkey, LXInput, LXLauncher, LXPanel, LXRandR, LXSession, LXTask, LXTerminal, Openbox, PCManFM. One advantage of using GTK 3 is that GTK 3 programs run natively on Wayland . PCManFM is a popular file manager for use with tiling window managers and hence, having a Wayland-native PCManFM is useful for people that use Sway . Default desktop Alternative desktop Former default desktop Unlike other major desktop environments such as GNOME ,
5760-423: The freedom to cooperate with whom they choose, and to control the software they use. To summarize this into a remark distinguishing libre (freedom) software from gratis (zero price) software, the Free Software Foundation says: "Free software is a matter of liberty, not price. To understand the concept, you should think of 'free' as in ' free speech ', not as in 'free beer ' ". ( See Gratis versus libre . ) In
5850-412: The goals and messaging are quite dissimilar. According to the Free Software Foundation, "Open source" and its associated campaign mostly focus on the technicalities of the public development model and marketing free software to businesses, while taking the ethical issue of user rights very lightly or even antagonistically. Stallman has also stated that considering the practical advantages of free software
5940-409: The government charged that bundled software was anti-competitive . While some software might always be free, there would henceforth be a growing amount of software produced primarily for sale. In the 1970s and early 1980s, the software industry began using technical measures (such as only distributing binary copies of computer programs ) to prevent computer users from being able to study or adapt
6030-513: The impression that users have an obligation (as opposed to a right) to give non-users a copy of the program. Although the term "free software" had already been used loosely in the past and other permissive software like the Berkeley Software Distribution released in 1978 existed, Richard Stallman is credited with tying it to the sense under discussion and starting the free software movement in 1983, when he launched
6120-421: The late 1990s, other groups published their own definitions that describe an almost identical set of software. The most notable are Debian Free Software Guidelines published in 1997, and The Open Source Definition , published in 1998. The BSD -based operating systems, such as FreeBSD , OpenBSD , and NetBSD , do not have their own formal definitions of free software. Users of these systems generally find
6210-568: The local X server to both local and remotely hosted X client programs who need to share the user's graphics and input devices to communicate with the user. X's network protocol is based on X command primitives. This approach allows both 2D and (through extensions like GLX) 3D operations by an X client application which might be running on a different computer to still be fully accelerated on the X server's display. For example, in classic OpenGL (before version 3.0), display lists containing large numbers of objects could be constructed and stored entirely in
6300-490: The only windowing system likely to become available in time. DEC engineers ported X6 to DEC's QVSS display on MicroVAX . Free software The right to study and modify a computer program entails that the source code —the preferred format for making changes—be made available to users of that program. While this is often called "access to source code" or "public availability", the Free Software Foundation (FSF) recommends against thinking in those terms, because it might give
6390-468: The publisher to provide updates, help, and support. ( See also vendor lock-in and abandonware ). Users often may not reverse engineer , modify, or redistribute proprietary software. Beyond copyright law, contracts and a lack of source code, there can exist additional obstacles keeping users from exercising freedom over a piece of software, such as software patents and digital rights management (more specifically, tivoization ). Free software can be
6480-750: The same host. Additionally shared memory (via the MIT-SHM extension) can be employed for faster client–server communication. However, the programmer must still explicitly activate and use the shared memory extension. It is also necessary to provide fallback paths in order to stay compatible with older implementations, and in order to communicate with non-local X servers. Some people have attempted writing alternatives to and replacements for X. Historical alternatives include Sun 's NeWS and NeXT 's Display PostScript , both PostScript -based systems supporting user-definable display-side procedures, which X lacked. Current alternatives include: Additional ways to achieve
6570-517: The same large computer server to execute application programs as clients of each user's X terminal. This use is very much aligned with the original intention of the MIT project. X terminals explore the network (the local broadcast domain ) using the X Display Manager Control Protocol to generate a list of available hosts that are allowed as clients. One of the client hosts should run an X display manager . A limitation of X terminals and most thin clients
6660-511: The same set of software to be acceptable, but sometimes see copyleft as restrictive. They generally advocate permissive free software licenses , which allow others to use the software as they wish, without being legally forced to provide the source code. Their view is that this permissive approach is more free. The Kerberos , X11 , and Apache software licenses are substantially similar in intent and implementation. There are thousands of free applications and many operating systems available on
6750-476: The same, or lower, cost. The Unix-Haters Handbook (1994) devoted a full chapter to the problems of X. Why X Is Not Our Ideal Window System (1990) by Gajewska, Manasse and McCormack detailed problems in the protocol with recommendations for improvement. The lack of design guidelines in X has resulted in several vastly different interfaces, and in applications that have not always worked well together. The Inter-Client Communication Conventions Manual (ICCCM),
6840-487: The separation of client and server incur overhead. Most of the overhead comes from network round-trip delay time between client and server ( latency ) rather than from the protocol itself: the best solutions to performance issues depend on efficient application design. A common criticism of X is that its network features result in excessive complexity and decreased performance if only used locally. Modern X implementations use Unix domain sockets for efficient connections on
6930-428: The server and the applications being the clients – often confuses new X users, because the terms appear reversed. But X takes the perspective of the application, rather than that of the end-user: X provides display and I/O services to applications, so it is a server; applications use these services, thus they are clients. The communication protocol between server and client operates network-transparently:
7020-435: The shift in climate surrounding the computer world and its users. In his initial declaration of the project and its purpose, he specifically cited as a motivation his opposition to being asked to agree to non-disclosure agreements and restrictive licenses which prohibited the free sharing of potentially profitable in-development software, a prohibition directly contrary to the traditional hacker ethic . Software development for
7110-461: The software applications as they saw fit. In 1980, copyright law was extended to computer programs. In 1983, Richard Stallman , one of the original authors of the popular Emacs program and a longtime member of the hacker community at the MIT Artificial Intelligence Laboratory , announced the GNU Project , the purpose of which was to produce a completely non-proprietary Unix-compatible operating system, saying that he had become frustrated with
7200-443: The software themselves or by hiring programmers to modify it for them. Free software often has no warranty, and more importantly, generally does not assign legal liability to anyone. However, warranties are permitted between any two parties upon the condition of the software and its usage. Such an agreement is made separately from the free software license. A report by Standish Group estimates that adoption of free software has caused
7290-411: The source and use the same license. This requirement does not extend to other software from the same developer. The claim of incompatibility between commercial companies and free software is also a misunderstanding. There are several large companies, e.g. Red Hat and IBM (IBM acquired RedHat in 2019), which do substantial commercial business in the development of free software. Free software played
7380-471: The user's computer to request the rendering of graphics content and receive events from input devices including keyboards and mice. The fact that the term "server" is applied to the software in front of the user is often surprising to users accustomed to their programs being clients to services on remote computers. Here, rather than a remote database being the resource for a local app, the user's graphic display and input devices become resources made available by
7470-499: The user's screen. The most common way to encrypt X traffic is to establish a Secure Shell (SSH) tunnel for communication. Like all thin clients , when using X across a network, bandwidth limitations can impede the use of bitmap -intensive applications that require rapidly updating large portions of the screen with low latency, such as 3D animation or photo editing. Even a relatively small uncompressed 640×480×24 bit 30 fps video stream (~211 Mbit/s) can easily outstrip
7560-495: The users' freedom effectively to modify the software and distribute modified versions. Also, since the blobs are undocumented and may have bugs , they pose a security risk to any operating system whose kernel includes them. The proclaimed aim of the campaign against blobs is to collect hardware documentation that allows developers to write free software drivers for that hardware, ultimately enabling all free operating systems to become or remain blob-free. The issue of binary blobs in
7650-620: Was a proprietary software licence. However, with version 0.12 in February 1992, he relicensed the project under the GNU General Public License . Much like Unix, Torvalds' kernel attracted the attention of volunteer programmers. FreeBSD and NetBSD (both derived from 386BSD ) were released as free software when the USL v. BSDi lawsuit was settled out of court in 1993. OpenBSD forked from NetBSD in 1995. Also in 1995, The Apache HTTP Server , commonly referred to as Apache,
7740-402: Was competing with the hardware manufacturer's bundled software products (free in that the cost was included in the hardware cost), leased machines required software support while providing no revenue for software, and some customers able to better meet their own needs did not want the costs of "free" software bundled with hardware product costs. In United States vs. IBM , filed January 17, 1969,
7830-476: Was released under the Apache License 1.0 . All free-software licenses must grant users all the freedoms discussed above. However, unless the applications' licenses are compatible, combining programs by mixing source code or directly linking binaries is problematic, because of license technicalities . Programs indirectly connected together may avoid this problem. The majority of free software falls under
7920-679: Was stable and reliable – one that would give us in-house control. So if we needed to patch, adjust, or adapt, we could." Official statement of the United Space Alliance , which manages the computer systems for the International Space Station (ISS), regarding their May 2013 decision to migrate ISS computer systems from Windows to Linux The economic viability of free software has been recognized by large corporations such as IBM , Red Hat , and Sun Microsystems . Many companies whose core business
8010-551: Was started in 2006 by Taiwanese programmer Hong Jen Yee ( Chinese : 洪任諭 ; pinyin : Hóng Rènyù ), also known as PCMan, when he published PCManFM , a new file manager and the first module of LXDE. In 2010, tests suggested that LXDE 0.5 had the lowest memory-usage of the four most-popular desktop environments of the time (the others being GNOME 2.29, KDE Plasma Desktop 4.4 , and Xfce 4.6), and that it consumed less energy, which suggested mobile computers with Linux distributions running LXDE 0.5 drained their batteries at
8100-407: Was typically public-domain software . Software was commonly shared by individuals who used computers and by hardware manufacturers who welcomed the fact that people were making software that made their hardware useful. Organizations of users and suppliers, for example, SHARE , were formed to facilitate exchange of software. As software was often written in an interpreted language such as BASIC ,
#479520