The following Codex is a collection of loose "guidelines", intended to maintain an organized structure for elaborating Open Source Macro Projects. The Codex guidelines should not keep away or restrict anyone from developing or contributing codes, rather they should provide a base for a unified communication template across (more or less) complex projects. The developers are thankful for every contribution and adherence of an organized structure.
New Projects
Of course everyone can post his/her macro codes here. It's a contribution to the community and a benefit for everyone.
To avoid messing up the existing stucture, a new project should be started with the following structure:
Contributing to or developing existing Projects
To contribute improvements to an existing project, the thread (linked on the macro's project page) should be used. The same for feedback or suggestions, if you don't dare to develop a macro yourself, and of course if you encounter bugs and errors. That helps keeping the structure of the project page clean and easy to follow for both developers as well as users.
A development process can get very complex, so a good versioning can help keeping track of the main macro development.
Versioning
There are many ways to elaborate or improve a code. The following is rather simple; for example a macro version can be separated into three modification categories:
Branches
At a certain state in development it may happen that the macro isn't backwards compatible anymore. For example if a macro has run smoothly under a Win XP OS and some changes were done to get it runnung on Win 7, but now it isn't usable in XP anymore. It is understandable that a macro should run unter as much environments as possible, but sometimes this can't be observed. In this case the development should be branched to a new sub project, maintaining the version number. Then it is ensured that a wide range of users can use a macro.
Copyright
If you decided to work on an existing projects, make sure to respect the copyrights of your co-developers. Copyright notices in the codes and files should remain and may not be altered. Of course you can add your own copyright data such as name, website or contact email, when you've contributed to a project.
Hijacking projects or copying them (no matter if intended as commercial or non-commercial) isn't allowed (and to be honest: not very clever...).
Have fun to code, learn and use!