Why not create a new program with a different name instead of rewriting it? It's a new program at that point anyway.
Edit: seems the article confused me with the word rewriting when the source homepage and repository says reimplemention, which makes more sense.