Guidelines for Developers¶
Note: This page should only be edited by the coordination team (Ingmar, Benni, Olly, Ben). The latest version by any of them is considered to be the official version.
Requirements to you as the developer:
- You need to sign the TYPO3 Contributor License Agreement (CLA), and all code you produce will fall under that. The CLA also has consequences for your voluntary contributions to the TYPO3 project (don’t worry though, it’s basically the same as the Apache Foundation does and just serves as a way to secure the OpenSource nature of TYPO3 and make sure the TYPO3 Association can secure the rights under the OpenSource licenses in courts if necessary).
- You need to use GIT to work on your project, and need to push your work to the public GIT server at least once per full working day (6h) in which you worked on the project. We will provide you with a GIT repository you can work on. If you are not familar with GIT yet, we very much suggest reading the book “Pro GIT” by Scott Chacon, http://progit.org/book/. (For non-coding work like wireframing or writing concepts, you equally need to let us know somehow for each working day, by e.g. commiting your things to a version control repository known to us; write concepts to the relevant mailinglists (and notifying us to which one you plan to write), or write an email to the BLE project coordinators with your results.)
- On Forge, this is the BLE project, but the actual development projects worked on in the course of this project are placed wherever they belong: Core related projects are placed in the TYPO3v4 Incubator project (such as the Accessibility project or FAL).
- The forge project used for the overall BLE project is the Incubator, and all core-related subprojects under the BLE project will have their own subproject there.
- The shared GIT repository for all the BLE subprojects is located at git.typo3.org and is called Incubator.git. Each subproject will have its own branch project-XXX. The master branch should always contain a rather frequent clone of the TYPO3v4 core master. Another branch called “integration” will later be used to integrate the subprojects and see the overall BLE project’s result.
- The subprojects’ issue tracking will happen on its forge project (being a subproject to the BLE incubator).
- If you haven’t got your own subproject and GIT branch on Forge set up by us yet, please ask for one before you get started with coding to fulfill the requirement of pushing to GIT daily.
- While you develop, you should document the things you are programming. Especially what options are there to configure the functionality, how to extend it, etc. The documentation should be put to the Forge project wiki of your project. It is suggested that you also write unit-tests for the code you produce. For API code, it is required.
- Generally, we want an open spirit from the developers and willingness to go the extra mile in a project to make things really useful for TYPO3 overall and for more general use cases as might be the initial focus. Also, we would like frequent communication to happen, both via email and also in Skype meetings. We are also planning to do some things in real life sprints or have workshops at some offices to discuss and solve more complex issues.
As for payment:
- The work on the project is paid by the T3A houry rate of 50 EUR, calculated on the basis of a 6h day, which results in 300 EUR per day. Of course, the 6 hours seems like not a lot, but in the T3A way of counting the hours, that really means effective hours. It is calculated on the assumption that a developer does about 6 hours of effective work per day, which he can then charge with 50 EUR per hour.
- You need to do timetracking with YAST. Timetracking needs to be done with the online-tool YAST http://www.yast.com. We will buy a premium subscription of yast for you for the duration of the project, so that you can track your time on the shared projects within the BLE project. (Let us know if you want to start tracking time and haven’t received your yast login credentials yet!)
- Generally, we would tell you what your “budget” of working time is which we could pay you for. If you exceed that time budget we told you initially, it is very important that you make us aware of that and only continue working if you get our acceptance to continue.
- Invoices should be sent in the beginning of the month following the work you did and be addressed to:
Somewhere on the invoice, the following project code needs to be placed:
Project Development # 8031