Knowledge base

Cloning is a mechanism to allow for developers who are not authors on a project to work on a project, fix defects, add enhancements, or take it in a completely different direction.

Cloning is only available on projects that meet The Open Source Definition or projects where the author specifically allows it.

Cloning is somewhat of a middle-ground between branches and forks.

The owner of the project must authorize this by making the curious developer an actual author on the project. It's still part of the same project in the mainline repository.
The owner of the project must either have an open source license or authorize the project to be cloned. This is still under the umbrella of the main project, but is not the mainline repository.
Forks occur when there is political unreasonability or when a clone has diverged from the original project so much that it essentially is its own project. The fork must be named something different from the original project and is no longer under the umbrella of the original project. It is recommended that if you make a fork or if someone makes a fork of your project that an administrator be contacted and made aware of the situation from both sides.

Clones are an amazing way to participate in a project's development. In fact, for some people, it may be the preferred way.

Here's a default example of how someone might use a clone:

  • Let's say the project "Bumblebee" exists and the author is called Hubert. By default it has a mainline repository, it's the official one.
  • Another addon author, let's call him Chip, says "Well, I want to add ponies because ponies are awesome!"
  • Chip goes to
  • Decides he wants to call his repositories "omg-ponies", and types it in.
  • Within seconds, Chip can start hacking on the omg-ponies repository, the link is provided to him. It will be something along the lines of [email protected]/wow/bumblebee/omg-ponies.git, depending on the repository. Even if there is no repository, he can still upload files to the omg-ponies clone for others to download.
  • After hacking for a day or so, Chip has successfully added ponies.
  • Chip tells the author, Hubert, (by filing a ticket of type Patch) "I made a clone omg-ponies that adds ponies to Bumblebee and it's far more awesome."
  • Hubert then checks out his repository, sees the changes he made and multiple things can happen:
    1. He doesn't like the changes, tells Chip it's a bad idea :-(
    2. He says it's a good idea, just touch it up a bit and he'll include it
    3. He loves it, thinks the code is good and is too enamored with said ponies to not include it.
  • Let's assume option 3 was taken. Hubert merges in the changes, closes the ticket Chip filed and everyone lives happily ever after. The author may even make Chip a proper author of the project so he can work on mainline, or just keep working on the omg-ponies clone and Hubert can periodically merge in.

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Bevalharry Bevalharry Aug 02, 2015 at 13:59 UTC - 0 likes
    You might be allowed to submit brands, however, not back links, except if they may be accepted and also about matter.
  • Avatar of Bevalharry Bevalharry Aug 02, 2015 at 11:22 UTC - 0 likes
    I recently considered it could be a thought to create could someone else has been having troubles exploring yet I will be slightly not sure easily feel allowed to set brands and also address about the following. Nader Anise
  • Avatar of Bevalharry Bevalharry Aug 01, 2015 at 22:50 UTC - 0 likes
    Regards for the purpose of post this amazing piece of writing! I recently came across yuor web blog perfect for your preferences. It includes marvelous not to mention advantageous items. Cultivate monetary management give good results!
  • Avatar of Bevalharry Bevalharry Aug 01, 2015 at 10:52 UTC - 0 likes
    youtube subscription Fantastic write-up, journeyed onward in addition to book-marked your web site. When i can’t hang on to learn to read far more by people. comment on youtube
  • Avatar of Bevalharry Bevalharry Jul 31, 2015 at 22:19 UTC - 0 likes
    With thanks just for offer a very awesome page! I stubled onto a web site ideal for great really needs. Its content has delightful and additionally important reports. Preserve acknowledge that there are succeed! motorbike safety
  • Avatar of Bevalharry Bevalharry Jul 30, 2015 at 22:21 UTC - 0 likes
    it is good as well as meanful. it is awesome weblog. Connecting is extremely helpful point. you've truly assisted many individuals that go to weblog and supply all of them usefull info.
  • Avatar of johndravid johndravid Jul 28, 2015 at 21:18 UTC - 0 likes
    dragon city hileleri It is rather very good, nevertheless glance at the data with this handle. clash of clans tips
  • Avatar of aitanacardoso aitanacardoso Jun 25, 2015 at 05:18 UTC - 0 likes

    The explanation of the mechanism of cloning was too interesting. I am thinking to share it with on where can i buy a research paper so that students who keep visiting there can learn something.

  • Avatar of Farmbuyer Farmbuyer Nov 20, 2010 at 19:51 UTC - 0 likes

    Zeph's general comment is accurate though: multiple possibilities are listed but then not explained.

    There are other questions that aren't explained anywhere. Do addons in a clone branch still get packaged? Are they available via the curse client? Can tickets be filed against them? Can clones be deleted once they're no longer relevant?

  • Avatar of Azethoth Azethoth Apr 15, 2010 at 19:27 UTC - 0 likes

    Lets say that a clone is made, merged, is now obsolete. Well it just sits there wasting time on the repository tab. I do not want to have to click mainline. I do not want to see the clone. How is that done?

    TheZephyron: The reason a clone was allowed to begin with was due to open source licensing. Crying that open code was reused without attribution that satisfies you makes no sense.


Date created
May 19, 2008
Last updated
Jul 12, 2011