Contributing to GNUstep core libraries
Contributing major work to the core
Generally, if you are contributing a major piece of code to the GNUstep code, it's an implementation on a new class from OSX. As Apple keep adding new APIs with every release of OSX, there is always work to do here.
Creating the header
This is not as simple as copying Apple's header file ... though looking at their documentation and header are a good starting point.
Implementing the class
The design/coding is probably the most fun bit
Implementing test cases
All new code in the core libraries needs corresponding test cases in the testsuite ... that makes sure that when anyone else tries to change the code, they see if they have broken anything.
Coding style
All headers, source files, and test cases should conform to the coding style standards of the GNUstep project. A consistent style is very important in a collaborative project where other people will want to read your code (and where you may want to read theirs).
Writing documentation
We need documentation of the new classes and how they work ... you can write descriptions of how they work as you are implementing features/methods.
Copyright Assignment
Boring legal details, but we have to go through them