ZXing.Net started on top of the original C# conversion which you have found.
But that version was very old and not maintained. So I started to re-port the whole java code (including the testing code).
After that I made some .Net specific changes:
- I renamed the namespace from com.google.zxing to ZXing
- removed the exception-based flow control
- added some classes which make it easier to use the library
- made it compatible with nearly all .Net variants (like Silverlight, CE, WinRT, Micro Framework, Mono/Xamarin, Windows Phone, PCL, Unity3D)
- added support for specific graphic classes like WriteableBitmap
- added support for more RGB based formats (like RGBA, RGB565)
- added a whole bunch of working samples
- made it available via NuGet
I never merged ZXing.Net with the original C# conversion.
But I'm following the changes of the java version and try to port them as soon as possible.
Btw. the zxing team does a great job.
And yes, I think I can explain why I forked the original lib. At the beginning of ZXing.Net I wasn't sure
if I can finish the work. I wanted to start independently. The re-porting was necessary because I need PDF417 support
which isn't available with the original conversion.
I know there are pro and cons for a fork.
The main cons would be that users have the challenge to find out which library they want to use.
One pro could be that issues and question related to the .Net version can be asked here and the zxing team can focus on the java version.
Did it answer your questions?