(Or to any other proprietary programs.) If you have a vague recollection of the internals of a Unix program, this does not absolutely mean you can’t write an imitation of it, but do try to organize the imitation internally along different lines, because this is likely to make the details of the Unix version irrelevant and dissimilar to your results.
You could keep the entire input file in memory and scan it there instead of using stdio.Use a smarter algorithm discovered more recently than the Unix program. Do it in one pass instead of two (we did this in the assembler).If you think your standards would be generally useful, please do suggest them.You should also set standards for your package on many questions not addressed or not firmly specified here.If the program you are working on is copyrighted by the Free Software Foundation, then when someone else sends you a piece of code to add to the program, we need legal papers to use it—just as we asked you to sign papers initially.
person who makes a nontrivial contribution to a program must sign some sort of legal papers in order for us to have clear title to the program; the main author alone is not enough.
This applies both before you release the program and afterward.
If you receive diffs to fix a bug, and they make significant changes, we need legal papers for that change.
Likely, the need for additional standards will come up.
Sometimes, you might suggest that such standards be added to this document.
The GNU coding standards, last updated July 25, 2016.