In software engineering, a project fork happens when developers take a copy of source code from one software package and start independent development on it, creating a distinct and separate piece of software. The term often implies not merely a development branch, but also a split in the developer community, a form of schism.
Free and open-source software is that which, by definition, may be forked from the original development team without prior permission, without violating copyright law. However, licensed forks of proprietary software (e.g. Unix) also happen.