How to contribute
D1272461573
Auriel
#
#PATCH
#
#The tool used to submit changes to the Plan 9 distribution is called
#patch(1) (not to be confused with the unix tool of the same name.)
#
#Patches are processed by the maintainers at Bell Labs (typically
#geoff or jmk). When sending a patch, follow these guidelines:
#
# * If this is a bug fix, explain the bug clearly. Don't assume the
# bug is obvious from the fix.
# * If this is a new feature, explain it clearly. Don't assume it is
# obvious from the change.
# * Make the new code look as much like the old code as possible:
# don't make gratuitous changes and follow the style of the old code.
# See CODING STYLE below.
# * If necessary, update the manual page.
#
#If you use patch/email to attach an email address to the patch, that
#address will be mailed when the patch is either applied or rejected.
#If the latter, the email will contain a note explaining why and
#probably listing suggested changes and encouraging you to resubmit.
#
#An archive of all submitted patches is in /n/sources/patch.
#
#SOURCES/CONTRIB
#
#If you have Plan 9-related code you would like to publish but not
#submit (yet?) to be part of the main distribution, you can place it
#in your own directory in /n/sources/contrib.
#
#To get your own directory under /n/sources/contrib, mail
#contrib@plan9.bell-labs.com.
#
#Once you have your own directory under /n/sources/contrib, you can
#use
#! srv -q tcp!sources.cs.bell-labs.com sources /n/sources
#to connect to sources, and then just copy your file(s) to your
#directory. By the way, don't forget to create an INDEX file to
#describe your upload, so it will be auto-indexed.
#
#See also [Contrib] and [Contrib index]
#
#TIPS FOR CONTRIBUTING TO PLAN 9
#
#Find something you're interested in doing. If it's a big project, it
#is worth it mailing 9fans first, just to see if anyone else is
#already working on such a thing or knows why it hasn't already been
#done.
#
#Do it.
#
#Submit it via patch(1).
#
#The patch may well come back in the "sorry" category rather than the
#"applied" category, with suggestions on what should be changed to
#make it better and a request to resubmit it. This doesn't mean you
#should give up. It means you did a good job and the maintainers
#think it's worth trying to get you to make the job even better.
#Remember: you can't polish a turd.
#
#If the patch does get applied but you notice that the code has been
#edited and is not exactly what you submitted, the same comment still
#applies. Look at the diffs and understand why the changes were made.
#Remember: you can't polish a turd.
#
#CODING STYLE
#
#Plan 9 C code has its own conventions, documented in style(6). You
#would do well to follow them. Here are a few:
# * don't use // comments; some old Plan 9 code does, but we're
# converting it as we touch it. We do sometimes use // to comment-out
# a few lines of code.
# * avoid gotos.
# * no tabs expanded to spaces.
# * no white space before opening braces.
# * no white space after the word "if", "for", "while", etc.
# * no braces around single-line blocks (e.g., if, for, and while
# bodies).
# * integer-valued functions return -1 on error, 0 or positive on
# success.
# * functions that return errors should set errstr(2).
# * variable and function names are all lowercase, with no
# underscores.
# * enum or #defined constants should be Uppercase or UPPERCASE.
# * struct tags are Uppercase, with matching typedefs.
# * automatic variables (local variables inside a function) are never
# initialized at declaration.
# * follow the standard idioms: use x<0 not 0>x, etc.
#
#Ultimately, the goal is to write code that fits in with the other
#code around it and the system as a whole. If the file you are
#editing already deviates from these guidelines, do what it does.
#After you edit a file, a reader should not be able to tell just from
#coding style which parts you worked on.
#
#COMMENTS
#
#If your code is readable, you shouldn't need many comments. A line
#or two comment above a function explaining what it does is always
#welcome.
#
#Comment any code you find yourself wondering about for more than 2
#seconds, even if it's to say that you don't understand what's going
#on. Explain why.
#
#Don't use commenting as an excuse for writing confusing code.
#Rewrite the code to make it clear.
#
#EFFICIENCY
#
#Do the simple thing. Don't optimize unless you've measured the code
#and it is too slow. Fix the data structures and the algorithms
#instead of going for little 5% tunings.
#
#SEE ALSO
#
# * ["Notes on Programming in C" by Rob Pike |
# http://doc.cat-v.org/bell_labs/pikestyle], [pdf |
# http://www.literateprogramming.com/pikestyle.pdf])
# * [Notes on Programming Projects |
# http://swtch.com/~rsc/worknotes/] - by Russ Cox
# * [Program Design in the UNIX Environment by Rob Pike and Brian
# Kernighan | http://harmful.cat-v.org/cat-v/] (AKA "cat -v
# considered harmful")
# * [How to Use the Plan 9 C Compiler |
# http://doc.cat-v.org/plan_9/4th_edition/papers/comp] - Introduction
# to the Plan 9 developement environment, not only the compilers, but
# the libraries, build (mk(1)) and debugging (acid(1)) tools.
# * [The Practice of Programming |
# http://cm.bell-labs.com/cm/cs/tpop/index.html] by Brian W.
# Kernighan and Rob Pike. ISBN 0-201-61586-X.
#
|