Version 15 (modified by 9 years ago) (diff) | ,
---|
The BOINC development process
BOINC software development overview
BOINC is free software, distributed under the Lesser General Public License (LGPL), version 3 or later. The University of California holds the copyright on all BOINC source code. By submitting contributions to the BOINC code, you irrevocably assign all right, title, and interest, including copyright and all copyright rights, in such contributions to The Regents of the University of California, who may then use the code for any purpose that it desires.
- The BOINC development process
- Help wanted - programming
- Quality Assurance Workflow (under discussion)
- Help wanted - translation
- boinc_dev, an email list for BOINC developers
- Coding style
- Debugging the client on Windows
BOINC development is done by BOINC staff, by the staff of various BOINC-based projects, and by volunteer programmers. Development is divided into several areas. Each area is managed by an 'owner'.
Area | Owner | Key contributors |
API | David Anderson | Bruce Allen, Bernd Machenschalk |
BOINC Manager | Rom Walton | Charlie Fenton |
Client | David Anderson | John McLeod, Carl Christensen |
Mac OS X | Charlie Fenton | |
Testing and release management | Rom Walton | |
Server | David Anderson | Kevin Reed |
Translations of GUI and web text | Rom Walton | |
Unix build system | Reinhard Prix | Eric Korpela |
Web features | David Anderson | Rytis Slatkevicius, Janus Kristensen |
Windows installer and screensaver | Rom Walton |
The BOINC development, testing and release process is shown below. Ovals represent people, rectangles represent information channels. A, B, C, D and E represent the different BOINC development areas. 'Owner A' represents the person who owns area A, as shown above.
Participants
- Report bugs (or learn of workarounds) on the BOINC message boards.
- Learn of new releases on the BOINC web site.
- Note: we need ways of 'pushing' info to participants, e.g. via the Manager.
Area owners
- Reads the relevant BOINC message board on a regular basis. Decides if new bugs are present. Adds entries to the BOINC/Trac bug database.
- Monitors the relevant categories of the BOINC/Trac bug database. Manages entries (delete, merge, prioritize, assign).
Developers
- Are assigned tasks via BOINC/Trac.
Alpha testers
- The boinc_alpha email list is used to give instructions, and for discussion of tests and procedures.
- If bugs are found, log them in BOINC/Trac.
- Use web-based interface for submitting test summaries.
Release manager
- Decide when to create test releases; communicate with alpha testers via email list.
- Decide when to make public releases, based on web-based reports and on contents of BOINC/Trac.