<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://ideawaza.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=64.222.0.0%2F16</id>
	<title>IdeaWazaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://ideawaza.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=64.222.0.0%2F16"/>
	<link rel="alternate" type="text/html" href="https://ideawaza.com/wiki/Special:Contributions/64.222.0.0/16"/>
	<updated>2026-09-30T23:22:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.46.0</generator>
	<entry>
		<id>https://ideawaza.com/index.php?title=Archive:Project_fork&amp;diff=25649</id>
		<title>Archive:Project fork</title>
		<link rel="alternate" type="text/html" href="https://ideawaza.com/index.php?title=Archive:Project_fork&amp;diff=25649"/>
		<updated>2006-04-10T18:39:53Z</updated>

		<summary type="html">&lt;p&gt;64.222.123.152: /* See also */ XEmacs is listed above&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:&#039;&#039;This article is about &amp;quot;forking&amp;quot; a [[software development]] project. For other uses, see [[fork (disambiguation)]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In [[software engineering]], a &#039;&#039;&#039;project fork&#039;&#039;&#039; or &#039;&#039;&#039;branch&#039;&#039;&#039; happens when a developer (or a group of them) takes a copy of [[source code]] from one [[software package]] and starts to independently develop a new package. The term is also used more loosely to represent a similar branching of any work (for example, there are several forks of the English-language [[Wikipedia]]), particularly with [[free software|free]] or [[open source]] software.&lt;br /&gt;
&lt;br /&gt;
Forks with free software result from a [[schism]] over different goals or personality clashes. In a fork, both parties assume closely identical [[copyright]]s but typically only the larger group, or that containing the original [[software architecture|architect]], will retain the full original name and its associated user community.  Thus there is a reputation penalty associated with forking.&lt;br /&gt;
&lt;br /&gt;
In [[proprietary software]], the rights to the common code are shared; but this is rarer, as usually there are strict copyright terms associated with the source code.  More commonly, a developer internally forks the code to develop two versions, such as a [[Window (computing)|windowed]] version and a [[command line interface|command line]] version.&lt;br /&gt;
 &lt;br /&gt;
