====== The PHP Core Mentorship Program ======
===== Status of this wiki page =====
This PHP Core Mentorship wiki page is a work in progress. As developers and community members interested in the program voice their interests, this page will be modified to reflect the program's behaviour.
* Discuss: The level of mentorship required
* Discuss: Add more mentored "areas"
* Discuss: Code of conduct
===== Introduction =====
The general idea of the PHP Core Mentorship Program ("PCMP") is to create a channel between the rest of the world and the PHP internals where more experienced developers can transfer their knowledge and get a fresh perspectives from new developers that haven't approached the core before.
This concept is not a new idea in the world of open source as most internal developers and community members are aware or have been exposed to Google Summer of Code before. Python also has created the Python Core Mentorship Program which has the exact same intent as this program: Close the bridge between PHP communities and their language to create a win-win situation.
===== Mentorship =====
As obvious as it may seem, for such program to work, we require both mentors and mentees. This section of the document explains the *roles* associated to each.
==== Mentors ====
Before investigating further, we need to identify who would be willing to be a mentor for this program. Many "mentees" have already raised and showed their interests however only a few internal developers have shown any type of interest.
It is important for potential mentors to understand that we are not necessarily looking for the same degree of mentorship that GSOC provides — Unless the mentor is interested in doing that of course — but we are rather trying to achieve the following:
* Introducing new developers to the PHP and PECL processes;
* Answering questions of any complexity (There's no stupid question);
* Helping with code reviews and patches (See the "phpmentors"[https://github.com/phpmentors] organisation on Github)
If this is something you'd be interested in mentoring, please add yourselves to the grid below. Keep in mind that **Little** implies only a few hours per week, **Moderate** implies an hour or more every day and **Teacher** implies available all day.
* Little?
* Moderate?
* Teacher?
Also please enter which areas you would be interested in helping with:
* Zend Engine?
* SAPIs?
* PECL Extensions?
* Core Extensions?
* Windows support?
==== Mentees ====
Many communities from the PHP world have their own vibrant communities and rarely interact with the developers of the actual language they are using. The goal of this project is to initially gather at least 1 person from every project to be interested in the internals of the PHP language. If you are not part of a project but still interested in learning and contributing to the core of PHP, no problem, jump in.
By being more involved and writing patches both you/your project and PHP can benefit greatly. It helps improving the language which helps improving your code. The core of PHP is written in C, so minimal C understanding is a must. If you do not know C but would like to, please see the **References** section below to get started with C.
If you are interested in learning how the PHP Core works and how to either start with or extend your knowledge of the internals, please enter your email address in the following grid:
* Personal
* Member of a Project
If you decide to enter your information, we will automatically add you to the php-core-mentorship mailing list and inform you if and when it starts.
===== Code of Conduct =====
The project has suffered a few times in the past from disrespectful comments and this mentorship program aims at bringing a brand new injection of talent to the project while rejuvenating the interest of existing core developers therefore, the following code of conduct should be respected.
* Everyone should be patient and welcoming;
* There are no stupid questions;
* A response saying **RTFM** or **search the ML archives** is unacceptable;
* Statements made by core developers can be quoted outside of the list;
* Statements made by others can not be quoted outside of the list;
* No trolling, disrespectful, passive aggressive, egotistic, arrogant or derogatory comments will be tolerated;
* In any which event, the list administrators reserve the right to revoke the subscription of members (including mentors) that constantly and persistently abide the Code of Conduct; and
* Every mentor is a list administrator, unless a mentor has had his subscription revoked.
These are simple rules that are very important. The PHP community has been known for many years as a welcoming, tolerant and friendly community so we gladly welcome you, whomever you are, from whichever background you may be.
===== References =====
* Code of Conduct: The code of conduct uses similar clauses and is based of the pythonmentors.com code of conduct section.
* GitHub Mentorship Organisation: https://github.com/phpmentors
* PHPMentors Website: http://phpmentors.com
**Insert references for learning C, the Zend Engine and developing PECL extensions when I connect to the internet**
===== Document Updates =====
* 17-08-2011 12:49:00: Added references to the PHPmentors website and the GitHub organisation page
* 17-08-2011 12:49:00: Added references to the code of conduct of the Python Core Mentorship Program