The Ruby License is a Free and Open Source license applied to the Ruby programming language and also available to be used in other projects. It contains an explicit dual licensing clause, stating that software subject to its terms may be distributed under either the terms included in the Ruby License itself or under those of either the GNU General Public Licence v2, or the two-clause BSD License (depending on the version of the Ruby License used).
84-553: The license is typically considered to be a free software license due to the presence of the dual-licensing clause. For versions up to 1.9.2, the Ruby programming language was available under an explicit dual-licence scheme which allowed users to choose between a dedicated Ruby licence or the GNU General Public Licence v2 (GPLV2), which is one of the most common free software licences. Starting at version 1.9.3,
168-618: A copyleft license and another license is often only a one-way compatibility. This "one-way compatibility" characteristic is, for instanced, criticized by the Apache Foundation , who provides the more permissive Apache license which doesn't have this characteristic. Non-copyleft licenses, such as the FOSS permissive licenses , have a less complicated license interaction and normally exhibit better license compatibility. For example, if one license says "modified versions must mention
252-525: A dialog box . Some of these notifications are displayed briefly in the minibuffer, and GNU Emacs provides a *Messages* buffer that keeps a history of the most recent notifications of this type. When the minibuffer is used for output from Emacs, it is called the "echo area". Longer notifications are displayed in buffers of their own. The maximum length of messages that will be displayed in the minibuffer is, of course, configurable. Buffers can also serve as input and output areas for an external process such as
336-651: A dual-license setup, along with the GNU General Public License . The vast majority of free software uses undisputed free-software licenses; however, there have been many debates over whether or not certain other licenses qualify for the definition. Examples of licenses that provoked debate were the 1.x series of the Apple Public Source License , which were accepted by the Open Source Initiative but not by
420-410: A shell or REPL . Buffers which Emacs creates on its own are typically named with asterisks on each end, to distinguish from user buffers. The list of open buffers is itself displayed in this type of buffer. Most Emacs key sequences remain functional in any buffer. For example, the standard Ctrl-s isearch function can be used to search filenames in dired buffers, and the file list can be saved to
504-415: A status bar called the "mode line" displayed by default at the bottom edge of the window. Emacs windows are available both in text-terminal and graphical modes and allow more than one buffer, or several parts of a buffer, to be displayed at once. Common applications are to display a dired buffer along with the contents of files in the current directory (there are special modes to make the file buffer follow
588-580: A different position on licensing. The main difference is the belief that the copyleft licenses, particularly the GNU General Public License (GPL), are undesirably complicated and/or restrictive. The GPL requires any derivative work to also be released according to the GPL while the BSD license does not. Essentially, the BSD license's only requirement is to acknowledge the original authors, and poses no restrictions on how
672-553: A file browser and editor ( Dired ), an advanced calculator (Calc), an email client and news reader ( Gnus ), a Language Server Protocol integration, and the productivity system Org-mode . A large community of users have contributed extensions such as the Git interface Magit , the Vim emulation layer Evil, several search frameworks, the window manager EXWM, and tools for working with a wide range of programming languages. The original EMACS
756-497: A header along with its implementation file for C-based languages. In addition, there is follow-mode , a minor mode that chains windows to display non-overlapping portions of a buffer. Using follow-mode , a single file can be displayed in multiple side-by-side windows that update appropriately when scrolled. In addition, Emacs supports "narrowing" a buffer to display only a portion of a file, with top/bottom of buffer navigation functionality and buffer size calculations reflecting only
840-505: A license software could not truly be waived into public domain and can't be interpreted as very permissive FOSS license, a position which faced opposition by Daniel J. Bernstein and others. In 2012 the dispute was finally resolved when Rosen accepted the CC0 as open source license , while admitting that contrary to his previous claims copyright can be waived away, backed by Ninth circuit decisions. In 2007, after years of draft discussion,
924-425: A major mode (either for a new file type or to build a non-text-editing user interface); others define only commands or minor modes, or provide functions that enhance another extension. Since version 24 GNU Emacs includes a built-in package manager accessible with the list-packages command that allows users to search for and install packages. Historically, packages were downloaded manually, often distributed through
SECTION 10
#17327879537531008-534: A package that originally was a third-party add-on but has been included in GNU Emacs since version 22. Emacs uses the "minibuffer," normally the bottommost line, to display messages and request information, functions that are often performed by dialog boxes in GUI editors. The minibuffer holds information such as text to target in a search or the name of a file to read or save. When applicable, command-line completion
1092-600: A problem which had not previously existed. This new threat was one of the reasons for writing version 3 of the GNU GPL in 2006. In recent years, a term coined tivoization describes a process where hardware restrictions are used to prevent users from running modified versions of the software on that hardware, in which the TiVo device is an example. It is viewed by the FSF as a way to turn free software to effectively non-free, and
1176-508: A suitable disclaimer or assignment of their copyright interest to the Free Software Foundation (FSF.) Small contributions of fewer than 10 lines of code are exempt. This policy is in place so that the FSF can defend the software in court if its copyleft license is violated. In 2011, it was noticed that GNU Emacs had been accidentally releasing some binaries without corresponding source code for two years, in opposition to
1260-420: A text file just as any other buffer. Dired buffers can be switched to a writable mode, in which filenames and attributes can be edited textually; when the buffer is saved, the changes are written to the filesystem. This allows multiple files to be renamed using the search and replace features of Emacs. When so equipped, Emacs displays image files in buffers. Emacs is binary safe and 8-bit clean. Emacs can split
1344-435: A time, but multiple minor modes can operate simultaneously. These may operate directly on documents, as in the way the major mode for the C programming language defines a separate minor mode for each of its popular indent styles , or they may alter the editing environment. Examples of the latter include a mode that adds the ability to undo changes to the window configuration and one that performs on-the-fly syntax checking. There
1428-783: A user's rights if said user embarks on litigation proceedings against them due to patent litigation. Patent retaliation emerged in response to proliferation and abuse of software patents . The majority of free-software licenses require that modified software not claim to be unmodified. Some licenses also require that copyright holders be credited. One such example is version 2 of the GNU GPL, which requires that interactive programs that print warranty or license information, may not have these notices removed from modified versions intended for distribution. Licenses of software packages containing contradictory requirements render it impossible to combine source code from such packages in order to create new software packages. License compatibility between
1512-485: Is a non copyleft license. The Ruby License is approved by the Free Software Foundation and is considered compatible with the GNU General Public License, due to its explicit dual-licensing clause. The Open Source Initiative does not explicitly include the Ruby license as a certified an open source license; this is considered "unnecessary" due to the dual licensing clause. In discussion over
1596-519: Is also a minor mode that allows multiple major modes to be used in a single file, for convenience when editing a document in which multiple programming languages are embedded. GNU Emacs supports the capability to use it as an interpreter for the Emacs Lisp language without displaying the text editor user interface. In batch mode, user configuration is not loaded and the terminal interrupt characters C-c and C-z will have their usual effect of exiting
1680-413: Is available using the tab and space keys. Emacs keeps text in data structures known as buffers . Buffers may or may not be displayed onscreen, and all buffer features are accessible by both Emacs Lisp programs and the user interface. The user can create new buffers and dismiss unwanted ones, and many buffers can exist at the same time, limited only by available memory. Emacs can be configured to save
1764-1107: Is bundled with GNU Emacs and can be viewed with the built-in info browser. Two additional manuals, the Emacs Lisp Reference Manual by Bil Lewis, Richard Stallman, and Dan Laliberte and An Introduction to Programming in Emacs Lisp by Robert Chassell , are included. All three manuals are also published in book form by the Free Software Foundation . GNU Emacs has support for many alphabets, scripts, writing systems, and cultural conventions and provides spell-checking for many languages by calling external programs such as ispell . Version 24 added support for bidirectional text and left-to-right and right-to-left writing direction for languages such as Arabic, Persian and Hebrew. Many character encoding systems, including UTF-8 , are supported. GNU Emacs uses UTF-8 for its encoding as of version 23, while prior versions used their own encoding internally and performed conversion upon load and save. The internal encoding used by XEmacs
SECTION 20
#17327879537531848-410: Is generally believed that such agendas should not be served through software licenses; among other things because of practical aspects such as resulting legal uncertainties and problems with enforceability of vague, broad and/or subjective criteria or because tool makers are generally not held responsible for other people's use of their tools. Nevertheless some projects include legally non-binding pleas to
1932-694: Is qualitatively different from software and is subject to different requirements. Debian accepted, in a later resolution, that the GNU FDL complied with the Debian Free Software Guidelines when the controversial " invariant section " is removed, but considers it "still not free of trouble". Notwithstanding, most GNU documentation includes "invariant sections". Similarly, the FLOSS Manuals foundation, an organization devoted to creating manuals for free software, decided to eschew
2016-656: Is similar to that of GNU Emacs but differs in details. The GNU Emacs user interface originated in English and, with the exception of the beginners' tutorial, has not been translated into any other language. A subsystem called Emacspeak enables visually impaired and blind users to control the editor through audio feedback. The behavior of GNU Emacs can be modified and extended almost without limit by incorporating Emacs Lisp programs that define new commands, new buffer modes, new keymaps, add command-line options, and so on. Many extensions providing user-facing functionality define
2100-485: Is why they have chosen to prohibit it in GPLv3 . Most newly written free-software licenses since the late 1990s include some form of patent retaliation clauses. These measures stipulate that one's rights under the license (such as to redistribution), may be terminated if one attempts to enforce patents relating to the licensed software, under certain circumstances. As an example, the Apple Public Source License may terminate
2184-552: The Emacs editor developed for Unix operating systems. GNU Emacs has been a central component of the GNU project and a flagship project of the free software movement. The program's tagline is "the extensible self-documenting text editor." Most functionality in GNU Emacs is implemented in user-accessible Emacs Lisp , allowing deep extensibility directly by users and through community-contributed packages. Its built-in features include
2268-521: The Fedora Project 's packages showed as most used licenses the GPL family, followed by MIT, BSD, the LGP family, Artistic (for Perl packages), LPPL (for texlive packages), and ASL. The GNU GPLv2+ was the single most popular license GNU Emacs GNU Emacs is a text editor and suite of free software tools. Its development began in 1984 by GNU Project founder Richard Stallman , based on
2352-614: The GNU General Public License (GPL) state that the Emacs source code, including both the C and Emacs Lisp components, are freely available for examination, modification, and redistribution. Older versions of the GNU Emacs documentation appeared under an ad-hoc license that required the inclusion of certain text in any modified copy. In the GNU Emacs user's manual, for example, this included instructions for obtaining GNU Emacs and Richard Stallman's essay The GNU Manifesto . The XEmacs manuals, which were inherited from older GNU Emacs manuals when
2436-800: The Open Source Definition rather than the Free Software Definition . It considers Free Software Permissive license group to be a reference implementation of a Free Software license. Thus its requirements for approving licenses are different. The Free Software Foundation , the group that maintains the Free Software Definition , maintains a non-exhaustive list of free-software licences. The Free Software Foundation prefers copyleft ( share-alike ) free-software licensing rather than permissive free-software licensing for most purposes. Its list distinguishes between free-software licenses that are compatible or incompatible with
2520-627: The Usenet newsgroup gnu.emacs.sources. Over time many popular packages have been included in Emacs by default; for example version 21 began bundling Org-mode , Calc, TRAMP, and many others. Notable packages include: In its early history, GNU Emacs often ran noticeably slower than rival text editors because the loading and interpreting of its Lisp -based code incurs a performance overhead. Modern computers are powerful enough to run GNU Emacs with ease, but versions prior to 19.29 (released in 1995) couldn't edit files larger than 8 MB. The file size limit
2604-621: The control key and/or the meta key , alt key or super keys in conjunction with a regular key produces modified keystrokes that invoke functions from the Emacs Lisp environment. Commands such as save-buffer and save-buffers-kill-emacs combine multiple modified keystrokes. Some GNU Emacs commands work by invoking external programs, such as ispell for spell-checking and the GNU Compiler Collection (GCC) for program compilation . Emacs also supports "inferior processes," long-lived child processes that interact with
Ruby License - Misplaced Pages Continue
2688-422: The licensing of software . Free-software licenses before the late 1980s were generally informal notices written by the developers themselves. These early licenses were of the " permissive " kind. In the mid-1980s, the GNU project produced copyleft free-software licenses for each of its software packages. An early such license (the "GNU Emacs Copying Permission Notice") was used for GNU Emacs in 1985, which
2772-401: The source code available to anyone when they share or sell the object code . In this case, the source code must also contain any changes the developers may have made. If GPL code is used but not shared or sold, the code is not required to be made available and any changes may remain private. This permits developers and organizations to use and modify GPL code for private purposes (that is, when
2856-467: The source code may be used. As a result, BSD code can be used in proprietary software that only acknowledges the authors. For instance, Microsoft Windows NT 3.1 and macOS have proprietary IP stacks which are derived from BSD-licensed software. In extreme cases, the sub- or re-licensing possibilities with BSD or other permissive licenses might prevent further use in the open-source ecosystem. For instance, MathWorks ' FileExchange repository offers
2940-465: The source code of many markup and programming languages , as well as displaying web pages , directory listings and other system info. Each major mode involves an Emacs Lisp program that extends the editor to behave more conveniently for the specified type of text. Major modes typically provide some or all of the following common features: The use of "minor modes" enables further customization. A GNU Emacs editing buffer can use only one major mode at
3024-536: The BSD license for user contributions but prevents with additional terms of use any usage beside their own proprietary MATLAB software, for instance with the FOSS GNU Octave software. Supporters of the BSD license argue that it is more free than the GPL because it grants the right to do anything with the source code, provided that the attribution is preserved. The approach has led to BSD code being used in widely used proprietary software. Proponents of
3108-668: The Department of Computer Science at the University of Victoria in Canada, presented a talk in 2013 about the methodological challenges in determining which are the most widely used free-software licenses, and showed how he could not replicate the result from Black Duck Software. A GitHub study in 2015 on their statistical data found that the MIT license was the most prominent FOSS license on that platform. In June 2016 an analysis of
3192-555: The FOSS ecosystem. In this trend companies and new projects ( Mozilla , Apache foundation , and Sun , see also this list ) wrote their own FOSS licenses, or adapted existing licenses. This License proliferation was later recognized as problem for the Free and open-source ecosystem due to the increased complexity of license compatibility considerations. While the creation of new licenses slowed down later, license proliferation and its impact are considered an ongoing serious challenge for
3276-537: The FSF's copyleft GNU General Public License . There exists an ongoing debate within the free-software community regarding the fine line between what restrictions can be applied and still be called "free". Only " public-domain software " and software under a public-domain-like license is restriction-free. Examples of public-domain-like licenses are, for instance, the WTFPL and the CC0 license. Permissive licenses might carry small obligations like attribution of
3360-636: The Free Software Foundation or Debian and the RealNetworks Public Source License , which was accepted by Open Source Initiative and Free Software Foundation but not by Debian . Also, the FSF recommended GNU Free Documentation License , which is incompatible with the GPL, was considered "non-free" by the Debian project around 2006, Nathanael Nerode, and Bruce Perens . The FSF argues that documentation
3444-655: The Free Software Foundation says it is not free because it infringes the so-called "zero freedom" of the GPL, that is, the freedom to use the software for any purpose. While historically the most widely used FOSS license has been the GPLv2, in 2015, according to Black Duck Software the permissive MIT license dethroned the GPLv2 to the second place while the permissive Apache License follows at third place. A study from 2012, which used publicly available data, criticized Black Duck Software for not publishing their methodology used in collecting statistics. Daniel German, professor in
Ruby License - Misplaced Pages Continue
3528-575: The GFDL in favor of the GPL for its texts in 2007, citing the incompatibility between the two, difficulties in implementing the GFDL, and the fact that the GFDL "does not allow for easy duplication and modification", especially for digital documentation. SLUC is a software license published in Spain in December 2006 to allow all but military use. The writers of the license maintain it is free software, but
3612-605: The GPL for the distributed computing software GPU in 2005, as well as several software projects trying to exclude use by big cloud providers. As there are several defining organizations and groups who publish definitions and guidelines about FOSS licenses, notably the FSF, the OSI, the Debian project, and the BSDs, there are sometimes conflicting opinions and interpretations. Many users and developers of BSD -based operating systems have
3696-443: The GPL point out that once code becomes proprietary, users are denied the freedoms that define free software. As a result, they consider the BSD license less free than the GPL, and that freedom is more than a lack of restriction. Since the BSD license restricts the right of developers to have changes recontributed to the community, neither it nor the GPL is "free" in the sense of "lacking any restrictions." The Debian project uses
3780-683: The GPLv2 is, by itself, not compatible with the GPLv3. Restrictions on use of a software ("use restrictions") are generally unacceptable according to the FSF, OSI , Debian , or the BSD-based distributions. Examples include prohibiting that the software be used for non-private applications, for military purposes, for comparison or benchmarking, for good use, for ethically questionable means, or in commercial organizations. While some restrictions on user freedom, e.g. concerning nuclear war, seem to enjoy moral support among most free software developers, it
3864-462: The GPLv3 as major update of the GPLv2 was released. The release was controversial due to the significant extended scope of the license, which made it incompatible with the GPLv2. Several major FOSS projects ( Linux kernel , MySQL , BusyBox , Blender , VLC media player ) decided against adopting the GPLv3. On the other hand, in 2009, two years after the release of the GPLv3, Google open-source programs office manager Chris DiBona reported that
3948-540: The author but allow practically all code use cases. Certain licenses, namely the copyleft licenses , include intentionally stronger restrictions (especially on the distribution/distributor) in order to force derived projects to guarantee specific rights which can't be taken away. The free-software share-alike licenses written by Richard Stallman in the mid-1980s pioneered a concept known as "copyleft". Ensuing copyleft provisions stated that when modified versions of free software are distributed, they must be distributed under
4032-420: The change of the dual licensing clause on the debian-legal mailing list, it was noted that while the Ruby license itself is arguably not compatible with the Debian Free Software Guidelines , this is unimportant due to the dual-licensing clause. Software under Ruby license (including the older version when GPLv2 was a listed alternative Ruby 1.9.2 license) may be included in binary form within an Apache product if
4116-497: The code or the project is not sold or otherwise shared) without being required to make their changes available to the public. Supporters of GPL claim that by mandating that derivative works remain under the GPL, it fosters the growth of free software and requires equal participation by all users. Opponents of GPL claim that "no license can guarantee future software availability" and that the disadvantages of GPL outweigh its advantages. Some also argue that restricting distribution makes
4200-515: The copyright law recognizes both forms. Free-software licenses provide risk mitigation against different legal threats or behaviors that are seen as potentially harmful by developers: In the early times of software, sharing of software and source code was common in certain communities, for instance academic institutions. Before the US Commission on New Technological Uses of Copyrighted Works (CONTU) decided in 1974 that "computer programs, to
4284-631: The criteria laid out in its Debian Free Software Guidelines (DFSG). The only notable cases where Debian and Free Software Foundation disagree are over the Artistic License and the GNU Free Documentation License (GFDL). Debian accepts the original Artistic License as being a free software license, but FSF disagrees. This has very little impact however since the Artistic License is almost always used in
SECTION 50
#17327879537534368-560: The developers in any advertising materials", and another license says "modified versions cannot contain additional attribution requirements", then, if someone combined a software package which uses one license with a software package which uses the other, it would be impossible to distribute the combination because these contradictory requirements cannot be fulfilled simultaneously. Thus, these two packages would be license-incompatible. When it comes to copyleft software licenses, they are not inherently compatible with other copyleft licenses, even
4452-546: The dual-licensing clause changed to offer the choice of the FreeBSD License . The Ruby License has unusual copyleft requirements, stating that redistributions should not necessarily be under the terms of the Ruby license, but placed "in the Public Domain or otherwise Freely Available ". For example, a modified form of a program licensed under the Ruby license may be placed under the FreeBSD License , which
4536-410: The editing area into separate non-overlapping sections called "windows," a feature that has been available since 1975, predating the graphical user interface in common use. In Emacs terminology, "windows" are similar to what other systems call " frames " or " panes " – a rectangular portion of the program's display that can be updated and interacted with independently. Each Emacs window has
4620-417: The editor. This is used to implement shell-mode , running a Unix shell as inferior process, as well as read–eval–print loop (REPL) modes for various programming languages. Emacs' support for external processes makes it suitable for interactive programming along the lines of Interlisp or Smalltalk . Users who prefer the widely used IBM Common User Access keyboard shortcut layout can use cua-mode ,
4704-500: The extent that they embody an author's original creation, are proper subject matter of copyright", software was not considered copyrightable. Therefore, software had no licenses attached and was shared as public-domain software . The CONTU decision plus court decisions such as Apple v. Franklin in 1983 for object code , clarified that the Copyright Act gave computer programs the copyright status of literary works and started
4788-517: The file highlighted in dired), to display the source code of a program in one window while another displays a shell buffer with the results of compiling the program, to run a debugger along with a shell buffer running the program, to work on code while displaying a man page or other documentation (possibly loaded over the World Wide Web using one of Emacs' built-in web browsers) or simply to display multiple files for editing at once such as
4872-406: The first program released by the then-nascent GNU Project. GNU Emacs is written in C and provides Emacs Lisp , also implemented in C, as an extension language. Version 13, the first public release, was made on March 20, 1985. The first widely distributed version of GNU Emacs was version 15.34, released later in 1985. Early versions of GNU Emacs were numbered as "1.x.x," with the initial digit denoting
4956-399: The fork occurred, have the same license. Newer versions of the documentation use the GNU Free Documentation License with "invariant sections" that require the inclusion of the same documents and that the manuals proclaim themselves as GNU Manuals . For GNU Emacs, like many other GNU packages, it remains policy to accept significant code contributions only if the copyright holder executes
5040-605: The free and open-source ecosystem. From the free-software licenses, the GNU GPL version 2 has been tested in to court, first in Germany in 2004 and later in the US. In the German case the judge did not explicitly discuss the validity of the GPL's clauses but accepted that the GPL had to be adhered to: "If the GPL were not agreed upon by the parties, defendant would notwithstanding lack the necessary rights to copy, distribute, and make
5124-401: The graphics systems native to macOS and Windows to provide menubars , toolbars , scrollbars and context menus conforming more closely to each platform's look and feel . Lucid Emacs, based on an early version of GNU Emacs 19, was developed beginning in 1991 by Jamie Zawinski and others at Lucid Inc. One of the best-known forks in free software development occurred when the codebases of
SECTION 60
#17327879537535208-541: The inclusion is appropriately labeled. Software other than the Ruby programming language itself which uses the Ruby License includes: Free software license Higher categories: Software , freedom A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but
5292-452: The intended spirit of the GPL. Richard Stallman described this incident as "a very bad mistake," which was promptly fixed. The FSF did not sue any downstream redistributors who unknowingly violated the GPL by distributing these binaries. In its normal editing mode, GNU Emacs behaves like common text editors by allowing the user to type text with the keyboard and move the editing point with arrow keys . Escape key sequences or pressing
5376-492: The license less free. Whereas proponents would argue that not preserving freedom during distribution would make it less free. For example, a non-copyleft license does not grant the author the freedom to see modified versions of his or her work if it gets publicly published, whereas a copyleft license does grant that freedom. During the 1990s, free-software licenses began including clauses, such as patent retaliation , in order to protect against software patent litigation cases –
5460-471: The list of open buffers on exit, and reopen this list when it is restarted. Some buffers contain text loaded from text files , which the user can edit and save back to permanent storage. These buffers are said to be "visiting" files. Buffers also serve to display other data, such as the output of Emacs commands, dired directory listings, documentation strings displayed by the "help" library and notification messages that in other editors would be displayed in
5544-588: The net.emacs newsgroup , participation in GNU Emacs development was relatively restricted until 1999, and was used as an example of the "Cathedral" development style in The Cathedral and the Bazaar . The project has since adopted a public development mailing list and anonymous CVS access. Development took place in a single CVS trunk until 2008, and today uses the Git DVCS . Richard Stallman has remained
5628-589: The number of open-source projects licensed software that had moved to GPLv3 from GPLv2 was 50%, counting the projects hosted at Google Code . In 2011, four years after the release of the GPLv3, 6.5% of all open-source licensed projects were GPLv3 while 42.5% were still GPLv2 according to Black Duck Software data. Following in 2011 451 Group analyst Matthew Aslett argued in a blog post that copyleft licenses went into decline and permissive licenses increased, based on statistics from Black Duck Software. In 2015 according to Black Duck Software and GitHub statistics,
5712-572: The permissive MIT license dethroned the GPLv2 as most popular free-software license to the second place while the permissive Apache license follows already at third place. In June 2016 an analysis of Fedora Project 's packages revealed as most used licenses the GPL, MIT, BSD, and the LGPL . The group Open Source Initiative (OSI) defines and maintains a list of approved open-source licenses . OSI agrees with FSF on all widely used free-software licenses, but differ from FSF's list, as it approves against
5796-603: The principal maintainer of GNU Emacs, but he has stepped back from the role at times. Stefan Monnier and Chong Yidong have overseen maintenance since 2008. On September 21, 2015 Monnier announced that he would be stepping down as maintainer effective with the feature freeze of Emacs 25. Longtime contributor John Wiegley was announced as the new maintainer on November 5, 2015. Wiegley was joined by Eli Zaretskii in July, 2016, and Lars Ingebrigtsen in September, 2020. The terms of
5880-477: The program or suspending execution instead of invoking Emacs keybindings. GNU Emacs has command line options to specify either a file to load and execute, or an Emacs Lisp function may be passed in from the command line. Emacs will start up, execute the passed-in file or function, print the results, then exit. The shebang line #!/usr/bin/emacs --script allows the creation of standalone scripts in Emacs Lisp. The GNU Emacs Manual , written by Richard Stallman,
5964-415: The rights-holder (usually the author) of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights. Software using such a license is free software (or free and open-source software ) as conferred by the copyright holder. Free-software licenses are applied to software in source code and also binary object-code form, as
6048-452: The same terms as the original software. Hence they are referred to as "share and share alike " or " quid pro quo ". This results in the new software being open source as well. Since copyleft ensures that later generations of the software grant the freedom to modify the code, this is "free software". Non-copyleft licenses do not ensure that later generations of the software will remain free. Developers who use GPL code in their product must make
6132-586: The selected range. Emacs windows are tiled and cannot appear "above" or "below" their companions. Emacs can launch multiple "frames", which are displayed as individual windows in a graphical environment. On a text terminal, multiple frames are displayed stacked filling the entire terminal, and can be switched using the standard Emacs commands. GNU Emacs can display or edit a variety of different types of text and adapts its behavior by entering add-on modes called "major modes". There are major modes for many different purposes including editing ordinary text files,
6216-404: The software 'netfilter/iptables' publicly available." Because the defendant did not comply with the GPL, it had to cease use of the software. The US case ( MySQL vs Progress) was settled before a verdict was arrived at, but at an initial hearing, Judge Saris "saw no reason" that the GPL would not be enforceable. Around 2004 lawyer Lawrence Rosen argued in the essay Why the public domain isn't
6300-563: The two Emacs versions diverged and the separate development teams ceased efforts to merge them back into a single program. After Lucid filed for bankruptcy, Lucid Emacs was renamed XEmacs . XEmacs development has slowed, with the most recent stable version 21.4.22 released in January 2009, while GNU Emacs has implemented many formerly XEmacs-only features. This has led some users to proclaim XEmacs' death. Other forks, less known than XEmacs, include: Changes in each Emacs release are listed in
6384-510: The user can load dynamic modules. Since version 28.1, Emacs can natively compile Emacs Lisp files via libgccjit , as opposed to just byte compiling them, resulting in a significant boost in performance. GNU Emacs runs on a wide variety of operating systems , including DOS , Windows , and most Unix-like operating systems, such as Linux , the various BSDs , Solaris , AIX , HP-UX and macOS . Many Unix-like systems include Emacs by default. In 2023 an official port for Android
6468-472: The user, prominently SQLite . Among the repeated attempts by developers to regulate user behavior through the license that sparked wider debate are Douglas Crockford 's (joking) “no evil” clause, which affected the release process of the Debian distribution in 2012 and got the JSMin-PHP project expelled from Google Code , the addition of a pacifist condition based on Asimov's First Law of Robotics to
6552-412: The version of the C core. The "1" was dropped after version 1.12 as it was thought that the major number would never change, and thus the major version skipped from "1" to "13". A new third version number was added to represent changes made by user sites. In the current numbering scheme, a number with two components signifies a release version, with development versions having three components. GNU Emacs
6636-495: Was later ported to the Unix operating system . It offered more features than Gosling Emacs, in particular a full-featured Lisp as its extension language, and soon replaced Gosling Emacs as the de facto Unix Emacs editor. Markus Hess exploited a security flaw in GNU Emacs's email subsystem in his 1986 cracking spree, in which he gained superuser access to Unix computers. Although users commonly submitted patches and Elisp code to
6720-518: Was published. Version 2 of the GPL, released in 1991, went on to become the most widely used free-software license. Starting in the mid-1990s and until the mid-2000s, the open-source movement pushed and focused the free-software idea forward in the wider public and business perception. In the Dot-com bubble time, Netscape Communications ' step to release its webbrowser under a FOSS license in 1998, inspired many other companies to adapt to
6804-426: Was raised in successive versions, and 32 bit versions after GNU Emacs 23.2 can edit files up to 512 MB in size. Emacs compiled on a 64-bit machine can handle much larger buffers. While GNU Emacs is largely written in Emacs Lisp, it makes extensive use of natively compiled C code to improve performance. In addition to its own C code, it uses external libraries such as libxml2 for parsing XML . Packages installed by
6888-401: Was released. Version 23.1 removed supported for some platforms deemed obsolete. GNU Emacs runs both on text terminals and in graphical user interface (GUI) environments. On Unix-like operating systems, GNU Emacs can use the X Window System to produce its GUI either directly using Athena widgets or by using a "widget toolkit" such as Motif , LessTif , or GTK+ . GNU Emacs can also use
6972-468: Was revised into the "GNU Emacs General Public License" in late 1985, and clarified in March 1987 and February 1988. Likewise, the similar GCC General Public License was applied to the GNU Compiler Collection , which was initially published in 1987. The original BSD license is also one of the first free-software licenses, dating to 1988. In 1989, version 1 of the GNU General Public License (GPL)
7056-485: Was written in 1976 by David A. Moon and Guy L. Steele Jr. as a set of macros for the TECO editor, and in 1984, Richard Stallman began work on GNU Emacs, to produce a free software replacement to the proprietary Gosling Emacs . GNU Emacs was initially based on Gosling Emacs, but Stallman's replacement of its Mocklisp interpreter with a true Lisp interpreter required that nearly all of its code be rewritten. This became
#752247