A fork that is standard practice in many projects are &#039;&#039;stable&#039;&#039; or &#039;&#039;release&#039;&#039; versions which are modified only for bug fixes, while a &#039;&#039;development&#039;&#039; tree develops new features. This is common practice in the [[Linux kernel]], for instance, but has been misrepresented occasionally in the trade press as the more problematic sort of fork described above. [http://www.groklaw.net/article.php?story=20041121124609671]&lt;br /&gt;
&lt;br /&gt;
In some cases, a fork can merge back into the original project or replace it. [[EGCS]] (Experimental/Enhanced GNU Compiler System) was a fork from [[GNU Compiler Collection|GCC]] which proved more vital than the original project and was eventually &amp;quot;blessed&amp;quot; as the official GCC project.&lt;br /&gt;
&lt;br /&gt;
Forks are considered an expression of the freedom made available by free software and a weakness since they duplicate development efforts or can confuse users over which forked package to use.  Developers have the option to collaborate and pool resources with free software but it is not ensured by [[free software licenses]] but only by a commitment to cooperation.&lt;br /&gt;
&lt;br /&gt;
The relationship between the different teams can be cordial or very bitter.  For instance, the author of the [[LMule]] file-sharing program for Linux was uninterested in porting it to other systems, the [[xMule]] team started a fork to do so. Disagreements among the developers led to xMule itself being forked into [[aMule]], and the tension between the developers persisted.&lt;br /&gt;
&lt;br /&gt;
On the matter of forking, the [[Jargon File]] says:&lt;br /&gt;
:&amp;quot;Forking is considered a [[Bad Thing]] — not merely because it implies a lot of wasted effort in the future, but because forks tend to be accompanied by a great deal of strife and acrimony between the successor groups over issues of legitimacy, succession, and design direction. There is serious social pressure against forking. As a result, major forks (such as the [[GNU Emacs|Gnu-Emacs]]/[[XEmacs]] split, the fissionings of the [[386BSD]] group into three daughter projects, and the short-lived GCC/EGCS split) are rare enough that they are remembered individually in hacker folklore.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Because of the ease of forking a project but the challenge of continuing to develop and support it, it&#039;s common for forks without extensive resources to become inactive &amp;amp;mdash; for instance, see [[GoneME]], a fork of [[GNOME]] by a former developer, which was shortly discontinued despite attracting some publicity. Some well-known forks have enjoyed great success, however, such as the [[X.Org Server|X.Org]] [[X Window System|X11]] server, a fork from [[XFree86]]. Most distributions have switched to X.Org, and overall [[X11]] development has sped up as well.&lt;br /&gt;
&lt;br /&gt;
==Other examples==&lt;br /&gt;
&lt;br /&gt;
*[[Enciclopedia Libre]],a fork of the [[Spanish Wikipedia|Spanish-language Wikipedia]], was created to evade possible advertising.&lt;br /&gt;
*[[Pretty Good Privacy]] was forked outside of the United States to free it from the restrictive laws on the exportation of cryptographic software.&lt;br /&gt;
*The many varieties of [[proprietary]] [[Unix|UNIX]] &amp;amp;mdash; all derived from AT&amp;amp;T UNIX and all called &amp;quot;UNIX&amp;quot;, but increasingly mutually incompatible. &#039;&#039;See&#039;&#039; [[UNIX wars]].&lt;br /&gt;
*The game [[NetHack]] has spawned a number of variants using the original code, notably [[Slash&#039;EM]]. (Nethack was influenced by [[Rogue (computer game)|Rogue]], but its code was written independently.)&lt;br /&gt;
*[[OpenSSH]] was a fork from [[SSH]], which happened because the license for SSH 2.x was [[non-free]] (even though the source was available), so an older version of SSH 1.x, the last to have been licensed as [[free software]], was forked. Within months, virtually all Linux distributions, BSD versions and even some proprietary Unixes had replaced SSH with OpenSSH.&lt;br /&gt;
* [[Apple Computer]]&#039;s [[WebCore]] is a fork of [[KDE]]&#039;s [[KHTML]] 3.1. This technology is used in two [[web browser]]s: [[Safari (web browser)|Safari]] and [[Konqueror]]. In this case, [[open source]] code became integral to a [[proprietary software|proprietary]] project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://linuxmafia.com/faq/Licensing_and_Law/forking.html Fear of forking] (Rick Moen)&lt;br /&gt;
* [http://www.dwheeler.com/oss_fs_why.html#forking Forking] ([[David A. Wheeler]])&lt;br /&gt;
* [http://www.usemod.com/cgi-bin/mb.pl?RightToFork Right to Fork] at [[Meatball Wiki]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Software engineering]]&lt;br /&gt;
&lt;br /&gt;
[[cs:Fork]]&lt;br /&gt;
[[de:Fork (Projektaufspaltung)]]&lt;br /&gt;
[[fr:Fork]]&lt;br /&gt;
[[pl:Fork]]&lt;/div&gt;</summary>
		<author><name>64.222.123.152</name></author>
	</entry>
	<entry>
		<id>https://ideawaza.com/index.php?title=Archive:Project_fork&amp;diff=25648</id>
		<title>Archive:Project fork</title>
		<link rel="alternate" type="text/html" href="https://ideawaza.com/index.php?title=Archive:Project_fork&amp;diff=25648"/>
		<updated>2006-04-10T18:39:15Z</updated>

		<summary type="html">&lt;p&gt;64.222.123.152: /* Views on forking */ obviously this is about &amp;quot;Views on forking&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;:&#039;&#039;This article is about &amp;quot;forking&amp;quot; a [[software development]] project. For other uses, see [[fork (disambiguation)]].&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In [[software engineering]], a &#039;&#039;&#039;project fork&#039;&#039;&#039; or &#039;&#039;&#039;branch&#039;&#039;&#039; happens when a developer (or a group of them) takes a copy of [[source code]] from one [[software package]] and starts to independently develop a new package. The term is also used more loosely to represent a similar branching of any work (for example, there are several forks of the English-language [[Wikipedia]]), particularly with [[free software|free]] or [[open source]] software.&lt;br /&gt;
&lt;br /&gt;
Forks with free software result from a [[schism]] over different goals or personality clashes. In a fork, both parties assume closely identical [[copyright]]s but typically only the larger group, or that containing the original [[software architecture|architect]], will retain the full original name and its associated user community.  Thus there is a reputation penalty associated with forking.&lt;br /&gt;
&lt;br /&gt;
In [[proprietary software]], the rights to the common code are shared; but this is rarer, as usually there are strict copyright terms associated with the source code.  More commonly, a developer internally forks the code to develop two versions, such as a [[Window (computing)|windowed]] version and a [[command line interface|command line]] version.&lt;br /&gt;
 &lt;br /&gt;
A fork that is standard practice in many projects are &#039;&#039;stable&#039;&#039; or &#039;&#039;release&#039;&#039; versions which are modified only for bug fixes, while a &#039;&#039;development&#039;&#039; tree develops new features. This is common practice in the [[Linux kernel]], for instance, but has been misrepresented occasionally in the trade press as the more problematic sort of fork described above. [http://www.groklaw.net/article.php?story=20041121124609671]&lt;br /&gt;
&lt;br /&gt;
In some cases, a fork can merge back into the original project or replace it. [[EGCS]] (Experimental/Enhanced GNU Compiler System) was a fork from [[GNU Compiler Collection|GCC]] which proved more vital than the original project and was eventually &amp;quot;blessed&amp;quot; as the official GCC project.&lt;br /&gt;
&lt;br /&gt;
Forks are considered an expression of the freedom made available by free software and a weakness since they duplicate development efforts or can confuse users over which forked package to use.  Developers have the option to collaborate and pool resources with free software but it is not ensured by [[free software licenses]] but only by a commitment to cooperation.&lt;br /&gt;
&lt;br /&gt;
The relationship between the different teams can be cordial or very bitter.  For instance, the author of the [[LMule]] file-sharing program for Linux was uninterested in porting it to other systems, the [[xMule]] team started a fork to do so. Disagreements among the developers led to xMule itself being forked into [[aMule]], and the tension between the developers persisted.&lt;br /&gt;
&lt;br /&gt;
On the matter of forking, the [[Jargon File]] says:&lt;br /&gt;
:&amp;quot;Forking is considered a [[Bad Thing]] — not merely because it implies a lot of wasted effort in the future, but because forks tend to be accompanied by a great deal of strife and acrimony between the successor groups over issues of legitimacy, succession, and design direction. There is serious social pressure against forking. As a result, major forks (such as the [[GNU Emacs|Gnu-Emacs]]/[[XEmacs]] split, the fissionings of the [[386BSD]] group into three daughter projects, and the short-lived GCC/EGCS split) are rare enough that they are remembered individually in hacker folklore.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Because of the ease of forking a project but the challenge of continuing to develop and support it, it&#039;s common for forks without extensive resources to become inactive &amp;amp;mdash; for instance, see [[GoneME]], a fork of [[GNOME]] by a former developer, which was shortly discontinued despite attracting some publicity. Some well-known forks have enjoyed great success, however, such as the [[X.Org Server|X.Org]] [[X Window System|X11]] server, a fork from [[XFree86]]. Most distributions have switched to X.Org, and overall [[X11]] development has sped up as well.&lt;br /&gt;
&lt;br /&gt;
==Other examples==&lt;br /&gt;
&lt;br /&gt;
*[[Enciclopedia Libre]],a fork of the [[Spanish Wikipedia|Spanish-language Wikipedia]], was created to evade possible advertising.&lt;br /&gt;
*[[Pretty Good Privacy]] was forked outside of the United States to free it from the restrictive laws on the exportation of cryptographic software.&lt;br /&gt;
*The many varieties of [[proprietary]] [[Unix|UNIX]] &amp;amp;mdash; all derived from AT&amp;amp;T UNIX and all called &amp;quot;UNIX&amp;quot;, but increasingly mutually incompatible. &#039;&#039;See&#039;&#039; [[UNIX wars]].&lt;br /&gt;
*The game [[NetHack]] has spawned a number of variants using the original code, notably [[Slash&#039;EM]]. (Nethack was influenced by [[Rogue (computer game)|Rogue]], but its code was written independently.)&lt;br /&gt;
*[[OpenSSH]] was a fork from [[SSH]], which happened because the license for SSH 2.x was [[non-free]] (even though the source was available), so an older version of SSH 1.x, the last to have been licensed as [[free software]], was forked. Within months, virtually all Linux distributions, BSD versions and even some proprietary Unixes had replaced SSH with OpenSSH.&lt;br /&gt;
* [[Apple Computer]]&#039;s [[WebCore]] is a fork of [[KDE]]&#039;s [[KHTML]] 3.1. This technology is used in two [[web browser]]s: [[Safari (web browser)|Safari]] and [[Konqueror]]. In this case, [[open source]] code became integral to a [[proprietary software|proprietary]] project.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[XEmacs]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
* [http://linuxmafia.com/faq/Licensing_and_Law/forking.html Fear of forking] (Rick Moen)&lt;br /&gt;
* [http://www.dwheeler.com/oss_fs_why.html#forking Forking] ([[David A. Wheeler]])&lt;br /&gt;
* [http://www.usemod.com/cgi-bin/mb.pl?RightToFork Right to Fork] at [[Meatball Wiki]].&lt;br /&gt;
&lt;br /&gt;
[[Category:Software engineering]]&lt;br /&gt;
&lt;br /&gt;
[[cs:Fork]]&lt;br /&gt;
[[de:Fork (Projektaufspaltung)]]&lt;br /&gt;
[[fr:Fork]]&lt;br /&gt;
[[pl:Fork]]&lt;/div&gt;</summary>
		<author><name>64.222.123.152</name></author>
	</entry>
</feed>