So, you know, I looked through the readme again, to see how things were going, but I saw something strange.
Here's the section that kind-off bothered me, under 'dependencies':
- RCG was created and tested on linux x86_64 based OS, install the [...]
Huhhh.. what's linux x86_64 based OS??
Let's think over it, what information does these kinds of sentences tend to convey:
- The OS it was made on (optionally)
- What platforms it supports
- OS version supported, or, in the case of Linux and potentially Unix, distribution name and version
The reason why some people call Linux -- GNU/Linux, is because it's the kernel that empowers the environment, not the other way around, most of the time, so the stuff you see on the screen, the environment and such, is a vital part of the user experience. It can, and often does introduce bugs and vulnerabilities.
So what works on one distro, might not work on the other, simply because, for example, Debian doesn't have an up-to-date compiler, so it doesn't even build. That's important information, even just mentioning on what distro it was made would help.
Some people basically hand-craft their Linux environments, like people following the Linux From Scratch handbook. If they were, they're probably vastly more knowledgeable than either one of us, but even the little things help.
(tldr: distro's important)
- If it makes kernel API calls, I wouldn't say it's needed, but it's really important to mention the latest supported kernel, or, at least, the latest kernel version it was known to work on, even more so if it uses new, bleeding edge security APIs, like, maybe, randomisation. Your program may expect behavior from an API call that might have changed throughout the kernel's lifetime, for example. Of course, you don't need to do all that homework, but it'd be amazing both for educational purposes and for people who your program, simply breaks, and they want to help fixing it.
And, btw, the architectures not important, for end-users, it's basically a buzzword, if it runs Linux, it abstracts it all away, unless you're doing really low level operations. At least, it's not important to the end-user. If they're running some really exotic architecture, that's doesn't have complete, or official support yet, like ARM, they're likely aware of it and it's they're job to report it in the bug report.
Whoo! I think.. that's about all? Quite the sprint there
But, as you might have noticed, while 'linux x86_64 based OS' sounds funny, it lacks a bit of substance, if nothing else, I hope you learned something.