Let users create versions of articles Let's say I want to make a wiki-styled knowledge base for recipes.

User A submits a recipe for "Lasagna". User B likes this recipe but would like to submit her grandmothers special recipe for others to enjoy, so she clicks "post your version" and then writes "Lasagna - Grandma B's style". The two articles now automatically have a relationship, but behave as independent pieces of content.

User C knows he wants Lasagna, and would like to try a new version of it. This is where I would like all the recipes relating to Lasagna can be listed and sorted on things like points (thumbs up/down), number of comments, visits etc.

If I had complete control over the terms this wouldn't be hard to do with views and taxonomies, but I want this to be community driven and versions of content and their relations to happen organically.

How would you approach this? I've tried References but I couldn't get it to cross reference. Relation seems to be very close, but how would I create the "post your version" (i.e relation) button?
A simple solution might be to something like Rules, and Rules Link. 

Create a rule that clones the data from one node into a new node. Have it actioned to happen when a certain link/button is clicked (hence, Rules Link). The last set of actions in the rule would be to set an entity reference back to the original node (or set a common taxonomy term)

Otherwise, create a small custom module that basically does the same thing. mapping fields onto each other and creating a new node. You'll have more control on what happens with the data but its not easy if you are not a developer.