FACTOID # 14: If you like kids, then Uganda might be the place for you. Half the population is under 15!
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS    Advanced view

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > Code fork

In software, a project fork or branch happens when a developer (or a group of them) takes code from a project and starts to develop independently of the rest. 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).


The term is particularly used in free or open source software, when a schism occurs because of different goals or personality clashes. Some see forks as a weakness in Open Source, but they can demonstrate the adaptability of the model. The relationship between the different teams can be cordial or very bitter.


In a fork of this type, both parties inherit identical intellectual rights but typically only the larger group, or that containing the original architect, will retain the full original name and its associated social capital. Thus there is a reputation penalty associated with forking.


This can happen in closed-source software as well if the rights to the common code are shared, but this is rarer as usually there are strict rules about ownership of the code. More commonly in closed source software is a developer forking their own code to develop two versions, such as a windowed version and a command line version.


Another sort of fork is a standard practice in many projects -- to fork a stable or release version which will be modified only for bug fixes, while a development tree continues to get new features added. This is common practice in the Linux kernel, for instance, but has been occasionally been misrepresented in the trade press as the more problematic sort of fork described above. [1] (http://www.groklaw.net/article.php?story=20041121124609671)


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 GCC which proved more vital than the original project and was eventually "blessed" as the official GCC project.


Likewise, when development of the Mozilla suite (Seamonkey) appeared bogged down and overly beholden to Netscape's commercial needs, some Mozilla developers started a separate stripped_down browser project. This developed into Mozilla Firefox, which has been sufficiently successful to become the primary focus of Mozilla Foundation browser activity.


Other examples

  • Enciclopedia Libre is a fork from the Spanish-language Wikipedia (http://es.wikipedia.org) to evade possible advertising.
  • Pretty Good Privacy was forked outside of the United States to free it from the restrictive laws on the exportation of cryptographic software.
  • XEmacs was a fork from Emacs to support the proprietary Energize environment.
  • The split of BSD from AT&T UNIX.
  • The many varieties of proprietary UNIX — all derived from AT&T UNIX and all called "UNIX", but increasingly mutually incompatible. See UNIX wars.
  • The development of the NTFS filesystem by Microsoft based upon previous work on HPFS that was left to IBM
  • The game Nethack has spawned a number of variants using the original code (it is sometimes thought of as a fork of Rogue, but its code was written independently).
  • OpenBSD was originally a fork from NetBSD, arising from conflicts of personality between NetBSD developers.
  • 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, which was 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.
  • The Xorg X server was a fork from XFree86 for a very similar reason as that of SSH and OpenSSH. Development on X11 has since speeded up and most distributions have switched.
  • DragonflyBSD forked from FreeBSD in order to pursue different technical approaches to those used in FreeBSD 5.

See also




 
 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your comments

Want to know more?
Search encyclopedia, statistics and forums:

 


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms, 1022, m