Fork

Share

What is a "Fork" in Software?

In libreware, a fork is a project that has branched out from another project, e.g. LibreOffice, which is a fork of OpenOffice. Essentially, you have a project that is free and open source software (FOSS), which means the source code necessary to create the program is available and licensed in such way that anyone can use, modify, and redistribute it freely. However, just because you can modify the code and redistribute it, that doesn't mean other people will know about your modifications. OpenOffice is developed by one organization, and they distribute their version of the program. When someone downloads OpenOffice, they're downloading it from that one organization. Which means you need to get them to merge your changes into their project in order to redistribute these modifications to most people. Sometimes, the organization doesn't agree with certain changes or features for one reason or another, e.g. you could add a button to play a vuvuzela sound to OpenOffice if you changed the source code, but that is unlikely to be merged because most people just don't want that. Cases like this leads to developers to create their own version of the software and distribute with a different name, meaning they have a different direction, e.g. VuvuzelaOffice. This is called a fork.

A fork can also occur when the developer of a project abandons it (i.e. it becomes abandonware). An abandoned, closed-source software is dead eternally, but an abandoned, open-source software can respawn from its ashes if someone else decides to continue developing it. For example, Apophysis is an abandoned fractal image generator. There's a forked version called Apophysis AV.

Forks can also occur when landmark decisions occur in a project. Aseprite is a pixel art editor that used to be libre, meaning its source code was licensed in a libre way. At some point, the copyright holders of the source code decided to change the license to something non-libre: a license which Aseprite is open source and you can use it for free if you can compile it, but you can't redistribute compiled versions, which means if you want an .exe you need to purchase Aseprite from the copyright owners. Basically a tax for anyone not technical enough to figure out their build tools. A fork of Aseprite called LibreSprite exists, which was forked from the source code that was published with a libre license. Observe that you can change the license of a project if all copyright holders consent, but you can't retroactively revoke the license of the source code that was published in the past. This means the libre version of Aseprite will be forever libre, legally speaking.

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *