A History of Manalink. Others with more complete knowledge are free to post corrections.
In the beginning there was Microprose

Microprose created the game, and then released a couple expansions of new cards and then stopped forever. There were about 800 cards in the original game.
In 2007, Mok did the following:
-added about 350 new cards, including a large portion of 8th edition
-updated the mulligan rule
-updated a couple other minor rules (tapped artifacts still work)
-added 8th edition to otions for sealed deck
-reverse compiled Magic.exe to make it editable by a hex editor.
-changed the image format for cads to jpg so new cards could be easily added
Mok disappears without leaving any docs or source behind.
Later in 2007, FranAvalon determined how to use a hex editor to update cards. This enabled people to add new cards to the game, as long as they had the exact ability of an existing card. Each new card added had to replace an existing card, though, since there was a hard limit on the number of cards in the game. Various contributers (notably Orion79 and jatill) replaced about 60 cards with newer cards. The data structure for cards in Magic.exe was decoded and documented.
In January 2009, SkyMarshall made 2 major breakthroughs. First, he moved the location of the card code so that some new cards could be added without replacing old cards. Second, he discovered that since Magic.exe was decompiled, the code of the cards themselves could be inspected and modified. Coding in ASM,a primitive language, SkyMarshall was able to add new and complex cards like
Ravenous Baloth and Buyback.
Around the same time, HarryPitfall created the SkyMagicEditor to help with the addition of new cards.
At the end of January, jatill rejoined the project. He gathered up all the information about adding cards in ASM, and turned them into a tutorial. For the next few months, jatill continued adding new cards on a regular basis, with occasional patches from many other developers. The legend rule was also revised to match the current rule. The space limit for new cards was again reached, but HarryPitfall figured out a way to enable unlimited space for code for cards. There was still a limit on the number of cards, at 2000, but this was at least 500 cards away.
In Mach 2009, Lonefox contributed a patch that had the surprise feature of having the source for the cards written in C. With help from Snacko, the process for adding cards written in C was established. Lonefox contributed a handful of new cards, and helped write the API for C coding. With the ease of coding reduced by a factor of 10, jatill took on the bulk of the development and added about 500 cards total. He also added the Momir format, as well as basic drafting functionality.
And that's where we are today, I believe
