When working on WinVN source code, adhering to the following conventions will make everyone's life easier:
1) discuss your idea on the list, as it's quite possible that someone else is working the same thing.
2) always work with the absolute latest version of the sources.
3) when editing, do not change unnecessarily code or comments unrelated to your work. This includes retabbing or reindenting code. We use a revision control system (GNU RCS) that is sensitive to these type of changes, and it is much more difficult to identify substantive changes from the cosmetic ones. Much of the source code has been reindented by others in the past using different editors... this has led to chaotic indentation in many of the source files that is very hard to read. I am addressing this in a piecemeal fashion, using automatic indentation tools (GNU indent). If there's a source file that you are particularly frustrated with, let me know, and I will indent it in a separate revision step.
4) don't add or change any of the RCS information at the head of the source files. This information is maintained automatically, and mucking with it can cause confusion and more work.
5) submit whole files, and only the files you have changed.
6) Please zip the sources (even if it's only one file), and send them to the maintainer (me, email@example.com) in an encoded format. You may use a MIME encoder (mpack, ELM&PINE 'attach') or uuencode.
Often when a feature is added, it is appropriate to implement it as a configurable option, in order to avoid confusing current users, and to satisfy the small number of people who may actually dislike it.
For examples of configurable options, look at the .ini file maintenance code, and the 'Config/Misc' dialog box implementation.
You should also keep in mind that WinVN is a public domain project, and the licensing terms (or lack of them) apply. If you are unhappy with this - say, with the idea that just about anyone can take WinVN, including your
code, and make a living (or even a killing), then you should let us know before spending a lot of effort.
Note that (of course) you have the right to maintain a separate version of WinVN, and even collaborate with others if you don't like these [un]conditions. We don't encourage this, but you should be aware that it is an option.
[from Sam Rushing]